]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.procore/src/fi/vtt/simantics/procore/internal/TransferableGraphSupportImpl.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.db.procore / src / fi / vtt / simantics / procore / internal / TransferableGraphSupportImpl.java
diff --git a/bundles/org.simantics.db.procore/src/fi/vtt/simantics/procore/internal/TransferableGraphSupportImpl.java b/bundles/org.simantics.db.procore/src/fi/vtt/simantics/procore/internal/TransferableGraphSupportImpl.java
new file mode 100644 (file)
index 0000000..337abcc
--- /dev/null
@@ -0,0 +1,51 @@
+package fi.vtt.simantics.procore.internal;\r
+\r
+import java.io.InputStream;\r
+\r
+import org.simantics.db.ReadGraph;\r
+import org.simantics.db.Resource;\r
+import org.simantics.db.VirtualGraph;\r
+import org.simantics.db.WriteOnlyGraph;\r
+import org.simantics.db.exception.DatabaseException;\r
+import org.simantics.db.impl.graph.WriteGraphImpl;\r
+import org.simantics.db.service.ByteReader;\r
+import org.simantics.db.service.TransferableGraphSupport;\r
+\r
+public class TransferableGraphSupportImpl implements TransferableGraphSupport {\r
+       \r
+       final private SessionImplSocket session;\r
+       \r
+       TransferableGraphSupportImpl(SessionImplSocket session) {\r
+               this.session = session;\r
+       }\r
+\r
+       @Override\r
+       public InputStream getValueStream(ReadGraph graph, Resource resource) {\r
+        return session.getValueStream(null, resource);\r
+       }\r
+       \r
+       @Override\r
+       public byte[] getValue(ReadGraph graph, Resource resource) {\r
+               return session.getValue(null, resource);\r
+       }\r
+       \r
+       @Override\r
+       public void setValue(WriteOnlyGraph graph, Resource resource, VirtualGraph provider, byte[] raw) throws DatabaseException {\r
+               \r
+           WriteGraphImpl impl = (WriteGraphImpl)graph;\r
+           VirtualGraph vg = session.getProvider(provider);\r
+           impl.writeSupport.claimValue(vg, resource, raw);\r
+               \r
+       }\r
+       \r
+       @Override\r
+       public void setValue(WriteOnlyGraph graph, Resource resource, VirtualGraph provider, ByteReader reader, int amount)\r
+               throws DatabaseException {\r
+           \r
+        WriteGraphImpl impl = (WriteGraphImpl)graph;\r
+        VirtualGraph vg = session.getProvider(provider);\r
+        impl.writeSupport.claimValue(vg, resource, reader, amount);\r
+           \r
+       }\r
+\r
+}\r