]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/AssertedStatements.java
Merge branch 'master' into private/db-threads
[simantics/platform.git] / bundles / org.simantics.db.impl / src / org / simantics / db / impl / query / AssertedStatements.java
index 6e7ca62e55c3cdb824177528e65808856e845928..d6d6fc08ad373bc9579de74bf55f4cdc760e1e76 100644 (file)
@@ -11,7 +11,6 @@
  *******************************************************************************/
 package org.simantics.db.impl.query;
 
-import java.util.ArrayList;
 import java.util.concurrent.Semaphore;
 import java.util.concurrent.atomic.AtomicInteger;
 
@@ -26,8 +25,6 @@ import org.simantics.db.request.RequestFlags;
 
 final public class AssertedStatements extends CollectionBinaryQuery<TripleIntProcedure> {
     
-//    public ArrayList<TripleIntProcedure> procs;
-    
     public AssertedStatements(final int r1, final int r2) {
         super(r1, r2);
     }
@@ -38,7 +35,7 @@ final public class AssertedStatements extends CollectionBinaryQuery<TripleIntPro
     
     final static AssertedStatements runner(ReadGraphImpl graph, final int r1, final int r2, final QueryProcessor provider, final AssertedStatements cached, final CacheEntry parent, final ListenerBase listener, final TripleIntProcedure procedure) {
         
-        AssertedStatements entry = cached != null ? cached : (AssertedStatements)provider.assertedStatementsMap.get(id(r1,r2)); 
+        AssertedStatements entry = cached != null ? cached : (AssertedStatements)provider.cache.assertedStatementsMap.get(id(r1,r2)); 
         if(entry == null) {
                
                entry = new AssertedStatements(r1, r2);
@@ -75,7 +72,7 @@ final public class AssertedStatements extends CollectionBinaryQuery<TripleIntPro
         assert(r1 != 0);
         assert(r2 != 0);
         
-        final AssertedStatements entry = (AssertedStatements)provider.assertedStatementsMap.get(id(r1,r2));
+        final AssertedStatements entry = (AssertedStatements)provider.cache.assertedStatementsMap.get(id(r1,r2));
         
         if(parent == null && !(listener != null)) {
             if(entry != null && entry.isReady()) { 
@@ -90,17 +87,17 @@ final public class AssertedStatements extends CollectionBinaryQuery<TripleIntPro
 
     @Override
     public BinaryQuery<TripleIntProcedure> getEntry(QueryProcessor provider) {
-        return provider.assertedStatementsMap.get(id);
+        return provider.cache.assertedStatementsMap.get(id);
     }
        
        @Override
        public void putEntry(QueryProcessor provider) {
-        provider.assertedStatementsMap.put(id, this);
+        provider.cache.assertedStatementsMap.put(id, this);
        }
 
        @Override
        final public void removeEntry(QueryProcessor provider) {
-           provider.assertedStatementsMap.remove(id);
+           provider.cache.assertedStatementsMap.remove(id);
        }
        
        void computeInheritedAssertions(ReadGraphImpl graph, int type, final int predicate, final RelationInfo ri, final QueryProcessor queryProvider, final TripleIntProcedure proc) {
@@ -478,11 +475,11 @@ final public class AssertedStatements extends CollectionBinaryQuery<TripleIntPro
     }
 
     @Override
-    public void performFromCache(ReadGraphImpl graph, QueryProcessor provider, final TripleIntProcedure procedure) {
+    public Object performFromCache(ReadGraphImpl graph, QueryProcessor provider, final TripleIntProcedure procedure) {
         
        assert(isReady());
         
-       if(handleException(graph, procedure)) return;
+       if(handleException(graph, procedure)) return getResult();
        
         final IntArray value = (IntArray)getResult();
         for(int i=0;i<value.size();i+=3) {
@@ -491,6 +488,8 @@ final public class AssertedStatements extends CollectionBinaryQuery<TripleIntPro
 
         procedure.finished(graph);
         
+        return value;
+        
     }
     
     @Override