]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/Statements.java
Merge branch 'master' into private/db-threads
[simantics/platform.git] / bundles / org.simantics.db.impl / src / org / simantics / db / impl / query / Statements.java
index 935b8115962df76e3672d5479521e5dba41378f3..d251a65c11b93dc4c70b3673d4b50518e912c5e5 100644 (file)
@@ -27,27 +27,25 @@ import org.simantics.db.request.RequestFlags;
 
 final public class Statements extends CollectionBinaryQuery<TripleIntProcedure> {
        
-//     public ArrayList<TripleIntProcedure> procs = null;
-       
     public Statements(final int r1, final int r2) {
         super(r1, r2);
     }
 
     final static Statements entry(final QueryProcessor processor, final int r1, final int r2) {
         
-        return (Statements)processor.statementsMap.get(id(r1,r2));
+        return (Statements)processor.cache.statementsMap.get(id(r1,r2));
 
     }
     
        final static Collection<Statements> entries(final QueryProcessor processor, final int r1) {
-               return processor.statementsMap.values(r1);
+               return processor.cache.statementsMap.values(r1);
        }
     
     final static void runner(ReadGraphImpl graph, final int r1, final int r2, CacheEntry parent, final ListenerBase listener, final TripleIntProcedure procedure) {
         
        QueryProcessor processor = graph.processor;
 
-        Statements entry = (Statements)processor.statementsMap.get(id(r1,r2));
+        Statements entry = (Statements)processor.cache.statementsMap.get(id(r1,r2));
         if(entry == null) {
                
                entry = new Statements(r1, r2);
@@ -93,17 +91,17 @@ final public class Statements extends CollectionBinaryQuery<TripleIntProcedure>
 
     @Override
     public BinaryQuery<TripleIntProcedure> getEntry(QueryProcessor provider) {
-        return provider.statementsMap.get(id);
+        return provider.cache.statementsMap.get(id);
     }
        
        @Override
        public void putEntry(QueryProcessor provider) {
-           provider.statementsMap.put(id, this);
+           provider.cache.statementsMap.put(id, this);
        }
 
        @Override
        final public void removeEntry(QueryProcessor provider) {
-        provider.statementsMap.remove(id);
+        provider.cache.statementsMap.remove(id);
        }
        
     final static TripleIntProcedure NOPT = new TripleIntProcedure() {
@@ -842,19 +840,22 @@ final public class Statements extends CollectionBinaryQuery<TripleIntProcedure>
     }
     
     @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;
-       
         final IntArray value = (IntArray)getResult();
+
+       if(handleException(graph, procedure)) return value;
+       
         for(int i=0;i<value.size();i+=3) {
                procedure.execute(graph, value.data[i], value.data[i+1], value.data[i+2]);
         }
 
         procedure.finished(graph);
         
+        return value;
+        
     }
     
     @Override