]> gerrit.simantics Code Review - simantics/interop.git/blobdiff - org.simantics.xml.sax/src/org/simantics/xml/sax/JavaGenerator.java
Handling ComplexTypes inheriting AtomicType
[simantics/interop.git] / org.simantics.xml.sax / src / org / simantics / xml / sax / JavaGenerator.java
index 887bd1ec34e3611ccb0d715eaa6fba71d1abc7b2..bf52b9bac6889e608746176e9e14edbb316f92d7 100644 (file)
@@ -65,11 +65,11 @@ public abstract class JavaGenerator extends SchemaConversionBase{
                return binding.getValueGetter();\r
        }\r
        \r
-       public static String getComplexTypePrefix() {\r
+       public String getComplexTypePrefix() {\r
                return "ComplexTypes_";\r
        }       \r
        \r
-       public static String getAttributeGroupPrefix() {\r
+       public String getAttributeGroupPrefix() {\r
                return "AttributeGroups_";\r
        }\r
                \r
@@ -122,7 +122,7 @@ public abstract class JavaGenerator extends SchemaConversionBase{
        }\r
        \r
        \r
-       public static String getName(SchemaObject obj) {\r
+       public String getName(SchemaObject obj) {\r
                if (obj.getParent() == null) {\r
                        switch (obj.getType()) {\r
                        case COMPLEX_TYPE:\r
@@ -162,7 +162,7 @@ public abstract class JavaGenerator extends SchemaConversionBase{
                \r
        }\r
        \r
-       public static String getName(SchemaObject obj, String rel) {\r
+       public String getName(SchemaObject obj, String rel) {\r
                if (obj.getParent() == null) {\r
                        switch (obj.getType()) {\r
                        case COMPLEX_TYPE:\r
@@ -199,18 +199,7 @@ public abstract class JavaGenerator extends SchemaConversionBase{
                throw new RuntimeException();\r
        }\r
        \r
-       protected enum InheritanceType{ComplexType,AtomicType,None};\r
        \r
-       protected class Inheritance {\r
-               public String baseClass;\r
-               public InheritanceType type;\r
-               public TypeEntry atomicType;\r
-               \r
-               public Inheritance(String baseClass) {\r
-                       this.baseClass = baseClass;\r
-                       this.type = InheritanceType.None;\r
-               }\r
-       }\r
        \r
        protected void writeClass(PrintWriter writer,boolean abst, String elementId, String className, String baseClass, List<String> interfaces) {\r
                writer.println("@SuppressWarnings(\"unused\")");\r
@@ -235,63 +224,8 @@ public abstract class JavaGenerator extends SchemaConversionBase{
                writer.println();\r
        }\r
        \r
-       protected abstract String getBaseClass();\r
        \r
-       protected Inheritance getElementInheritance(SchemaObject topLevelElementObj) {\r
-               Element topLevelElement = topLevelElementObj.getElement();\r
-               Inheritance inheritance = new Inheritance(getBaseClass());\r
-               if (topLevelElement.getType() != null) {\r
-                       QName type = topLevelElement.getType();\r
-                       if (!type.getNamespaceURI().equals(SCHEMA_NS)) {\r
-                               SchemaObject obj = complexTypeName.get(type.getLocalPart());\r
-//                             if (obj == null)\r
-//                                     obj = simpleTypeName.get(type.getLocalPart());\r
-                               if (obj != null) {\r
-                                       inheritance.baseClass = getName(obj);\r
-                                       inheritance.type = InheritanceType.ComplexType;\r
-                               }\r
-                       } else {\r
-                               TypeEntry entry = getTypeEntry(type);\r
-                               if (entry != null) {\r
-                                       inheritance.type = InheritanceType.AtomicType;\r
-                                       inheritance.atomicType = entry;\r
-                               }\r
-                       }\r
-               }\r
-               if (inheritance.type == InheritanceType.None) {\r
-                       QName type = getElementBase(topLevelElement);\r
-                       if (type != null) {\r
-                               if (!type.getNamespaceURI().equals(SCHEMA_NS)) {\r
-                                       SchemaObject obj = getWithName(topLevelElementObj, type.getLocalPart());\r
-                                       inheritance.baseClass = getName(obj);\r
-                                       inheritance.type = InheritanceType.ComplexType;\r
-                               } else {\r
-                                       TypeEntry entry = getTypeEntry(type);\r
-                                       if (entry != null) {\r
-                                               inheritance.type = InheritanceType.AtomicType;\r
-                                               inheritance.atomicType = entry;\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-               if (inheritance.type == InheritanceType.None) {\r
-                       QName type = topLevelElement.getSubstitutionGroup();\r
-                       if (type != null) {\r
-                               if (!type.getNamespaceURI().equals(SCHEMA_NS)) {\r
-                                       SchemaObject obj = getWithName(topLevelElementObj, type.getLocalPart());\r
-                                       inheritance.baseClass = getName(obj);\r
-                                       inheritance.type = InheritanceType.ComplexType;\r
-                               } else {\r
-                                       TypeEntry entry = getTypeEntry(type);\r
-                                       if (entry != null) {\r
-                                               inheritance.type = InheritanceType.AtomicType;\r
-                                               inheritance.atomicType = entry;\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-               \r
-               return inheritance;\r
-       }       \r
+       \r
+\r
 \r
 }\r