package org.simantics.district.network.profile; import java.util.Map; 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.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 ActiveDynamicVisualisationsRequest extends ResourceRead { public ActiveDynamicVisualisationsRequest(Resource parent) { super(parent); } @Override public DynamicVisualisation perform(ReadGraph graph) throws DatabaseException { DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph); 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 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; } } return null; } }