1 10 package org.mmbase.util.xml; 11 12 import java.util.*; 13 import org.w3c.dom.Document ; 14 import org.w3c.dom.Element ; 15 import org.xml.sax.InputSource ; 16 17 import org.mmbase.util.XMLEntityResolver; 18 19 26 public class ModuleReader extends DocumentReader { 27 28 29 public static final String PUBLIC_ID_MODULE_1_0 = "-//MMBase//DTD module config 1.0//EN"; 30 private static final String PUBLIC_ID_MODULE_1_0_FAULT = "-//MMBase/DTD module config 1.0//EN"; 31 private static final String PUBLIC_ID_MODULE_1_0_FAULT2 = "-//MMBase/ DTD module config 1.0//EN"; 32 33 public static final String PUBLIC_ID_MODULE = PUBLIC_ID_MODULE_1_0; 34 35 36 public static final String DTD_MODULE_1_0 = "module_1_0.dtd"; 37 38 public static final String DTD_MODULE = DTD_MODULE_1_0; 39 40 45 public static void registerPublicIDs() { 46 XMLEntityResolver.registerPublicID(PUBLIC_ID_MODULE_1_0, DTD_MODULE_1_0, ModuleReader.class); 47 XMLEntityResolver.registerPublicID(PUBLIC_ID_MODULE_1_0_FAULT, DTD_MODULE_1_0, ModuleReader.class); 49 XMLEntityResolver.registerPublicID(PUBLIC_ID_MODULE_1_0_FAULT2, DTD_MODULE_1_0, ModuleReader.class); 50 } 51 52 public ModuleReader(InputSource is) { 53 super(is, ModuleReader.class); 54 } 55 56 59 public ModuleReader(Document doc) { 60 super(doc); 61 } 62 63 66 public String getStatus() { 67 Element e = getElementByPath("module.status"); 68 String s = getElementValue(e); 69 return s.equals("") ? "active" : s; 70 } 71 72 75 public int getVersion() { 76 Element e = getElementByPath("module"); 77 String version = getElementAttributeValue(e, "version"); 78 int n = 0; 79 if (version == null) { 80 return n; 81 } else { 82 try { 83 n = Integer.parseInt(version); 84 } catch (Exception f) { 85 n = 0; 86 } 87 return n; 88 } 89 } 90 91 94 public String getMaintainer() { 95 Element e = getElementByPath("module"); 96 String tmp = getElementAttributeValue(e, "maintainer"); 97 if (tmp != null && !tmp.equals("")) { 98 return tmp; 99 } else { 100 return "mmbase.org"; 101 } 102 } 103 104 107 public String getClassName() { 108 Element e = getElementByPath("module.class"); 109 if (e != null) return getElementValue(e); 110 e = getElementByPath("module.classfile"); 112 return getElementValue(e); 113 114 } 115 116 120 public String getURLString(){ 121 Element e = getElementByPath("module.url"); 122 if (e != null){ 123 return getElementValue(e); 124 } 125 return null; 126 } 127 128 131 public Map getProperties() { 132 Map map = new LinkedHashMap(); 133 Element e = getElementByPath("module.properties"); 134 if (e != null) { 135 for (Iterator iter = getChildElements(e, "property"); iter.hasNext();) { 136 Element p = (Element ) iter.next(); 137 String name = getElementAttributeValue(p, "name"); 138 String value = getElementValue(p); 139 map.put(name, value); 140 } 141 } 142 return map; 143 } 144 145 } 146 | Popular Tags |