]> gerrit.simantics Code Review - simantics/interop.git/blobdiff - org.simantics.xml.sax/src/org/simantics/xml/sax/ExporterGenerator.java
Several updates to interoperability.
[simantics/interop.git] / org.simantics.xml.sax / src / org / simantics / xml / sax / ExporterGenerator.java
index dc82a9fdf16542e8923d156deb42e0f539268d80..121a6352b8e73401ad894c00b90add2e29083c7d 100644 (file)
@@ -337,17 +337,21 @@ public class ExporterGenerator extends JavaGenerator{
        }\r
        \r
        @Override\r
-       protected void createPrimitiveIndicator(SchemaObject parent, String refName, String binding) {\r
+       protected void createPrimitiveIndicator(SchemaObject parent, String refName, TypeEntry typeEntry, QName typeName) {\r
                FileWriter fw = getWriter(parent);\r
-               //SchemaObject refElement = elementName.get(refType.getLocalPart());\r
-               //writer.println(commentTag+ontShort+"."+parent+".has"+ref + " <R " +  ontShort+".hasElement");\r
-               fw.writer.println("        addRelationWriter("+ ontShort +getName(parent) + "_has"+refName+", "+getName(parent) +"_" +refName+".class);");\r
+               String ontologyClassName = converter.getOntologyClassName(typeName.getNamespaceURI());\r
+               String typeURI = ontologyClassName != null ? ontologyClassName + ".URIs." + getName(base.getSimpleType(typeName)) : "null";\r
+               \r
+               fw.writer.println("      addRelationWriter("+ ontShort +getName(parent) + "_has"+refName+", "+getName(parent) +"_" +refName+".class);");\r
                \r
                fw.delayedWriter2.println("   public static class " + getName(parent) +"_" +refName+" extends org.simantics.xml.sax.base.ValueElementWriter {");\r
                fw.delayedWriter2.println("      public "+ getName(parent) +"_" +refName +"(){");\r
-               //fw.delayedWriter2.println("           super(\""+ref+"\"," +this.ontologyClassName+".URIs."+getName(parent) + "_has"+ref+", "+binding+");");\r
-               fw.delayedWriter2.println("           super(\""+refName+"\",null, "+binding+");");\r
-               fw.delayedWriter2.println("       }");\r
+               fw.delayedWriter2.println("         super(\""+refName+"\", " + typeURI + ", " + typeEntry.binding+");");\r
+               fw.delayedWriter2.println("      }\n");\r
+               fw.delayedWriter2.println("      @Override");\r
+               fw.delayedWriter2.println("      public String decode(Object value) {");\r
+               fw.delayedWriter2.println("         return " + typeEntry.stringPrefix + "(" + typeEntry.javaType + ")value" + typeEntry.stringPostfix + ";");\r
+               fw.delayedWriter2.println("      }");\r
                fw.delayedWriter2.println("   }");\r
        }\r
        \r