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;
*/
public class DynamicVisualisationsRequest extends ResourceRead<Collection<NamedResource>> {
- public DynamicVisualisationsRequest(Resource diagram) {
- super(diagram);
+ public DynamicVisualisationsRequest(Resource parent) {
+ super(parent);
}
@Override
public Collection<NamedResource> perform(ReadGraph graph) throws DatabaseException {
DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph);
- Collection<Resource> visualisationResources = graph.getObjects(resource, DN.Diagram_hasVisualisation);
List<NamedResource> results = new ArrayList<>();
- if (visualisationResources != null && !visualisationResources.isEmpty()) {
- for (Resource visualisationResource : visualisationResources) {
- String name = graph.getRelatedValue(visualisationResource, Layer0.getInstance(graph).HasName);
- results.add(new NamedResource(name, visualisationResource));
+ Resource visualisationFolder = DistrictNetworkUtil.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 results;