X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.district.network%2Fsrc%2Forg%2Fsimantics%2Fdistrict%2Fnetwork%2Fprofile%2FActiveDynamicVisualisationsRequest.java;h=565227d9f56c3a5254339de268cd0c64010913f2;hb=refs%2Fchanges%2F25%2F3425%2F1;hp=52cfd61ccc5951d496d3780a98ee9924571ca8fc;hpb=e764d663bb48dbc4ce86ca5d90c80167d30338a8;p=simantics%2Fdistrict.git diff --git a/org.simantics.district.network/src/org/simantics/district/network/profile/ActiveDynamicVisualisationsRequest.java b/org.simantics.district.network/src/org/simantics/district/network/profile/ActiveDynamicVisualisationsRequest.java index 52cfd61c..565227d9 100644 --- a/org.simantics.district.network/src/org/simantics/district/network/profile/ActiveDynamicVisualisationsRequest.java +++ b/org.simantics.district.network/src/org/simantics/district/network/profile/ActiveDynamicVisualisationsRequest.java @@ -1,14 +1,22 @@ package org.simantics.district.network.profile; +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.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; @@ -20,22 +28,78 @@ import org.simantics.layer0.Layer0; */ public class ActiveDynamicVisualisationsRequest extends ResourceRead { - 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 colorContributions = DistrictNetworkUtil.colorContributions(graph, visualisationResource); - ColorBarOptions colorBarOptions = DistrictNetworkUtil.colorBarOptions(graph, visualisationResource); - Map 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 = 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 disabled = graph.getPossibleRelatedValue(visualisationResource, DN.Diagram_Visualisations_Disabled, Bindings.BOOLEAN); + + Collection dynamicColoringObjects = DynamicVisualisationsContributions.dynamicColoringObjects(graph); + Map defaultColoringObjects = dynamicColoringObjects.stream().collect(Collectors.toMap(dcc -> dcc.getColoringObject().getName(), dcc -> dcc)); + + Collection dynamicSizingObjects = DynamicVisualisationsContributions.dynamicSizingObjects(graph); + Map defaultSizingObjects = dynamicSizingObjects.stream().collect(Collectors.toMap(dcc -> dcc.getSizingObject().getName(), dcc -> dcc)); + + Collection dynamicArrowObjects = DynamicVisualisationsContributions.dynamicEdgeArrowObjects(graph); + Map defaultArrowObjects = dynamicArrowObjects.stream().collect(Collectors.toMap(dac -> dac.getArrowObject().getName(), dac -> dac)); + + Map colorContributions = DynamicVisualisations.colorContributions(graph, visualisationResource); + ColorBarOptions colorBarOptions = DynamicVisualisations.colorBarOptions(graph, visualisationResource); + Map sizeContributions = DynamicVisualisations.sizeContributions(graph, visualisationResource); + SizeBarOptions sizeBarOptions = DynamicVisualisations.sizeBarOptions(graph, visualisationResource); + Map arrowContributions = DynamicVisualisations.arrowContributions(graph, visualisationResource); + + 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); + + DynamicVisualisation visualisation = new DynamicVisualisation(name, visualisationResource, + interval != null ? interval : 2000, + disabled != null ? disabled : false, + colorContributions, + defaultColoringObjects, + colorBarOptions, + sizeContributions, + defaultSizingObjects, + sizeBarOptions, + defaultArrowObjects, + arrowContributions, + 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 + ); + return visualisation; + } } return null; }