]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.procore/src/fi/vtt/simantics/procore/internal/XSupportImpl.java
Multiple reader thread support for db client
[simantics/platform.git] / bundles / org.simantics.db.procore / src / fi / vtt / simantics / procore / internal / XSupportImpl.java
index 1e8d2731ff4bb65bc47983d5f162412882e636c7..05870668616b258e648634e5ac4383a88f8277f1 100644 (file)
@@ -16,6 +16,7 @@ import org.simantics.db.request.WriteTraits;
 import org.simantics.db.service.ClusterUID;
 import org.simantics.db.service.SerialisationSupport;
 import org.simantics.db.service.XSupport;
+import org.simantics.utils.datastructures.Pair;
 
 public class XSupportImpl implements XSupport {
     final private boolean DEBUG = false;
@@ -112,6 +113,12 @@ public class XSupportImpl implements XSupport {
                session.clusterSetsSupport.clear();
         }
     }
+    
+    @Override
+    public Pair<Boolean, Boolean> getServiceMode() {
+       return Pair.make((session.serviceMode & 1) == 1, (session.serviceMode & 2) == 2);
+    }
+    
     @Override
     public Resource convertDelayedResourceToResource(Resource resource) {
         return DelayedWriteGraph.convertDelayedResource(resource);
@@ -162,4 +169,11 @@ public class XSupportImpl implements XSupport {
     public boolean rolledback() {
         return session.graphSession.rolledback();
     }
+
+       @Override
+       public boolean isClusterLoaded(ClusterUID clusterUID) throws DatabaseException {
+               ClusterImpl clusterImpl = session.clusterTable.getClusterByClusterUIDOrMakeProxy(clusterUID);
+               return clusterImpl.isLoaded();
+       }
+       
 }