-import "UI/Progress"\r
-\r
-importJava "org.simantics.scl.db.SCLFunctions" where\r
- collectClusters :: <Proc> ()\r
-\r
-importJava "org.simantics.db.layer0.util.Layer0Utils" where\r
- @JavaName emptyTrashBin\r
- emptyTrashBinWithMonitor :: ProgressMonitor -> <Proc> ()\r
-\r
-//emptyTrashBin :: <Proc> ()\r
-emptyTrashBin = emptyTrashBinWithMonitor $ createNullProgressMonitor ()\r
+import "UI/Progress"
+import "Simantics/DB"
+
+importJava "org.simantics.db.common.utils.CommonDBUtils" where
+
+ listClusters :: <ReadGraph> [ClusterUID]
+ resourcesByCluster :: ClusterUID -> <ReadGraph> [Resource]
+ directStatements :: Resource -> Boolean -> <ReadGraph> [Statement]
+ garbageResources :: <ReadGraph> [Resource]
+ clusterUIDOfResource :: Resource -> <ReadGraph> ClusterUID
+ isClusterLoaded :: ClusterUID -> <ReadGraph> Boolean
+
+importJava "org.simantics.scl.db.SCLFunctions" where
+ collectClusters :: <Proc> ()
+ countQueries :: <ReadGraph> Integer
+ """
+ restrictQueries amount step maxTimeInMs
+
+ Collects some DB queries. Tries to reach at maximum 'amount' queries.
+ Uses at maximum 'maxTimeInMs' milliseconds in 'step' millisecond stints.
+ """
+ restrictQueries :: Integer -> Integer -> Integer -> <ReadGraph> ()
+
+importJava "org.simantics.db.layer0.util.Layer0Utils" where
+ @JavaName emptyTrashBin
+ emptyTrashBinWithMonitor :: ProgressMonitor -> <Proc> ()
+
+//emptyTrashBin :: <Proc> ()
+emptyTrashBin = emptyTrashBinWithMonitor $ createNullProgressMonitor ()
+
+importJava "org.simantics.db.service.ClusterUID" where
+ data ClusterUID