]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/util/SessionGarbageCollection.java
Some fixes/cleanup for cluster table size caching logic.
[simantics/platform.git] / bundles / org.simantics.db.layer0 / src / org / simantics / db / layer0 / util / SessionGarbageCollection.java
index 3fceebea2827b6cdcc7ea0b4a3514f545fc4de8f..c168e22860b25dba84ff1b715376c4a878effcfb 100644 (file)
@@ -25,7 +25,6 @@ import org.simantics.db.service.ClusterControl;
 import org.simantics.db.service.LifecycleSupport;
 import org.simantics.db.service.QueryControl;
 import org.simantics.utils.DataContainer;
-import org.simantics.utils.datastructures.Callback;
 
 /**
  * @author Tuukka Lehtonen
@@ -63,13 +62,17 @@ public class SessionGarbageCollection {
        long took = gc(monitor, session, sync, errorCallback, DEFAULT_ALLOWED_TIME, DEFAULT_CLUSTER_TARGET);
         return ((16*took) / DEFAULT_ALLOWED_TIME) > 15;
     }
-    
+
     public static void gc(ReadGraph graph, final int allowedTimeInMs, final int clusterTarget) throws DatabaseException {
-       doIt(null, graph, allowedTimeInMs, clusterTarget);
+        doIt(null, graph, allowedTimeInMs, clusterTarget);
+    }
+
+    public static void gc(IProgressMonitor monitor, ReadGraph graph, final int allowedTimeInMs, final int clusterTarget) throws DatabaseException {
+        doIt(monitor, graph, allowedTimeInMs, clusterTarget);
     }
 
     private static void doIt(IProgressMonitor _monitor, ReadGraph graph, final int allowedTimeInMs, final int clusterTarget) {
-       if(_monitor == null) _monitor = new NullProgressMonitor();
+        if(_monitor == null) _monitor = new NullProgressMonitor();
         QueryControl qc = graph.getService(QueryControl.class);
         ClusterControl cc = graph.getService(ClusterControl.class);
         _monitor.beginTask("Collect clusters", IProgressMonitor.UNKNOWN);
@@ -77,7 +80,7 @@ public class SessionGarbageCollection {
         _monitor.beginTask("Collect queries", IProgressMonitor.UNKNOWN);
         qc.gc(graph, allowedTimeInMs);
     }
-    
+
     /**
      * @param monitor
      * @param session
@@ -128,15 +131,12 @@ public class SessionGarbageCollection {
                     Logger.defaultLogError(e);
             }
         } else {
-            session.asyncRequest(request, new Callback<DatabaseException>() {
-                @Override
-                public void run(DatabaseException e) {
-                    if (e != null) {
-                        if (errorCallback != null)
-                            errorCallback.accept(e);
-                        else
-                            Logger.defaultLogError(e);
-                    }
+            session.asyncRequest(request, e -> {
+                if (e != null) {
+                    if (errorCallback != null)
+                        errorCallback.accept(e);
+                    else
+                        Logger.defaultLogError(e);
                 }
             });
         }