X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.db.layer0%2Fsrc%2Forg%2Fsimantics%2Fdb%2Flayer0%2Futil%2FSubgraphs.java;h=518efc882e45964dafb612ced7068636972a6f6b;hp=c7e697e6291773b58e44d8bd3a8c2afbf0952442;hb=e19c37f84fd1ce2d946578f7c05f3e45444ba67a;hpb=93e70f713558f9826b78ad54929f80e52d8c824b diff --git a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/util/Subgraphs.java b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/util/Subgraphs.java index c7e697e62..518efc882 100644 --- a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/util/Subgraphs.java +++ b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/util/Subgraphs.java @@ -991,7 +991,8 @@ public class Subgraphs { * � All o are internal * � All stm are included */ - List entries = ConsistsOfProcess.walk(graph, null, fringe, exclusions, true); + Pair,Set> pair = ConsistsOfProcess.walk(graph, null, fringe, exclusions, true); + List entries = pair.first; for(InternalEntry entry : entries) { Resource r = entry.resource; if (status.put(r, ExtentStatus.INTERNAL) == null) { @@ -1003,6 +1004,12 @@ public class Subgraphs { } } + for(Resource unnamedChild : pair.second) { + if (status.put(unnamedChild, ExtentStatus.INTERNAL) == null) { + fringe.add(unnamedChild); + } + } + /* * This loop resolves the transitive closure of all p < IsRelatedTo such that p does not contain the SharedRange tag. * Such resources are guaranteed to be internal.