1 package fi.vtt.simantics.procore.internal;
3 import java.io.InputStream;
5 import org.simantics.db.ReadGraph;
6 import org.simantics.db.Resource;
7 import org.simantics.db.VirtualGraph;
8 import org.simantics.db.WriteOnlyGraph;
9 import org.simantics.db.exception.DatabaseException;
10 import org.simantics.db.impl.graph.WriteGraphImpl;
11 import org.simantics.db.service.ByteReader;
12 import org.simantics.db.service.TransferableGraphSupport;
14 public class TransferableGraphSupportImpl implements TransferableGraphSupport {
16 final private SessionImplSocket session;
18 TransferableGraphSupportImpl(SessionImplSocket session) {
19 this.session = session;
23 public InputStream getValueStream(ReadGraph graph, Resource resource) {
24 return session.getValueStream(null, resource);
28 public byte[] getValue(ReadGraph graph, Resource resource) {
29 return session.getValue(null, resource);
33 public void setValue(WriteOnlyGraph graph, Resource resource, VirtualGraph provider, byte[] raw) throws DatabaseException {
35 WriteGraphImpl impl = (WriteGraphImpl)graph;
36 VirtualGraph vg = session.getProvider(provider);
37 impl.writeSupport.claimValue(vg, resource, raw);
42 public void setValue(WriteOnlyGraph graph, Resource resource, VirtualGraph provider, ByteReader reader, int amount)
43 throws DatabaseException {
45 WriteGraphImpl impl = (WriteGraphImpl)graph;
46 VirtualGraph vg = session.getProvider(provider);
47 impl.writeSupport.claimValue(vg, resource, reader, amount);