X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.district.network.ui%2Fsrc%2Forg%2Fsimantics%2Fdistrict%2Fnetwork%2Fui%2Ffunction%2FFunctions.java;h=f421c6735e5f48ea642894512d18442ce27d942c;hb=a4395a1da139133059833fb1f909f5033676f8bc;hp=0ea5adf7f7638173ba324b27a610bc931c946c33;hpb=55f42e7fcc2f6733082ab8c150efe3a2b54ff22b;p=simantics%2Fdistrict.git diff --git a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/function/Functions.java b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/function/Functions.java index 0ea5adf7..f421c673 100644 --- a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/function/Functions.java +++ b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/function/Functions.java @@ -32,6 +32,7 @@ import org.simantics.db.Resource; import org.simantics.db.Session; import org.simantics.db.WriteGraph; import org.simantics.db.common.request.IndexRoot; +import org.simantics.db.common.request.ObjectsWithType; import org.simantics.db.common.request.ReadRequest; import org.simantics.db.common.request.WriteRequest; import org.simantics.db.exception.DatabaseException; @@ -40,6 +41,7 @@ import org.simantics.db.exception.ServiceException; import org.simantics.db.layer0.variable.Variable; import org.simantics.db.layer0.variable.Variables.Role; import org.simantics.db.procedure.Procedure; +import org.simantics.diagram.stubs.DiagramResource; import org.simantics.district.network.ontology.DistrictNetworkResource; import org.simantics.layer0.Layer0; import org.simantics.modeling.ModelingResources; @@ -280,9 +282,11 @@ public class Functions { } protected Map getComposites(ReadGraph graph, Resource element) throws DatabaseException { + Resource indexRoot = graph.sync(new IndexRoot(element)); - List composites = ModelingUtils.searchByType(graph, indexRoot, StructuralResource2.getInstance(graph).Composite); - List nonDistrictComposites = composites.stream().filter(comp -> { + List diagrams = ModelingUtils.searchByType(graph, indexRoot, DiagramResource.getInstance(graph).Diagram); + + List nonDistrictComposites = composites.values().stream().filter(comp -> { try { return !graph.isInstanceOf(comp, DistrictNetworkResource.getInstance(graph).Composite); } catch (ServiceException e1) { @@ -297,7 +301,7 @@ public class Functions { String name = graph.getRelatedValue2(mapping, L0.HasName); result.put(name, mapping); } catch (DatabaseException e) { - e.printStackTrace(); + LOGGER.error("Could not read name of " + mapping, e); } }); return result;