import javax.xml.namespace.QName;\r
\r
import org.simantics.utils.datastructures.BijectionMap;\r
-import org.simantics.xml.sax.SchemaConversionBase.RefType;\r
import org.simantics.xml.sax.configuration.AttributeComposition;\r
import org.simantics.xml.sax.configuration.Configuration;\r
import org.simantics.xml.sax.configuration.IDProvider;\r
import org.w3._2001.xmlschema.LocalComplexType;\r
import org.w3._2001.xmlschema.LocalSimpleType;\r
import org.w3._2001.xmlschema.NamedAttributeGroup;\r
-import org.w3._2001.xmlschema.OpenAttrs;\r
import org.w3._2001.xmlschema.Restriction;\r
import org.w3._2001.xmlschema.Schema;\r
import org.w3._2001.xmlschema.SimpleType;\r
\r
\r
\r
- public void createParser(Schema schema,String className, SchemaConverter converter) throws IOException {\r
+ public void createParser(Schema schema,String ontologyUri, String className, SchemaConverter converter) throws IOException {\r
this.schema = schema;\r
this.ontologyClassName = className;\r
this.converter = converter;\r
mainWriter.println(" public " + name + parserClassPostfix+"(Session session) throws DatabaseException {");\r
if (schema.getTargetNamespace() != null)\r
mainWriter.println(" setSchemaURI(\""+schema.getTargetNamespace()+"\");");\r
+ mainWriter.println(" setOntologyURI(\""+ontologyUri+"\");");\r
mainWriter.println(" session.syncRequest(new ReadRequest() {");\r
mainWriter.println(" @Override");\r
mainWriter.println(" public void run(ReadGraph graph) throws DatabaseException {");\r
return "org.simantics.xml.sax.base.XMLElementNamedChildWriterBase";\r
}\r
\r
+ @Override\r
+ protected void handleSimpleType(SchemaObject parent, SchemaObject simpleTypeObj) {\r
+ }\r
\r
@Override\r
protected void handleComplexType(SchemaObject complexTypeObj) {\r
ComplexType topLevelComplexType = complexTypeObj.getComplexType();\r
\r
- String name = getName(complexTypeObj);//topLevelComplexType.getName();\r
+ String name = getName(complexTypeObj);\r
\r
String className = name;//"_"+name;\r
\r
throw new RuntimeException(e);\r
}\r
writers.put(complexTypeObj, fw);\r
- \r
- boolean isList = false;\r
\r
- String baseClass = "org.simantics.xml.sax.base.XMLElementNamedChildWriterBase";\r
+ String baseClass = getBaseClass();\r
\r
boolean inherited = false;\r
\r
QName type = getComplexTypeBase(topLevelComplexType);\r
if (type != null && !type.getNamespaceURI().equals("http://www.w3.org/2001/XMLSchema")) {\r
- baseClass = getName(complexTypeName.get(type.getLocalPart()));\r
- inherited = true;\r
+ SchemaObject obj = complexTypeName.get(type.getLocalPart());\r
+// if (obj == null)\r
+// obj = simpleTypeName.get(type.getLocalPart());\r
+ if (obj != null) {\r
+ baseClass = getName(obj);\r
+ inherited = true;\r
+ }\r
}\r
\r
provider = getIDProvider(topLevelComplexType);\r
- List<IDReference> references = getIDReferences(topLevelComplexType);\r
- UnrecognizedChildElement unknownChildElement = getUnknown(topLevelComplexType);\r
+// List<IDReference> references = getIDReferences(topLevelComplexType);\r
+// UnrecognizedChildElement unknownChildElement = getUnknown(topLevelComplexType);\r
\r
// List<String> intrerfaces = new ArrayList<String>();\r
// if (references.size() > 0)\r
// intrerfaces.add("org.simantics.xml.sax.base.UnrecognizedElementParser");\r
\r
createClassHeader(fw.writer);\r
- writeClass(fw.writer,false, null, className, baseClass, Collections.EMPTY_LIST);\r
+ writeClass(fw.writer,false, topLevelComplexType.getName(), className, baseClass, Collections.EMPTY_LIST);\r
\r
// writeIDProvider(fw.writer);\r
\r
}\r
\r
\r
- @Override\r
- protected void handleSimpleType(SchemaObject parent, SchemaObject simpleType) {\r
-\r
- }\r
+ \r
\r
\r
\r