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.district.network.visualisations.DynamicVisualisations;
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);
+ public DynamicVisualisationsRequest(Resource parent) {
+ super(parent);
}
@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;
+ List<NamedResource> results = new ArrayList<>();
+ Resource visualisationFolder = DynamicVisualisations.getVisualisationFolder(graph, resource);
+ if (visualisationFolder != null) {
+ Collection<Resource> visualisationResources = graph.getObjects(visualisationFolder, DN.Diagram_hasVisualisation);
+ 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;
}
}