]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.tests.modelled.ui/src/org/simantics/tests/modelled/ui/STSSuiteSorterRule.java
Simantics integration STS
[simantics/platform.git] / bundles / org.simantics.tests.modelled.ui / src / org / simantics / tests / modelled / ui / STSSuiteSorterRule.java
index 78de04dc48f1edf6765566b4f17f24b119d023c6..b29545df4e44384fed33698f3d87864a2b43b755 100644 (file)
@@ -33,69 +33,72 @@ import org.simantics.utils.strings.AlphanumComparator;
 
 public class STSSuiteSorterRule implements SorterRule, Sorter {
 
-       @Override
-       public boolean isCompatible(Class<?> contentType) {
-               return contentType.equals(Resource.class);
-       }
-
-       @Override
-       public Sorter getSorter(ReadGraph graph, Object content) throws DatabaseException {
-               return this;
-       }
-       
-       @Override
-       public void sort(ReadGraph graph, BrowseContext context, List<NodeContext> nodes) throws DatabaseException 
-       {
-               try {
-                       STSTestComparator stc = new STSTestComparator();
-                       stc.graph = graph;
-                       Collections.sort(nodes, stc);
-               } catch (RuntimeDatabaseException e) {
-                       if (e.getCause()!=null && e.getCause() instanceof DatabaseException) throw (DatabaseException) e.getCause();
-                       throw e;
-               }
-       }
-       
-       static class STSTestQuery extends ResourceRead<Pair<Integer, String>> {
-
-               public STSTestQuery(Resource resource) {
-                       super(resource);
-               }
-
-               @Override
-               public Pair<Integer, String> perform(ReadGraph graph) throws DatabaseException {
-                       Layer0 L0 = Layer0.getInstance(graph);
-                       TestsResource TESTS = TestsResource.getInstance(graph);
-                       
-                       String name = graph.getRelatedValue2(resource, L0.HasName, Bindings.STRING);
-               Integer priority = graph.getRelatedValue2(resource, TESTS.STSTest_executionPriority, Bindings.INTEGER);
-
-               return new Pair<Integer, String>(priority, name);
-           }
-
-       }
-       
-       static class STSTestComparator implements Comparator<NodeContext> {
-               ReadGraph graph;
-
-               @Override
-               public int compare(NodeContext nc1, NodeContext nc2) {
-                       Resource r1 = (Resource) nc1.getConstant(BuiltinKeys.INPUT);
-                       Resource r2 = (Resource) nc2.getConstant(BuiltinKeys.INPUT);
-                       
-                       try {
-                               Pair<Integer, String> test1 = graph.sync(new STSTestQuery(r1));
-                               Pair<Integer, String> test2 = graph.sync(new STSTestQuery(r2));
+    @Override
+    public boolean isCompatible(Class<?> contentType) {
+        return contentType.equals(Resource.class);
+    }
+
+    @Override
+    public Sorter getSorter(ReadGraph graph, Object content) throws DatabaseException {
+        return this;
+    }
+
+    @Override
+    public void sort(ReadGraph graph, BrowseContext context, List<NodeContext> nodes) throws DatabaseException
+    {
+        try {
+            STSTestComparator stc = new STSTestComparator();
+            stc.graph = graph;
+            Collections.sort(nodes, stc);
+        } catch (RuntimeDatabaseException e) {
+            if (e.getCause()!=null && e.getCause() instanceof DatabaseException) throw (DatabaseException) e.getCause();
+            throw e;
+        }
+    }
+
+    static class STSTestQuery extends ResourceRead<Pair<Integer, String>> {
+
+        public STSTestQuery(Resource resource) {
+            super(resource);
+        }
+
+        @Override
+        public Pair<Integer, String> perform(ReadGraph graph) throws DatabaseException {
+            Layer0 L0 = Layer0.getInstance(graph);
+            TestsResource TESTS = TestsResource.getInstance(graph);
+            String name = graph.getRelatedValue2(resource, L0.HasName, Bindings.STRING);
+            if(graph.isInstanceOf(resource, TESTS.STSTest)) {
+                Integer priority = graph.getRelatedValue2(resource, TESTS.STSTest_executionPriority, Bindings.INTEGER);
+                return new Pair<Integer, String>(priority, name);
+            } else {
+                return new Pair<Integer, String>(0, name);
+            }
+
+        }
+
+    }
+
+    static class STSTestComparator implements Comparator<NodeContext> {
+        ReadGraph graph;
+
+        @Override
+        public int compare(NodeContext nc1, NodeContext nc2) {
+            Resource r1 = (Resource) nc1.getConstant(BuiltinKeys.INPUT);
+            Resource r2 = (Resource) nc2.getConstant(BuiltinKeys.INPUT);
+
+            try {
+                Pair<Integer, String> test1 = graph.sync(new STSTestQuery(r1));
+                Pair<Integer, String> test2 = graph.sync(new STSTestQuery(r2));
 
                 if (test1.first < test2.first)
                     return -1;
                 else if (test1.first > test2.first)
                     return 1;
                 else return AlphanumComparator.COMPARATOR.compare(test1.second, test2.second);
-                
-                       } catch (DatabaseException e) {
-                               throw new RuntimeDatabaseException(e);
-                       }
-               }
-       }
+
+            } catch (DatabaseException e) {
+                throw new RuntimeDatabaseException(e);
+            }
+        }
+    }
 }