X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=bundles%2Forg.simantics.modeling%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2FImmutableComponentVariableContentRequest.java;h=33daefbc4b72bbc660eb76cb6909ba2b569868d9;hb=1f8b50d81a1aa1bbd67a77f7cbc1060f2eb805d4;hp=ac08c945e11ce52a9d7618ba95f1ed6bc03429e4;hpb=3850fec72035293b9a4ede780d01aedc5fbc9056;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.modeling/src/org/simantics/modeling/ImmutableComponentVariableContentRequest.java b/bundles/org.simantics.modeling/src/org/simantics/modeling/ImmutableComponentVariableContentRequest.java index ac08c945e..33daefbc4 100644 --- a/bundles/org.simantics.modeling/src/org/simantics/modeling/ImmutableComponentVariableContentRequest.java +++ b/bundles/org.simantics.modeling/src/org/simantics/modeling/ImmutableComponentVariableContentRequest.java @@ -12,8 +12,8 @@ import org.simantics.db.exception.DatabaseException; import org.simantics.db.layer0.request.PropertyInfo; import org.simantics.db.layer0.request.UnescapedPropertyMapOfResource; import org.simantics.layer0.Layer0; +import org.simantics.structural.stubs.StructuralResource2; import org.simantics.structural2.ConnectionImpl; -import org.simantics.structural2.Functions.StructuralChildMapOfResource; import org.simantics.structural2.queries.ConnectionPointMapOfResource; public class ImmutableComponentVariableContentRequest extends ResourceRead { @@ -28,6 +28,11 @@ public class ImmutableComponentVariableContentRequest extends ResourceRead pis = graph.syncRequest(new UnescapedPropertyMapOfResource(resource)); @@ -53,7 +58,15 @@ public class ImmutableComponentVariableContentRequest extends ResourceRead childSet = null; - for(Resource child : graph.syncRequest(new StructuralChildMapOfResource(resource)).values()) { + + Resource container = resource; + Resource possibleType = graph.getPossibleType(resource, STR.Component); + if(possibleType != null) { + Resource def = graph.getPossibleObject(possibleType, STR.IsDefinedBy); + if(def != null) container = def; + } + + for(Resource child : graph.getChildren(container).values()) { if(childSet == null) childSet = new HashSet<>(); childSet.add(child);