]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.district.network/src/org/simantics/district/network/profile/DynamicVisualisationsRequest.java
Add support for gradients in dynamic visualisations
[simantics/district.git] / org.simantics.district.network / src / org / simantics / district / network / profile / DynamicVisualisationsRequest.java
index 3c187a10db8045b3b2c996b523f0826cb052c77b..c2b473c5a50163668ad50af2c38a897c17f27cce 100644 (file)
@@ -9,6 +9,7 @@ import org.simantics.db.Resource;
 import org.simantics.db.common.NamedResource;
 import org.simantics.db.common.request.ResourceRead;
 import org.simantics.db.exception.DatabaseException;
+import org.simantics.district.network.DistrictNetworkUtil;
 import org.simantics.district.network.ontology.DistrictNetworkResource;
 import org.simantics.layer0.Layer0;
 
@@ -17,19 +18,22 @@ import org.simantics.layer0.Layer0;
  */
 public class DynamicVisualisationsRequest extends ResourceRead<Collection<NamedResource>> {
 
-    public DynamicVisualisationsRequest(Resource diagram) {
-        super(diagram);
+    public DynamicVisualisationsRequest(Resource parent) {
+        super(parent);
     }
 
     @Override
     public Collection<NamedResource> perform(ReadGraph graph) throws DatabaseException {
         DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph);
-        Collection<Resource> visualisationResources = graph.getObjects(resource, DN.Diagram_hasVisualisation);
         List<NamedResource> results = new ArrayList<>();
-        if (visualisationResources != null && !visualisationResources.isEmpty()) {
-            for (Resource visualisationResource : visualisationResources) {
-                String name = graph.getRelatedValue(visualisationResource, Layer0.getInstance(graph).HasName);
-                results.add(new NamedResource(name, visualisationResource));
+        Resource visualisationFolder = DistrictNetworkUtil.getVisualisationFolder(graph, resource);
+        if (visualisationFolder != null) {
+            Collection<Resource> visualisationResources = graph.getObjects(visualisationFolder, DN.Diagram_hasVisualisation);
+            if (visualisationResources != null && !visualisationResources.isEmpty()) {
+                for (Resource visualisationResource : visualisationResources) {
+                    String name = graph.getRelatedValue(visualisationResource, Layer0.getInstance(graph).HasName);
+                    results.add(new NamedResource(name, visualisationResource));
+                }
             }
         }
         return results;