]> gerrit.simantics Code Review - simantics/interop.git/blobdiff - org.simantics.xml.sax.base/src/org/simantics/xml/sax/base/AbstractImporter.java
Switch to delayed write for more performance.
[simantics/interop.git] / org.simantics.xml.sax.base / src / org / simantics / xml / sax / base / AbstractImporter.java
index f47dd9395c90e2338236fb0508ac9572a856327c..34936318f3cec738e3fe8b58a7efac3bd3de8065 100644 (file)
@@ -9,6 +9,7 @@ import org.simantics.db.common.request.DelayedWriteRequest;
 import org.simantics.db.common.request.WriteRequest;\r
 import org.simantics.db.exception.DatabaseException;\r
 import org.simantics.db.layer0.util.Layer0Utils;\r
+import org.simantics.db.service.XSupport;\r
 import org.simantics.message.ILogger;\r
 import org.simantics.message.MessageService;\r
 \r
@@ -21,7 +22,7 @@ public abstract class AbstractImporter {
        private ILogger logger;\r
        private XMLParser parser;\r
        \r
-       private static final boolean USE_DELAYED = false;\r
+       private static final boolean USE_DELAYED = true;\r
        \r
        public AbstractImporter(Session session, File file)  {\r
                this.session = session;\r
@@ -42,7 +43,10 @@ public abstract class AbstractImporter {
                if (USE_DELAYED) {\r
                        ImportDelayedRequest req = new ImportDelayedRequest();\r
                        session.syncRequest(req);\r
-                       return req.getResult();\r
+                       Resource dr = req.getResult();\r
+                       XSupport xs = session.getService(XSupport.class);\r
+                       Resource result = xs.convertDelayedResourceToResource(dr);\r
+                       return result;\r
                } else {\r
                        ImportRequest req = new ImportRequest();\r
                        session.syncRequest(req);\r