]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/QueryCacheBase.java
Move debugging options under DevelopmentKeys
[simantics/platform.git] / bundles / org.simantics.db.impl / src / org / simantics / db / impl / query / QueryCacheBase.java
index d7a235fc813d4f302e719bb66647cd2cef972d91..446e9c641406464de62e4cb484c66d02df4ca70f 100644 (file)
@@ -3,21 +3,19 @@ package org.simantics.db.impl.query;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.concurrent.Semaphore;
-import java.util.concurrent.atomic.AtomicBoolean;
 
+import org.simantics.databoard.Bindings;
 import org.simantics.db.AsyncReadGraph;
+import org.simantics.db.DevelopmentKeys;
 import org.simantics.db.ObjectResourceIdMap;
 import org.simantics.db.ReadGraph;
 import org.simantics.db.RelationInfo;
 import org.simantics.db.common.utils.Logger;
 import org.simantics.db.exception.DatabaseException;
-import org.simantics.db.impl.DebugPolicy;
 import org.simantics.db.impl.graph.ReadGraphImpl;
 import org.simantics.db.impl.procedure.InternalProcedure;
-import org.simantics.db.impl.query.QueryProcessor.SessionTask;
 import org.simantics.db.procedure.AsyncMultiProcedure;
 import org.simantics.db.procedure.AsyncProcedure;
-import org.simantics.db.procedure.Listener;
 import org.simantics.db.procedure.ListenerBase;
 import org.simantics.db.procedure.Procedure;
 import org.simantics.db.procedure.SyncMultiProcedure;
@@ -26,6 +24,7 @@ import org.simantics.db.request.AsyncRead;
 import org.simantics.db.request.ExternalRead;
 import org.simantics.db.request.MultiRead;
 import org.simantics.db.request.Read;
+import org.simantics.utils.Development;
 
 import gnu.trove.map.hash.THashMap;
 import gnu.trove.map.hash.TObjectIntHashMap;
@@ -189,71 +188,6 @@ public class QueryCacheBase {
 //             
 //     }
 
-       public <T> Object performQuery(ReadGraphImpl parentGraph, final ExternalRead<T> query, final CacheEntryBase entry_, AsyncProcedure procedure_) throws DatabaseException {
-
-               ExternalReadEntry entry = (ExternalReadEntry)entry_;
-               AsyncProcedure<T> procedure = (AsyncProcedure<T>)procedure_;
-               
-               try {
-
-                       query.register(parentGraph, new Listener<T>() {
-
-                               AtomicBoolean used = new AtomicBoolean(false);
-
-                               @Override
-                               public void execute(T result) {
-
-                                       // Just for safety
-                                       if(entry.isDiscarded()) return;
-
-                                       if(used.compareAndSet(false, true)) {
-                                               //entry.setPending();
-                                               entry.addOrSet(parentGraph.processor, result);
-                                               procedure.execute(parentGraph, result);
-                                       } else {
-                                               entry.queue(result);
-                                               parentGraph.processor.updatePrimitive(query);
-                                       }
-
-                               }
-
-                               @Override
-                               public void exception(Throwable t) {
-
-                                       entry.except(t);
-
-                                       if(used.compareAndSet(false, true)) {
-                                               procedure.exception(parentGraph, t);
-                                       } else {
-//                                             entry.queue(result);
-                                               parentGraph.processor.updatePrimitive(query);
-                                       }
-
-                               }
-
-                               @Override
-                               public String toString() {
-                                       return procedure.toString();
-                               }
-
-                               @Override
-                               public boolean isDisposed() {
-                                       return entry.isDiscarded() || !parentGraph.processor.isBound(entry);
-                               }
-
-                       });
-
-                       return entry.getResult();
-
-               } catch (Throwable t) {
-
-                       entry.except(t);
-                       procedure.exception(parentGraph, t);
-                       return entry.getResult();
-
-               }
-
-       }
 
        public <T> Object performQuery(ReadGraphImpl parentGraph, final AsyncMultiRead<T> query, final CacheEntryBase entry_, Object procedure_) throws DatabaseException {
 
@@ -393,7 +327,11 @@ public class QueryCacheBase {
                        } catch (DatabaseException e) {
                                Logger.defaultLogError(e);
                        }
-                       if(DebugPolicy.DEPENDENCIES) System.out.println(child + " -> " + parent);
+                       if (Development.DEVELOPMENT) {
+                               if(Development.<Boolean>getProperty(DevelopmentKeys.QUERYPROCESSOR_DEPENDENCIES, Bindings.BOOLEAN)) {
+                                       System.err.println(child + " -> " + parent);
+                               }
+                       }
                }
 
                if (listener != null) {
@@ -441,9 +379,11 @@ public class QueryCacheBase {
                        list.add(result);
                }
 
-               if(DebugPolicy.LISTENER) {
-                       new Exception().printStackTrace();
-                       System.out.println("addListener -> " + list.size() + " " + entry + " " + base + " " + procedure);
+               if (Development.DEVELOPMENT) {
+                       if(Development.<Boolean>getProperty(DevelopmentKeys.QUERYPROCESSOR_LISTENERS, Bindings.BOOLEAN)) {
+                               new Exception().printStackTrace();
+                               System.err.println("addListener -> " + list.size() + " " + entry + " " + base + " " + procedure);
+                       }
                }
 
                return result;