]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.district.network/src/org/simantics/district/network/profile/ActiveDynamicVisualisationsRequest.java
Move remaining profiles to visualisations for perf
[simantics/district.git] / org.simantics.district.network / src / org / simantics / district / network / profile / ActiveDynamicVisualisationsRequest.java
index f8f4b9aa34ee2e85b18309048160ec6ed881b9ca..08a1b01330642f3abbe99d37b426fb0c482c083c 100644 (file)
@@ -4,16 +4,21 @@ import java.util.Collection;
 import java.util.Map;
 import java.util.stream.Collectors;
 
+import org.simantics.databoard.Bindings;
 import org.simantics.db.ReadGraph;
 import org.simantics.db.Resource;
 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.DynamicVisualisations;
 import org.simantics.district.network.visualisations.DynamicVisualisationsContributions;
+import org.simantics.district.network.visualisations.DynamicVisualisationsContributions.DynamicArrowObject;
 import org.simantics.district.network.visualisations.DynamicVisualisationsContributions.DynamicColoringObject;
 import org.simantics.district.network.visualisations.DynamicVisualisationsContributions.DynamicSizingObject;
+import org.simantics.district.network.visualisations.DynamicVisualisationsContributions.DynamicSymbolContributionObject;
+import org.simantics.district.network.visualisations.DynamicVisualisationsContributions.StaticInformationContributionObject;
 import org.simantics.district.network.visualisations.model.ColorBarOptions;
+import org.simantics.district.network.visualisations.model.DynamicArrowContribution;
 import org.simantics.district.network.visualisations.model.DynamicColorContribution;
 import org.simantics.district.network.visualisations.model.DynamicSizeContribution;
 import org.simantics.district.network.visualisations.model.DynamicVisualisation;
@@ -32,23 +37,93 @@ public class ActiveDynamicVisualisationsRequest extends ResourceRead<DynamicVisu
     @Override
     public DynamicVisualisation perform(ReadGraph graph) throws DatabaseException {
         DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph);
-        Resource visualisationFolder = DistrictNetworkUtil.getVisualisationFolder(graph, resource);
+        Resource visualisationFolder = DynamicVisualisations.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);
                 
+                Long interval = graph.getPossibleRelatedValue(visualisationResource, DN.Diagram_Visualisations_Interval, Bindings.LONG);
+                Boolean disabledUpdates = graph.getPossibleRelatedValue(visualisationResource, DN.Diagram_Visualisations_DisabledUpdates, Bindings.BOOLEAN);
+                Boolean resetVisualisation = graph.getPossibleRelatedValue(visualisationResource, DN.Diagram_Visualisations_ResetVisualisation, Bindings.BOOLEAN);
+                
                 Collection<DynamicColoringObject> dynamicColoringObjects = DynamicVisualisationsContributions.dynamicColoringObjects(graph);
                 Map<String, DynamicColoringObject> defaultColoringObjects = dynamicColoringObjects.stream().collect(Collectors.toMap(dcc -> dcc.getColoringObject().getName(), dcc -> dcc));
                 
                 Collection<DynamicSizingObject> dynamicSizingObjects = DynamicVisualisationsContributions.dynamicSizingObjects(graph);
                 Map<String, DynamicSizingObject> defaultSizingObjects = dynamicSizingObjects.stream().collect(Collectors.toMap(dcc -> dcc.getSizingObject().getName(), dcc -> dcc));
                 
