1 10 package org.mmbase.module.gui.flash; 11 12 import java.io.CharArrayReader ; 13 import java.util.*; 14 15 import org.mmbase.util.XMLBasicReader; 16 import org.mmbase.util.logging.*; 17 import org.w3c.dom.*; 18 import org.xml.sax.InputSource ; 19 20 24 25 public class XMLDynamicFlashReader { 26 27 private static final Logger log = Logging.getLoggerInstance(XMLDynamicFlashReader.class); 28 29 Document document; 30 31 public XMLDynamicFlashReader(String filename) { 32 try { 33 document = XMLBasicReader.getDocumentBuilder(false).parse(new java.io.File (filename)); 34 35 } catch (Exception e) { 36 log.error(Logging.stackTrace(e)); 37 } 38 } 39 40 public XMLDynamicFlashReader(CharArrayReader reader) { 41 try { 42 document = XMLBasicReader.getDocumentBuilder(false).parse(new InputSource (reader)); 43 } catch (Exception e) { 44 log.error(Logging.stackTrace(e)); 45 } 46 } 47 48 51 public String getSrcName() { 52 Node n1 = document.getFirstChild(); 53 if (n1 != null) { 54 NamedNodeMap nm = n1.getAttributes(); 55 if (nm != null) { 56 Node n2 = nm.getNamedItem("src"); 57 String name = n2.getNodeValue(); 58 return (name); 59 } 60 } 61 return (null); 62 } 63 64 67 public String getCaching() { 68 Node n1 = document.getFirstChild(); 69 if (n1 != null) { 70 NamedNodeMap nm = n1.getAttributes(); 71 if (nm != null) { 72 Node n2 = nm.getNamedItem("caching"); 73 if (n2 == null) 74 return (null); 75 String name = n2.getNodeValue(); 76 return (name); 77 } 78 } 79 return (null); 80 } 81 82 85 public String getParser() { 86 Node n1 = document.getFirstChild(); 87 if (n1 != null) { 88 NamedNodeMap nm = n1.getAttributes(); 89 if (nm != null) { 90 Node n2 = nm.getNamedItem("parser"); 91 String parser = n2.getNodeValue(); 92 return (parser); 93 } 94 } 95 return (null); 96 } 97 98 100 public Vector getReplaces() { 101 Vector results = new Vector(); 102 Node n1 = document.getFirstChild(); 103 if (n1 != null) { 104 Node n2 = n1.getFirstChild(); 105 while (n2 != null) { 106 if (n2.getNodeName().equals("replace")) { 107 Hashtable rep = new Hashtable(); 108 109 NamedNodeMap nm = n2.getAttributes(); 111 if (nm != null) { 112 Node n3 = nm.getNamedItem("type"); 113 if (n3 != null) { 114 String val = n3.getNodeValue(); 115 rep.put("type", val); 116 } 117 n3 = nm.getNamedItem("id"); 118 if (n3 != null) { 119 String val = n3.getNodeValue(); 120 rep.put("id", val); 121 } 122 123 } 124 125 Node n3 = n2.getFirstChild(); 126 while (n3 != null) { 127 128 if (n3.getNodeName().equals("font")) { 130 nm = n3.getAttributes(); 131 if (nm != null) { 132 Node n5 = nm.getNamedItem("type"); 133 if (n5 != null) 134 rep.put("fonttype", n5.getNodeValue()); 135 n5 = nm.getNamedItem("size"); 136 if (n5 != null) 137 rep.put("fontsize", n5.getNodeValue()); 138 n5 = nm.getNamedItem("kerning"); 139 if (n5 != null) 140 rep.put("fontkerning", n5.getNodeValue()); 141 n5 = nm.getNamedItem("color"); 142 if (n5 != null) 143 rep.put("fontcolor", n5.getNodeValue()); 144 } 145 } 146 else if (n3.getNodeName().equals("string")) { 148 Node n5 = n3.getFirstChild(); 149 if (n5 != null) 150 rep.put("string", n5.getNodeValue()); 151 nm = n3.getAttributes(); 152 if (nm != null) { 153 n5 = nm.getNamedItem("file"); 154 if (n5 != null) 155 rep.put("stringfile", n5.getNodeValue()); 156 } 157 } 158 n3 = n3.getNextSibling(); 159 } 160 161 results.addElement(rep); 162 } 163 n2 = n2.getNextSibling(); 164 } 165 } 166 return (results); 167 } 168 169 171 public Vector getDefines() { 172 Vector results = new Vector(); 173 Node n1 = document.getFirstChild(); 174 if (n1 != null) { 175 Node n2 = n1.getFirstChild(); 176 while (n2 != null) { 177 if (n2.getNodeName().equals("define")) { 178 Hashtable rep = new Hashtable(); 179 180 NamedNodeMap nm = n2.getAttributes(); 182 if (nm != null) { 183 Node n3 = nm.getNamedItem("type"); 184 if (n3 != null) { 185 rep.put("type", n3.getNodeValue()); 186 } 187 n3 = nm.getNamedItem("id"); 188 if (n3 != null) { 189 rep.put("id", n3.getNodeValue()); 190 } 191 192 n3 = nm.getNamedItem("width"); 193 if (n3 != null) { 194 rep.put("width", n3.getNodeValue()); 195 } 196 197 n3 = nm.getNamedItem("height"); 198 if (n3 != null) { 199 rep.put("height", n3.getNodeValue()); 200 } 201 202 n3 = nm.getNamedItem("src"); 203 if (n3 != null) { 204 rep.put("src", n3.getNodeValue()); 205 } 206 207 n3 = nm.getNamedItem("value"); 208 if (n3 != null) { 209 rep.put("value", n3.getNodeValue()); 210 } 211 n3 = nm.getNamedItem("file"); 212 if (n3 != null) { 213 rep.put("valuefile", n3.getNodeValue()); 214 } 215 216 } 217 218 results.addElement(rep); 219 } 220 n2 = n2.getNextSibling(); 221 } 222 } 223 return (results); 224 } 225 226 } 227 | Popular Tags |