]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/adapter/impl/EntityInstances.java
Added new field TypeId to dependency index for exact type searching
[simantics/platform.git] / bundles / org.simantics.db.layer0 / src / org / simantics / db / layer0 / adapter / impl / EntityInstances.java
index ffbec2f5e01ca88222926bb1c03848ed940d692a..838728b17c98169b8f937c09ae811ccdd3bff82e 100644 (file)
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2010 Association for Decentralized Information Management
+ * Copyright (c) 2007, 2019 Association for Decentralized Information Management
  * in Industry THTH ry.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -17,7 +17,6 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Set;
 
-import org.simantics.databoard.Bindings;
 import org.simantics.db.ReadGraph;
 import org.simantics.db.Resource;
 import org.simantics.db.common.primitiverequest.Adapter;
@@ -26,6 +25,7 @@ import org.simantics.db.common.request.ObjectsWithType;
 import org.simantics.db.common.request.TernaryRead;
 import org.simantics.db.exception.DatabaseException;
 import org.simantics.db.layer0.adapter.Instances;
+import org.simantics.db.layer0.genericrelation.Dependencies;
 import org.simantics.db.layer0.genericrelation.IndexQueries;
 import org.simantics.db.layer0.util.Layer0Utils;
 import org.simantics.db.request.ReadExt;
@@ -116,10 +116,7 @@ public class EntityInstances implements Instances {
             StringBuilder sb = new StringBuilder();
             boolean emptyFilter = filter.isEmpty();
             if (emptyFilter || !type.equals(L0.Entity)) {
-                String typeName = graph.getPossibleRelatedValue(type, L0.HasName, Bindings.STRING);
-                if (typeName == null || typeName.isEmpty())
-                    return null;
-                sb.append("Types:").append( IndexQueries.quoteTerm(typeName) );
+                IndexQueries.appendResourceIdTerm(sb, Dependencies.FIELD_TYPE_RESOURCE, type);
             }
             if (!emptyFilter) {
                 if (sb.length() > 0)