]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/scl/expressions/UsedSCLExpressionsRequest.java
Ctrl+Shift+G support for finding also expressions from properties
[simantics/platform.git] / bundles / org.simantics.modeling.ui / src / org / simantics / modeling / ui / scl / expressions / UsedSCLExpressionsRequest.java
diff --git a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/scl/expressions/UsedSCLExpressionsRequest.java b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/scl/expressions/UsedSCLExpressionsRequest.java
deleted file mode 100644 (file)
index 4e62af2..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-package org.simantics.modeling.ui.scl.expressions;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.Set;
-import java.util.TreeSet;
-
-import org.simantics.Simantics;
-import org.simantics.db.ReadGraph;
-import org.simantics.db.Resource;
-import org.simantics.db.Statement;
-import org.simantics.db.common.request.UniqueRead;
-import org.simantics.db.exception.DatabaseException;
-import org.simantics.db.layer0.util.Layer0Utils;
-import org.simantics.layer0.Layer0;
-import org.simantics.modeling.ModelingUtils;
-import org.simantics.structural.stubs.StructuralResource2;
-
-public class UsedSCLExpressionsRequest extends UniqueRead<Collection<SCLExpressionTableEntry>> {
-
-    @Override
-    public Collection<SCLExpressionTableEntry> perform(ReadGraph graph) throws DatabaseException {
-        Collection<SCLExpressionTableEntry> result = new ArrayList<>();
-        Layer0 L0 = Layer0.getInstance(graph);
-        
-        Set<Resource> indexRoots = new TreeSet<Resource>();
-        for(Resource ontology : Layer0Utils.listOntologies(graph)) {
-            if (graph.isInstanceOf(ontology, L0.SharedOntology)) {
-                indexRoots.add(ontology);
-            }
-        }
-        
-        for(Resource child : graph.getObjects(Simantics.getProjectResource(), L0.ConsistsOf)) {
-            if (graph.isInstanceOf(child, L0.IndexRoot)) {
-                indexRoots.add(child);
-            }
-        }
-
-        for (Resource ontology : indexRoots) {
-//            List<Resource> modules = ModelingUtils.searchByTypeShallow(graph, ontology, L0.SCLModule);
-//            for (Resource module : modules) {
-//                String definition = graph.getPossibleRelatedValue2(module, L0.SCLModule_definition);
-//                Matcher matcher = pattern.matcher(definition);
-//                while (matcher.find()) {
-//                    int index = matcher.start();
-//                    int line = 1;
-//                    int pos = 0;
-//                    while ((pos = definition.indexOf("\n", pos) + 1) > 0 && pos <= index) {
-//                        line++;
-//                    }
-//                    String position = graph.getPossibleURI(module) + ":" + line;
-//                    int lineBeginIndex = definition.lastIndexOf("\n", index);
-//                    if (lineBeginIndex == -1) lineBeginIndex = 0;
-//                    int lineEndIndex = definition.indexOf("\n", index);
-//                    if (lineEndIndex <= 0) lineEndIndex = definition.length();
-//                    String content = definition.substring(lineBeginIndex, lineEndIndex).trim();
-//
-//                    result.add(new SCLExpressionTableEntry(content, position));
-//                }
-//            }
-            
-            StructuralResource2 STR = StructuralResource2.getInstance(graph);
-            
-            List<Resource> components = ModelingUtils.searchByTypeShallow(graph, ontology, STR.Component);
-            for (Resource component : components) {
-                for (Statement propertyStatement : graph.getStatements(component, L0.HasProperty)) {
-                    if (graph.isInstanceOf(propertyStatement.getObject(), L0.SCLValue)) {
-                        Resource sclValue = propertyStatement.getObject();
-                        String expression = graph.getPossibleRelatedValue2(sclValue, L0.SCLValue_expression);
-                        Resource source = graph.getPossibleObject(sclValue, L0.PropertyOf);
-                        if (source != null) {
-                            String uri = graph.getPossibleURI(source);
-                            String pred = graph.getRelatedValue2(propertyStatement.getPredicate(), L0.HasName);
-
-                            if (uri != null) {
-//                                SCLReporting.print();
-//                                SCLReporting.printError(expression + "\n");
-                                
-                                result.add(new SCLExpressionTableEntry(expression, uri + "#" + pred, source));
-                            }
-                        }
-                    }
-                }
-            }
-        }
-        return result;
-    }
-
-}