X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.db.procore%2Fsrc%2Ffi%2Fvtt%2Fsimantics%2Fprocore%2Finternal%2FSerialisationSupportImpl.java;h=e0e871bb9ad154ae3a6ba93a274b3c86dd9e319b;hp=b6a6e20703f0bd6d3525a89937918bd9bc4c659e;hb=c26409b1caf2f1e560d37c5befd11b442399c3fe;hpb=969bd23cab98a79ca9101af33334000879fb60c5 diff --git a/bundles/org.simantics.db.procore/src/fi/vtt/simantics/procore/internal/SerialisationSupportImpl.java b/bundles/org.simantics.db.procore/src/fi/vtt/simantics/procore/internal/SerialisationSupportImpl.java index b6a6e2070..e0e871bb9 100644 --- a/bundles/org.simantics.db.procore/src/fi/vtt/simantics/procore/internal/SerialisationSupportImpl.java +++ b/bundles/org.simantics.db.procore/src/fi/vtt/simantics/procore/internal/SerialisationSupportImpl.java @@ -1,83 +1,83 @@ -package fi.vtt.simantics.procore.internal; - -import org.simantics.db.Resource; -import org.simantics.db.ResourceSerializer; -import org.simantics.db.common.utils.Logger; -import org.simantics.db.exception.DatabaseException; -import org.simantics.db.impl.ClusterI; -import org.simantics.db.impl.ResourceImpl; -import org.simantics.db.procore.cluster.ClusterImpl; -import org.simantics.db.procore.cluster.ClusterTraits; -import org.simantics.db.service.ResourceUID; -import org.simantics.db.service.SerialisationSupport; - -import fi.vtt.simantics.procore.internal.SessionImplSocket.ResourceSerializerImpl; - -public class SerialisationSupportImpl implements SerialisationSupport { - - final private SessionImplSocket session; - final private ResourceSerializerImpl serializer; - - SerialisationSupportImpl(SessionImplSocket session) { - this.session = session; - this.serializer = session.resourceSerializer; - } - - @Override - public ResourceSerializer getResourceSerializer() { - return serializer; - } - - @Override - public long getRandomAccessId(int id) { - try { - return serializer.createRandomAccessId(id); - } catch (DatabaseException e) { - Logger.defaultLogError(e); - } catch (Throwable t) { - Logger.defaultLogError(t); - } - return 0; - } - - @Override - public int getTransientId(Resource resource) throws DatabaseException { - return serializer.getTransientId(resource); - } - - @Override - public Resource getResource(long randomAccessId) throws DatabaseException { - return serializer.getResource(randomAccessId); - } - - @Override - public int getTransientId(long randomAccessId) throws DatabaseException { - return serializer.getTransientId(randomAccessId); - } - - @Override - public long getRandomAccessId(Resource resource) throws DatabaseException { - return serializer.getRandomAccessId(resource); - } - - @Override - public Resource getResource(int transientId) throws DatabaseException { - return session.getResource(transientId); - } - - @Override - public ResourceUID getUID(Resource resource) throws DatabaseException { - ResourceImpl impl = (ResourceImpl)resource; - int resourceKey = impl.id; - ClusterImpl cluster = session.clusterTable.getClusterByResourceKey(resourceKey); - return cluster.clusterUID.toRID(ClusterTraits.getResourceIndexFromResourceKey(resourceKey)); - } - - @Override - public Resource getResource(ResourceUID uid) throws DatabaseException { - ClusterI cluster = session.clusterTable.getClusterByClusterUIDOrMakeProxy(uid.asCID()); - int key = ClusterTraits.createResourceKey(cluster.getClusterKey(), (int) uid.getIndex()); - return new ResourceImpl(session.resourceSupport, key); - } - -} +package fi.vtt.simantics.procore.internal; + +import org.simantics.db.Resource; +import org.simantics.db.ResourceSerializer; +import org.simantics.db.common.utils.Logger; +import org.simantics.db.exception.DatabaseException; +import org.simantics.db.impl.ClusterI; +import org.simantics.db.impl.ResourceImpl; +import org.simantics.db.procore.cluster.ClusterImpl; +import org.simantics.db.procore.cluster.ClusterTraits; +import org.simantics.db.service.ResourceUID; +import org.simantics.db.service.SerialisationSupport; + +import fi.vtt.simantics.procore.internal.SessionImplSocket.ResourceSerializerImpl; + +public class SerialisationSupportImpl implements SerialisationSupport { + + final private SessionImplSocket session; + final private ResourceSerializerImpl serializer; + + SerialisationSupportImpl(SessionImplSocket session) { + this.session = session; + this.serializer = session.resourceSerializer; + } + + @Override + public ResourceSerializer getResourceSerializer() { + return serializer; + } + + @Override + public long getRandomAccessId(int id) { + try { + return serializer.createRandomAccessId(id); + } catch (DatabaseException e) { + Logger.defaultLogError(e); + } catch (Throwable t) { + Logger.defaultLogError(t); + } + return 0; + } + + @Override + public int getTransientId(Resource resource) throws DatabaseException { + return serializer.getTransientId(resource); + } + + @Override + public Resource getResource(long randomAccessId) throws DatabaseException { + return serializer.getResource(randomAccessId); + } + + @Override + public int getTransientId(long randomAccessId) throws DatabaseException { + return serializer.getTransientId(randomAccessId); + } + + @Override + public long getRandomAccessId(Resource resource) throws DatabaseException { + return serializer.getRandomAccessId(resource); + } + + @Override + public Resource getResource(int transientId) throws DatabaseException { + return session.getResource(transientId); + } + + @Override + public ResourceUID getUID(Resource resource) throws DatabaseException { + ResourceImpl impl = (ResourceImpl)resource; + int resourceKey = impl.id; + ClusterImpl cluster = session.clusterTable.getClusterByResourceKey(resourceKey); + return cluster.clusterUID.toRID(ClusterTraits.getResourceIndexFromResourceKey(resourceKey)); + } + + @Override + public Resource getResource(ResourceUID uid) throws DatabaseException { + ClusterI cluster = session.clusterTable.getClusterByClusterUIDOrMakeProxy(uid.asCID()); + int key = ClusterTraits.createResourceKey(cluster.getClusterKey(), (int) uid.getIndex()); + return new ResourceImpl(session.resourceSupport, key); + } + +}