-                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, defaultColoringObjects, colorBarOptions, sizeContributions, defaultSizingObjects, sizeBarOptions);
+                Collection<DynamicArrowObject> dynamicArrowObjects = DynamicVisualisationsContributions.dynamicEdgeArrowObjects(graph);
+                Map<String, DynamicArrowObject> defaultArrowObjects = dynamicArrowObjects.stream().collect(Collectors.toMap(dac -> dac.getArrowObject().getName(), dac -> dac));
+                
+                Map<String, DynamicColorContribution> colorContributions = DynamicVisualisations.colorContributions(graph, visualisationResource);
+                ColorBarOptions colorBarOptions = DynamicVisualisations.colorBarOptions(graph, visualisationResource);
+                Map<String, DynamicSizeContribution> sizeContributions = DynamicVisualisations.sizeContributions(graph, visualisationResource);
+                SizeBarOptions sizeBarOptions = DynamicVisualisations.sizeBarOptions(graph, visualisationResource);
+                Map<String, DynamicArrowContribution> arrowContributions = DynamicVisualisations.arrowContributions(graph, visualisationResource);
+                
+                Collection<StaticInformationContributionObject> staticInformationContributions = DynamicVisualisationsContributions.staticInformationContributionObjects(graph);
+                Map<String, StaticInformationContributionObject> staticInformationContributionObjects = staticInformationContributions.stream().collect(Collectors.toMap(dcc -> dcc.getStaticInformationContributionObject().getName(), dcc -> dcc));
+
+                Collection<DynamicSymbolContributionObject> dynamicSymbolContributions = DynamicVisualisationsContributions.dynamicSymbolContributionObjects(graph);
+                Map<String, DynamicSymbolContributionObject> dynamicSymbolContributionObjects = dynamicSymbolContributions.stream().map(dsc -> {
+                    // here we resolve the symbol map with the help of readgraph
+                    dsc.resolveSymbols(graph);
+                    return dsc;
+                }).collect(Collectors.toMap(dcc -> dcc.getDynamicSymbolContributionObject().getName(), dcc -> dcc));
+
+                Boolean hideEdges = graph.getPossibleRelatedValue(visualisationResource, DN.Diagram_Visualisations_HideEdges, Bindings.BOOLEAN);
+                Boolean hidePoints = graph.getPossibleRelatedValue(visualisationResource, DN.Diagram_Visualisations_HidePoints, Bindings.BOOLEAN);
+                Boolean hideConsumers = graph.getPossibleRelatedValue(visualisationResource, DN.Diagram_Visualisations_HideConsumers, Bindings.BOOLEAN);
+                Boolean hideProducers = graph.getPossibleRelatedValue(visualisationResource, DN.Diagram_Visualisations_HideProducers, Bindings.BOOLEAN);
+                Boolean hideValves = graph.getPossibleRelatedValue(visualisationResource, DN.Diagram_Visualisations_HideValves, Bindings.BOOLEAN);
+                Boolean hidePumpingStations = graph.getPossibleRelatedValue(visualisationResource, DN.Diagram_Visualisations_HidePumpingStations, Bindings.BOOLEAN);
+                Boolean staticPropertiesNetworkBranch = graph.getPossibleRelatedValue(visualisationResource, DN.Diagram_Visualisations_StaticPropertiesNetworkBranches, Bindings.BOOLEAN);
+                Boolean staticProperiesPoints = graph.getPossibleRelatedValue(visualisationResource, DN.Diagram_Visualisations_StaticPropertiesPoints, Bindings.BOOLEAN);
+                Boolean staticPropertiesConsumers = graph.getPossibleRelatedValue(visualisationResource, DN.Diagram_Visualisations_StaticPropertiesConsumers, Bindings.BOOLEAN);
+                Boolean dynamicSymbolsProducers = graph.getPossibleRelatedValue(visualisationResource, DN.Diagram_Visualisations_DynamicSymbolsProducers, Bindings.BOOLEAN);
+                Boolean dynamicSymbolsShutoffValves = graph.getPossibleRelatedValue(visualisationResource, DN.Diagram_Visualisations_DynamicSymbolsShutoffValves, Bindings.BOOLEAN);
+                Boolean dynamicSymbolsValves = graph.getPossibleRelatedValue(visualisationResource, DN.Diagram_Visualisations_DynamicSymbolsValves, Bindings.BOOLEAN);
+                Boolean dynamicSymbolsPumpingStations = graph.getPossibleRelatedValue(visualisationResource, DN.Diagram_Visualisations_DynamicSymbolsPumpingStations, Bindings.BOOLEAN);
+
+                Boolean keyVariablesVertexHover = graph.getPossibleRelatedValue(visualisationResource, DN.Diagram_Visualisations_KeyVariableVertexHover, Bindings.BOOLEAN);
+                Boolean keyVariablesEdgesHover = graph.getPossibleRelatedValue(visualisationResource, DN.Diagram_Visualisations_KeyVariableEdgeHover, Bindings.BOOLEAN);
+                
+                Boolean showElevationServerBoundingBox = graph.getPossibleRelatedValue(visualisationResource, DN.Diagram_Visualisations_ShowElevationServerBoundingBox, Bindings.BOOLEAN);
+                Boolean notInSimulation = graph.getPossibleRelatedValue(visualisationResource, DN.Diagram_Visualisations_NotInSimulation, Bindings.BOOLEAN);
+                
+                DynamicVisualisation visualisation = new DynamicVisualisation(name, visualisationResource,
+                        interval != null ? interval : 2000,
+                        disabledUpdates != null ? disabledUpdates : false,
+                        resetVisualisation != null ? resetVisualisation : false,
+                        colorContributions,
+                        defaultColoringObjects,
+                        colorBarOptions,
+                        sizeContributions,
+                        defaultSizingObjects,
+                        sizeBarOptions,
+                        defaultArrowObjects,
+                        arrowContributions,
+                        staticInformationContributionObjects,
+                        dynamicSymbolContributionObjects,
+                        hideEdges != null ? hideEdges : false,
+                        hidePoints != null ? hidePoints : false,
+                        hideConsumers != null ? hideConsumers : false,
+                        hideProducers != null ? hideProducers : false,
+                        hideValves != null ? hideValves : false,
+                        hidePumpingStations != null ? hidePumpingStations : false,
+                        staticPropertiesNetworkBranch != null ? staticPropertiesNetworkBranch : false,
+                        staticProperiesPoints != null ? staticProperiesPoints : false,
+                        staticPropertiesConsumers != null ? staticPropertiesConsumers : false,
+                        dynamicSymbolsProducers != null ? dynamicSymbolsProducers : false,
+                        dynamicSymbolsShutoffValves != null ? dynamicSymbolsShutoffValves : false,
+                        dynamicSymbolsValves != null ? dynamicSymbolsValves : false,
+                        dynamicSymbolsPumpingStations != null ? dynamicSymbolsPumpingStations : false,
+                        keyVariablesVertexHover != null ? keyVariablesVertexHover : false,
+                        keyVariablesEdgesHover != null ? keyVariablesEdgesHover : false,
+                        showElevationServerBoundingBox != null ? showElevationServerBoundingBox : false,
+                        notInSimulation != null ? notInSimulation : false
+                    );
                 return visualisation; 
             }
         }