]> gerrit.simantics Code Review - simantics/interop.git/blobdiff - org.simantics.xml.sax.base/src/org/simantics/xml/sax/base/XMLElementNamedChildParserBase.java
Handle multi-namespace XML files.
[simantics/interop.git] / org.simantics.xml.sax.base / src / org / simantics / xml / sax / base / XMLElementNamedChildParserBase.java
index f1bbdf3f0b0effc34c784b41aad8b1e0977c9bbe..af1853d366bba7c1ffd3d2a00b736d7825119bc6 100644 (file)
@@ -1,62 +1,62 @@
-package org.simantics.xml.sax.base;\r
-\r
-import java.util.HashMap;\r
-import java.util.HashSet;\r
-import java.util.Map;\r
-import java.util.Set;\r
-\r
-import org.simantics.db.WriteGraph;\r
-import org.simantics.db.exception.DatabaseException;\r
-\r
-public abstract class XMLElementNamedChildParserBase implements XMLElementNamedChildParser{\r
-       \r
-       private Map<String,Class<? extends XMLElementParser>> namedParsers = new HashMap<String, Class<? extends XMLElementParser>>();\r
-       private Set<Class<? extends XMLElementParser>> parsers = new HashSet<Class<? extends XMLElementParser>>();\r
-       \r
-       @Override\r
-       public Class<? extends XMLElementParser> getParser(Map<String, XMLElementParser> parsers, ParserElement element, ParserElement child) {\r
-               Class<? extends XMLElementParser> parserClass =  namedParsers.get(child.qName);\r
-               if (parserClass != null)\r
-                       return parserClass;\r
-               XMLElementParser parser = parsers.get(child.qName);\r
-               if (parser == null)\r
-                       return null;\r
-               parserClass = parser.getClass();\r
-               if (this.parsers.contains(parserClass))\r
-                       return parserClass;\r
-               for (Class<?> c : this.parsers)\r
-                       if (c.isAssignableFrom(parserClass))\r
-                               return parserClass;\r
-               return null;\r
-       }\r
-       \r
-       public void addParser(String name, Class<? extends XMLElementParser> parser) {\r
-               namedParsers.put(name, parser);\r
-       }\r
-       \r
-       public void addParser(Class<? extends XMLElementParser> parser) {\r
-               parsers.add(parser);\r
-       }\r
-       \r
-//     @Override\r
-//     public void configureChild(WriteGraph graph, Stack<Element> parents, Element element, Element child) throws DatabaseException {\r
-//\r
-//     }\r
-       \r
-       @Override\r
-       public void configure(WriteGraph graph, ParserElement element, String string) throws DatabaseException {\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public String getID() {\r
-               return null;\r
-       }\r
-       \r
-       @Override\r
-       public int idPriority() {\r
-               return 0;\r
-       }\r
-       \r
-\r
-}\r
+package org.simantics.xml.sax.base;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.simantics.db.WriteGraph;
+import org.simantics.db.exception.DatabaseException;
+
+public abstract class XMLElementNamedChildParserBase implements XMLElementNamedChildParser{
+       
+       private Map<String,Class<? extends XMLElementParser>> namedParsers = new HashMap<String, Class<? extends XMLElementParser>>();
+       private Set<Class<? extends XMLElementParser>> parsers = new HashSet<Class<? extends XMLElementParser>>();
+       
+       @Override
+       public Class<? extends XMLElementParser> getParser(Map<String, XMLElementParser> parsers, ParserElement element, ParserElement child) {
+               Class<? extends XMLElementParser> parserClass =  namedParsers.get(child.getLocalName());
+               if (parserClass != null)
+                       return parserClass;
+               XMLElementParser parser = parsers.get(child.getLocalName());
+               if (parser == null)
+                       return null;
+               parserClass = parser.getClass();
+               if (this.parsers.contains(parserClass))
+                       return parserClass;
+               for (Class<?> c : this.parsers)
+                       if (c.isAssignableFrom(parserClass))
+                               return parserClass;
+               return null;
+       }
+       
+       public void addParser(String name, Class<? extends XMLElementParser> parser) {
+               namedParsers.put(name, parser);
+       }
+       
+       public void addParser(Class<? extends XMLElementParser> parser) {
+               parsers.add(parser);
+       }
+       
+//     @Override
+//     public void configureChild(WriteGraph graph, Stack<Element> parents, Element element, Element child) throws DatabaseException {
+//
+//     }
+       
+       @Override
+       public void configure(WriteGraph graph, ParserElement element, String string) throws DatabaseException {
+               
+       }
+       
+       @Override
+       public String getID() {
+               return null;
+       }
+       
+       @Override
+       public int idPriority() {
+               return 0;
+       }
+       
+
+}