package org.simantics.district.network.profile; 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.layer0.Layer0; /** * @author Jani Simomaa */ public class DynamicVisualisationsRequest extends ResourceRead> { public DynamicVisualisationsRequest(Resource parent) { super(parent); } @Override public Collection perform(ReadGraph graph) throws DatabaseException { DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph); List results = new ArrayList<>(); Resource visualisationFolder = DistrictNetworkUtil.getVisualisationFolder(graph, resource); if (visualisationFolder != null) { Collection 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 results; } }