]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.district.network/src/org/simantics/district/network/profile/DynamicVisualisationsRequest.java
Add support for saving visualisation templates
[simantics/district.git] / org.simantics.district.network / src / org / simantics / district / network / profile / DynamicVisualisationsRequest.java
index c4d9d209a5e70420ffb4fe128a2cf5ed26fba82f..3c187a10db8045b3b2c996b523f0826cb052c77b 100644 (file)
@@ -1,43 +1,38 @@
 package org.simantics.district.network.profile;
 
-import java.util.Map;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
 
 import org.simantics.db.ReadGraph;
 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.district.network.visualisations.model.ColorBarOptions;
-import org.simantics.district.network.visualisations.model.DynamicColorContribution;
-import org.simantics.district.network.visualisations.model.DynamicSizeContribution;
-import org.simantics.district.network.visualisations.model.DynamicVisualisation;
-import org.simantics.district.network.visualisations.model.SizeBarOptions;
 import org.simantics.layer0.Layer0;
 
 /**
  * @author Jani Simomaa
  */
-public class DynamicVisualisationsRequest extends ResourceRead<DynamicVisualisation> {
+public class DynamicVisualisationsRequest extends ResourceRead<Collection<NamedResource>> {
 
     public DynamicVisualisationsRequest(Resource diagram) {
         super(diagram);
     }
 
     @Override
-    public DynamicVisualisation perform(ReadGraph graph) throws DatabaseException {
+    public Collection<NamedResource> perform(ReadGraph graph) throws DatabaseException {
         DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph);
-        Resource visualisationResource = graph.getPossibleObject(resource, DN.Diagram_hasVisualisation);
-        if (visualisationResource != null) {
-            String name = graph.getRelatedValue(visualisationResource, Layer0.getInstance(graph).HasName);
-            Map<String, DynamicColorContribution> colorContributions = DistrictNetworkUtil.colorContributions(graph, resource);
-            ColorBarOptions colorBarOptions = DistrictNetworkUtil.colorBarOptions(graph, resource);
-            Map<String, DynamicSizeContribution> sizeContributions = DistrictNetworkUtil.sizeContributions(graph, resource);
-            SizeBarOptions sizeBarOptions = DistrictNetworkUtil.sizeBarOptions(graph, resource);
-            DynamicVisualisation visualisation = new DynamicVisualisation(name, colorContributions, colorBarOptions, sizeContributions, sizeBarOptions);
-            return visualisation; 
+        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));
+            }
         }
-        return null;
+        return results;
     }
 
 }