]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.district.network/src/org/simantics/district/network/profile/ActiveDynamicVisualisationsRequest.java
Add support for gradients in dynamic visualisations
[simantics/district.git] / org.simantics.district.network / src / org / simantics / district / network / profile / ActiveDynamicVisualisationsRequest.java
index 52cfd61ccc5951d496d3780a98ee9924571ca8fc..58499db07e91b6061691bddd38b6a489ead24ba3 100644 (file)
@@ -20,22 +20,25 @@ import org.simantics.layer0.Layer0;
  */
 public class ActiveDynamicVisualisationsRequest extends ResourceRead<DynamicVisualisation> {
 
-    public ActiveDynamicVisualisationsRequest(Resource diagram) {
-        super(diagram);
+    public ActiveDynamicVisualisationsRequest(Resource parent) {
+        super(parent);
     }
 
     @Override
     public DynamicVisualisation perform(ReadGraph graph) throws DatabaseException {
         DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph);
-        Resource visualisationResource = graph.getPossibleObject(resource, DN.Diagram_hasActiveVisualisation);
-        if (visualisationResource != null) {
-            String name = graph.getRelatedValue(visualisationResource, Layer0.getInstance(graph).HasName);
-            Map<String, DynamicColorContribution> colorContributions = DistrictNetworkUtil.colorContributions(graph, visualisationResource);
-            ColorBarOptions colorBarOptions = DistrictNetworkUtil.colorBarOptions(graph, visualisationResource);
-            Map<String, DynamicSizeContribution> sizeContributions = DistrictNetworkUtil.sizeContributions(graph, visualisationResource);
-            SizeBarOptions sizeBarOptions = DistrictNetworkUtil.sizeBarOptions(graph, visualisationResource);
-            DynamicVisualisation visualisation = new DynamicVisualisation(name, visualisationResource, colorContributions, colorBarOptions, sizeContributions, sizeBarOptions);
-            return visualisation; 
+        Resource visualisationFolder = DistrictNetworkUtil.getVisualisationFolder(graph, resource);
+        if (visualisationFolder != null) {
+            Resource visualisationResource = graph.getPossibleObject(visualisationFolder, DN.Diagram_hasActiveVisualisation);
+            if (visualisationResource != null) {
+                String name = graph.getRelatedValue(visualisationResource, Layer0.getInstance(graph).HasName);
+                Map<String, DynamicColorContribution> colorContributions = DistrictNetworkUtil.colorContributions(graph, visualisationResource);
+                ColorBarOptions colorBarOptions = DistrictNetworkUtil.colorBarOptions(graph, visualisationResource);
+                Map<String, DynamicSizeContribution> sizeContributions = DistrictNetworkUtil.sizeContributions(graph, visualisationResource);
+                SizeBarOptions sizeBarOptions = DistrictNetworkUtil.sizeBarOptions(graph, visualisationResource);
+                DynamicVisualisation visualisation = new DynamicVisualisation(name, visualisationResource, colorContributions, colorBarOptions, sizeContributions, sizeBarOptions);
+                return visualisation; 
+            }
         }
         return null;
     }