]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.issues.common/src/org/simantics/issues/common/DependencyIssueValidator2.java
Replace System.err and System.out with SLF4J Logging
[simantics/platform.git] / bundles / org.simantics.issues.common / src / org / simantics / issues / common / DependencyIssueValidator2.java
index 2f8c42b902e56960908d796697de0961bef0d90a..13e4961b30ff5b6edf6c411a011d2c053873733d 100644 (file)
-package org.simantics.issues.common;\r
-\r
-import java.util.Collections;\r
-import java.util.HashSet;\r
-import java.util.List;\r
-import java.util.Set;\r
-\r
-import org.simantics.db.Issue;\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.common.procedure.adapter.TransientCacheListener;\r
-import org.simantics.db.common.request.ResourceRead2;\r
-import org.simantics.db.common.request.ResourceRead3;\r
-import org.simantics.db.common.utils.Functions;\r
-import org.simantics.db.common.utils.NameUtils;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.issues.ontology.IssueResource;\r
-import org.simantics.layer0.Layer0;\r
-import org.slf4j.Logger;\r
-import org.slf4j.LoggerFactory;\r
-\r
-public class DependencyIssueValidator2 extends ResourceRead3<Boolean> {\r
-    private static final Logger LOGGER = LoggerFactory.getLogger(DependencyIssueValidator2.class);\r
-\r
-       public static final boolean DEBUG = false;\r
-\r
-       public DependencyIssueValidator2(Resource resource, Resource model, Resource source) {\r
-               super(resource, model, source);\r
-       }\r
-\r
-       static class DependencyIssueDescriptions extends ResourceRead2<Set<Issue>> {\r
-\r
-               public DependencyIssueDescriptions(Resource source, Resource context0) {\r
-                       super(source, context0);\r
-               }\r
-               \r
-               @Override\r
-               public Set<Issue> perform(ReadGraph graph) throws DatabaseException {\r
-                       HashSet<Issue> result = new HashSet<Issue>();\r
-                       for(Resource issue :  graph.syncRequest(new ManagedIssues(resource))) {\r
-                               Issue desc = graph.sync(new StandardIssueDescription(issue));\r
-                               if(desc == null) continue;\r
-                               if(resource2.equals(desc.getMainContext())) result.add(desc);\r
-                       }\r
-                       return result;\r
-               }\r
-               \r
-       }\r
-       \r
-       static class Contexts extends ResourceRead2<Set<Issue>> {\r
-\r
-               public Contexts(Resource source, Resource resource) {\r
-                       super(source, resource);\r
-               }\r
-               \r
-               @Override\r
-               public Set<Issue> perform(ReadGraph graph) throws DatabaseException {\r
-                       \r
-                       Layer0 L0 = Layer0.getInstance(graph);\r
-                       IssueResource IR = IssueResource.getInstance(graph);\r
-\r
-                       Resource constraint = graph.getSingleObject(resource, IR.Sources_DependencyTracker_HasConstraint);\r
-                       Resource function = graph.getSingleObject(constraint, L0.Constraint_Validator);\r
-                       try {\r
-                               @SuppressWarnings("unchecked")\r
-                               Set<Issue> contexts = new HashSet<Issue>((List<Issue>)Functions.exec(graph, function, graph, resource2));\r
-                       if(DEBUG) System.err.println("Validator found: " + contexts.size() + " issues (" + contexts + ")");\r
-                       return contexts;\r
-                       } catch (DatabaseException e) {\r
-                               LOGGER.error("Reading a constraint validator failed", e);\r
-                               return Collections.emptySet();\r
-                       }\r
-               \r
-               }\r
-               \r
-               @Override\r
-               public String toString() {\r
-                       return "DependencyIssueValidators2$Contexts[resource=" + resource2 + " source=" + resource + "]";\r
-               }\r
-               \r
-       }\r
-\r
-       @Override\r
-       public Boolean perform(ReadGraph graph) throws DatabaseException {\r
-               \r
-               if(DEBUG) System.err.println("Running DependencyValidator for " + NameUtils.getSafeName(graph, resource) + " " +  NameUtils.getSafeName(graph, resource3));\r
-\r
-               Set<Issue> existing = graph.syncRequest(new DependencyIssueDescriptions(resource3, resource), TransientCacheListener.<Set<Issue>>instance());\r
-\r
-        if(DEBUG) System.err.println("Existing: " + existing.size() + " issues (" + existing + ")");\r
-               \r
-               // Removed resources do not have issues\r
-               if(!graph.hasStatement(resource)) {\r
-               if(DEBUG) System.err.println("No statements");\r
-                       return existing.isEmpty();\r
-               }\r
-\r
-        Set<Issue> contexts = graph.syncRequest(new Contexts(resource3, resource), TransientCacheListener.<Set<Issue>>instance());\r
-\r
-        if(DEBUG) System.err.println("Current: " + contexts.size() + " issues (" + contexts + ")");\r
-        \r
-               return existing.equals(contexts);\r
-\r
-       }\r
-\r
+package org.simantics.issues.common;
+
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.simantics.db.Issue;
+import org.simantics.db.ReadGraph;
+import org.simantics.db.Resource;
+import org.simantics.db.common.procedure.adapter.TransientCacheListener;
+import org.simantics.db.common.request.ResourceRead2;
+import org.simantics.db.common.request.ResourceRead3;
+import org.simantics.db.common.utils.Functions;
+import org.simantics.db.common.utils.NameUtils;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.issues.ontology.IssueResource;
+import org.simantics.layer0.Layer0;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class DependencyIssueValidator2 extends ResourceRead3<Boolean> {
+    private static final Logger LOGGER = LoggerFactory.getLogger(DependencyIssueValidator2.class);
+
+       public static final boolean DEBUG = false;
+
+       public DependencyIssueValidator2(Resource resource, Resource model, Resource source) {
+               super(resource, model, source);
+       }
+
+       static class DependencyIssueDescriptions extends ResourceRead2<Set<Issue>> {
+
+               public DependencyIssueDescriptions(Resource source, Resource context0) {
+                       super(source, context0);
+               }
+               
+               @Override
+               public Set<Issue> perform(ReadGraph graph) throws DatabaseException {
+                       HashSet<Issue> result = new HashSet<Issue>();
+                       for(Resource issue :  graph.syncRequest(new ManagedIssues(resource))) {
+                               Issue desc = graph.sync(new StandardIssueDescription(issue));
+                               if(desc == null) continue;
+                               if(resource2.equals(desc.getMainContext())) result.add(desc);
+                       }
+                       return result;
+               }
+               
+       }
+       
+       static class Contexts extends ResourceRead2<Set<Issue>> {
+
+               public Contexts(Resource source, Resource resource) {
+                       super(source, resource);
+               }
+               
+               @Override
+               public Set<Issue> perform(ReadGraph graph) throws DatabaseException {
+                       
+                       Layer0 L0 = Layer0.getInstance(graph);
+                       IssueResource IR = IssueResource.getInstance(graph);
+
+                       Resource constraint = graph.getSingleObject(resource, IR.Sources_DependencyTracker_HasConstraint);
+                       Resource function = graph.getSingleObject(constraint, L0.Constraint_Validator);
+                       try {
+                               @SuppressWarnings("unchecked")
+                               Set<Issue> contexts = new HashSet<Issue>((List<Issue>)Functions.exec(graph, function, graph, resource2));
+                       if(DEBUG) LOGGER.info("Validator found: " + contexts.size() + " issues (" + contexts + ")");
+                       return contexts;
+                       } catch (DatabaseException e) {
+                               LOGGER.error("Reading a constraint validator failed", e);
+                               return Collections.emptySet();
+                       }
+               
+               }
+               
+               @Override
+               public String toString() {
+                       return "DependencyIssueValidators2$Contexts[resource=" + resource2 + " source=" + resource + "]";
+               }
+               
+       }
+
+       @Override
+       public Boolean perform(ReadGraph graph) throws DatabaseException {
+               
+               if(DEBUG) LOGGER.info("Running DependencyValidator for " + NameUtils.getSafeName(graph, resource) + " " +  NameUtils.getSafeName(graph, resource3));
+
+               Set<Issue> existing = graph.syncRequest(new DependencyIssueDescriptions(resource3, resource), TransientCacheListener.<Set<Issue>>instance());
+
+        if(DEBUG) LOGGER.info("Existing: " + existing.size() + " issues (" + existing + ")");
+               
+               // Removed resources do not have issues
+               if(!graph.hasStatement(resource)) {
+               if(DEBUG) LOGGER.info("No statements");
+                       return existing.isEmpty();
+               }
+
+        Set<Issue> contexts = graph.syncRequest(new Contexts(resource3, resource), TransientCacheListener.<Set<Issue>>instance());
+
+        if(DEBUG) LOGGER.info("Current: " + contexts.size() + " issues (" + contexts + ")");
+        
+               return existing.equals(contexts);
+
+       }
+
 }
\ No newline at end of file