--- /dev/null
+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