]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/request/ModelInstances.java
Added resourceId and GUID to diagram DnD content
[simantics/platform.git] / bundles / org.simantics.db.layer0 / src / org / simantics / db / layer0 / request / ModelInstances.java
index 6b25f549839612c1e7d7eb6c5f4b6125d644e8d4..ce74f6630f9c146362af8ef9066ce5191636696f 100644 (file)
@@ -1,72 +1,72 @@
-package org.simantics.db.layer0.request;\r
-\r
-import java.util.Collection;\r
-import java.util.Collections;\r
-import java.util.HashMap;\r
-import java.util.Map;\r
-\r
-import org.simantics.databoard.Bindings;\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.common.request.PossibleIndexRoot;\r
-import org.simantics.db.common.request.ResourceRead2;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.db.layer0.adapter.Instances;\r
-import org.simantics.layer0.Layer0;\r
-import org.simantics.simulation.ontology.SimulationResource;\r
-\r
-/**\r
- * Returns a Name->Resource map for instances of given type in a given model.\r
- * \r
- * Uses Dependencies-index for obtaining instances. Uses L0.HasName for\r
- * obtaining name.\r
- * \r
- * @author Antti Villberg\r
- */\r
-public class ModelInstances extends ResourceRead2<Map<String, Resource>> {\r
-\r
-    /**\r
-     * @parameter modelPart is a Resource with URI under a model e.g. model can\r
-     *            be found using L0.PartOf\r
-     * @parameter type is the type to search instances for. The query returns\r
-     *            properly all instances of all subtypes.\r
-     */\r
-    public ModelInstances(Resource modelPart, Resource type) {\r
-        super(modelPart, type);\r
-    }\r
-\r
-    private Resource getModel(ReadGraph graph) throws DatabaseException {\r
-        SimulationResource SIMU = SimulationResource.getInstance(graph);\r
-        if (graph.isInstanceOf(resource, SIMU.Model)) {\r
-            return resource;\r
-        } else {\r
-            return graph.sync(new PossibleIndexRoot(resource));\r
-        }\r
-    }\r
-\r
-    @Override\r
-    public Map<String, Resource> perform(ReadGraph graph) throws DatabaseException {\r
-\r
-        Layer0 L0 = Layer0.getInstance(graph);\r
-\r
-        Instances query = graph.adapt(resource2, Instances.class);\r
-        if (query == null)\r
-            return Collections.emptyMap();\r
-\r
-        Resource model = getModel(graph);\r
-        if(model == null)\r
-            return Collections.emptyMap();\r
-        Collection<Resource> queryResult = query.find(graph, model);\r
-        if (queryResult.isEmpty())\r
-            return Collections.emptyMap();\r
-\r
-        Map<String, Resource> result = new HashMap<String, Resource>(queryResult.size());\r
-        for(Resource instance : queryResult) {\r
-            String name = graph.getRelatedValue(instance, L0.HasName, Bindings.STRING);\r
-            result.put(name, instance);\r
-        }\r
-        return result;\r
-\r
-    }\r
-\r
-}\r
+package org.simantics.db.layer0.request;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.simantics.databoard.Bindings;
+import org.simantics.db.ReadGraph;
+import org.simantics.db.Resource;
+import org.simantics.db.common.request.PossibleIndexRoot;
+import org.simantics.db.common.request.ResourceRead2;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.layer0.adapter.Instances;
+import org.simantics.layer0.Layer0;
+import org.simantics.simulation.ontology.SimulationResource;
+
+/**
+ * Returns a Name->Resource map for instances of given type in a given model.
+ * 
+ * Uses Dependencies-index for obtaining instances. Uses L0.HasName for
+ * obtaining name.
+ * 
+ * @author Antti Villberg
+ */
+public class ModelInstances extends ResourceRead2<Map<String, Resource>> {
+
+    /**
+     * @parameter modelPart is a Resource with URI under a model e.g. model can
+     *            be found using L0.PartOf
+     * @parameter type is the type to search instances for. The query returns
+     *            properly all instances of all subtypes.
+     */
+    public ModelInstances(Resource modelPart, Resource type) {
+        super(modelPart, type);
+    }
+
+    private Resource getModel(ReadGraph graph) throws DatabaseException {
+        SimulationResource SIMU = SimulationResource.getInstance(graph);
+        if (graph.isInstanceOf(resource, SIMU.Model)) {
+            return resource;
+        } else {
+            return graph.sync(new PossibleIndexRoot(resource));
+        }
+    }
+
+    @Override
+    public Map<String, Resource> perform(ReadGraph graph) throws DatabaseException {
+
+        Layer0 L0 = Layer0.getInstance(graph);
+
+        Instances query = graph.adapt(resource2, Instances.class);
+        if (query == null)
+            return Collections.emptyMap();
+
+        Resource model = getModel(graph);
+        if(model == null)
+            return Collections.emptyMap();
+        Collection<Resource> queryResult = query.find(graph, model);
+        if (queryResult.isEmpty())
+            return Collections.emptyMap();
+
+        Map<String, Resource> result = new HashMap<String, Resource>(queryResult.size());
+        for(Resource instance : queryResult) {
+            String name = graph.getRelatedValue(instance, L0.HasName, Bindings.STRING);
+            result.put(name, instance);
+        }
+        return result;
+
+    }
+
+}