X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.interop.update%2Fsrc%2Forg%2Fsimantics%2Finterop%2Fupdate%2Fmodel%2FUpdateOperations.java;fp=org.simantics.interop.update%2Fsrc%2Forg%2Fsimantics%2Finterop%2Fupdate%2Fmodel%2FUpdateOperations.java;h=825ccf1b252ccf59c523e070cbb089d3d0120154;hb=b2bf3445afe9519017f07e41da3c6bc2bccedc6f;hp=0c1882c3fbcc38b6c7eadaeb5b88fa0f65ff146b;hpb=1b3fe1c5f30f4c373cd55df131d3774fe33150ab;p=simantics%2Finterop.git diff --git a/org.simantics.interop.update/src/org/simantics/interop/update/model/UpdateOperations.java b/org.simantics.interop.update/src/org/simantics/interop/update/model/UpdateOperations.java index 0c1882c..825ccf1 100644 --- a/org.simantics.interop.update/src/org/simantics/interop/update/model/UpdateOperations.java +++ b/org.simantics.interop.update/src/org/simantics/interop/update/model/UpdateOperations.java @@ -8,8 +8,10 @@ import java.util.Stack; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; +import org.simantics.db.Session; import org.simantics.db.Statement; import org.simantics.db.WriteGraph; +import org.simantics.db.common.request.ReadRequest; import org.simantics.db.exception.DatabaseException; import org.simantics.interop.test.GraphChanges; @@ -128,6 +130,21 @@ public abstract class UpdateOperations { public abstract void populate(ReadGraph g) throws DatabaseException; + /** + * Secondary populate method. Override this for chunked DB operations. + * @param session + * @throws DatabaseException + */ + public void populate(Session session) throws DatabaseException { + session.syncRequest(new ReadRequest() { + + @Override + public void run(ReadGraph graph) throws DatabaseException { + populate(graph); + } + }); + } + protected boolean compares(Resource r1, Resource r2) { if (r1.equals(r2)) return true;