]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/migration/OntologiesFromLibrary.java
Fixed index query and ontology search request behavior
[simantics/platform.git] / bundles / org.simantics.db.layer0 / src / org / simantics / db / layer0 / migration / OntologiesFromLibrary.java
index c715a6401aaa5c52f2329ac4ce808e746d052b72..774c6465a3a327e0da60b73c97a9a645291b6554 100644 (file)
@@ -19,6 +19,7 @@ import org.simantics.db.Resource;
 import org.simantics.db.common.request.ObjectsWithType;
 import org.simantics.db.common.request.ResourceRead;
 import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.request.RequestFlags;
 import org.simantics.layer0.Layer0;
 
 public class OntologiesFromLibrary extends ResourceRead<List<Resource>> {
@@ -32,12 +33,20 @@ public class OntologiesFromLibrary extends ResourceRead<List<Resource>> {
         Layer0 L0 = Layer0.getInstance(graph);
         ArrayList<Resource> result = new ArrayList<Resource>();
         for(Resource r : graph.syncRequest(new ObjectsWithType(resource, L0.ConsistsOf, L0.Library))) {
-            if(graph.isInstanceOf(r, L0.Ontology))
-                result.add(r);
-            else
+            if(graph.isInstanceOf(r, L0.IndexRoot)) {
+                if(graph.isInstanceOf(r, L0.Ontology)) {
+                    result.add(r);
+                }
+            } else {
                 result.addAll(graph.syncRequest(new OntologiesFromLibrary(r)));
+            }
         }
         return result;
     }
 
+    @Override
+    public int getType() {
+        return RequestFlags.IMMEDIATE_UPDATE;
+    }
+
 }