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%2Fadapter%2Fimpl%2FEntityInstances.java;h=7717f04483de9be3e55953be82c6f4f8189328be;hp=428b96a5db558a8faa9a28b29b867c60d84e93f2;hb=d7afa23;hpb=c46f0ff4dd8a3adc57658770827a105209f428a0 diff --git a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/adapter/impl/EntityInstances.java b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/adapter/impl/EntityInstances.java index 428b96a5d..7717f0448 100644 --- a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/adapter/impl/EntityInstances.java +++ b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/adapter/impl/EntityInstances.java @@ -174,8 +174,10 @@ public class EntityInstances implements Instances { public Collection find(ReadGraph graph, Resource index, String filter) throws DatabaseException { CollectionSupport coll = graph.getService(CollectionSupport.class); - List rec = findRec(graph, index, filter, new THashSet()); + THashSet visited = new THashSet<>(); + List rec = findRec(graph, index, filter, visited); for(Resource global : Layer0Utils.listGlobalOntologies(graph)) { + if (!visited.add(global)) continue; List rs = graph.syncRequest(new QueryIndex(global, type, filter), TransientCacheListener.>instance()); if(rec.isEmpty() && !rs.isEmpty()) { // TODO: rec could be an immutable empty list