X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.db.indexing%2Fsrc%2Forg%2Fsimantics%2Fdb%2Findexing%2FQueryIndex.java;fp=bundles%2Forg.simantics.db.indexing%2Fsrc%2Forg%2Fsimantics%2Fdb%2Findexing%2FQueryIndex.java;h=671ce43a703eee3d85484e285041943f99d45be2;hb=0ae2b770234dfc3cbb18bd38f324125cf0faca07;hp=20079878fb602e665815a58f67956734ed1d2e3c;hpb=24e2b34260f219f0d1644ca7a138894980e25b14;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.db.indexing/src/org/simantics/db/indexing/QueryIndex.java b/bundles/org.simantics.db.indexing/src/org/simantics/db/indexing/QueryIndex.java index 20079878f..671ce43a7 100644 --- a/bundles/org.simantics.db.indexing/src/org/simantics/db/indexing/QueryIndex.java +++ b/bundles/org.simantics.db.indexing/src/org/simantics/db/indexing/QueryIndex.java @@ -1,43 +1,43 @@ -package org.simantics.db.indexing; - -import java.util.Collection; -import java.util.Collections; -import java.util.Map; - -import org.simantics.db.ReadGraph; -import org.simantics.db.Resource; -import org.simantics.db.common.primitiverequest.Adapter; -import org.simantics.db.common.procedure.adapter.TransientCacheListener; -import org.simantics.db.common.request.BinaryRead; -import org.simantics.db.exception.DatabaseException; -import org.simantics.operation.Layer0X; -import org.simantics.scl.runtime.function.Function; - -/** - * A (cacheable) query to optimize single index queries for immutable - * indexes such as ontologies. - */ -class QueryIndex extends BinaryRead>> { - - public QueryIndex(Resource index, String filter) { - super(index, filter); - } - - @Override - public Collection> perform(ReadGraph graph) throws DatabaseException { - - Layer0X L0X = Layer0X.getInstance(graph); - - @SuppressWarnings({ "unchecked", "rawtypes" }) - Function dependencies = graph.syncRequest(new Adapter(L0X.Dependencies, Function.class), TransientCacheListener.instance()); - - @SuppressWarnings("unchecked") - Collection> results = (Collection>)dependencies.apply(graph, parameter, parameter2); - if (results == null || results.isEmpty()) - return Collections.emptyList(); - - return results; - - } - +package org.simantics.db.indexing; + +import java.util.Collection; +import java.util.Collections; +import java.util.Map; + +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.common.primitiverequest.Adapter; +import org.simantics.db.common.procedure.adapter.TransientCacheListener; +import org.simantics.db.common.request.BinaryRead; +import org.simantics.db.exception.DatabaseException; +import org.simantics.operation.Layer0X; +import org.simantics.scl.runtime.function.Function; + +/** + * A (cacheable) query to optimize single index queries for immutable + * indexes such as ontologies. + */ +class QueryIndex extends BinaryRead>> { + + public QueryIndex(Resource index, String filter) { + super(index, filter); + } + + @Override + public Collection> perform(ReadGraph graph) throws DatabaseException { + + Layer0X L0X = Layer0X.getInstance(graph); + + @SuppressWarnings({ "unchecked", "rawtypes" }) + Function dependencies = graph.syncRequest(new Adapter(L0X.Dependencies, Function.class), TransientCacheListener.instance()); + + @SuppressWarnings("unchecked") + Collection> results = (Collection>)dependencies.apply(graph, parameter, parameter2); + if (results == null || results.isEmpty()) + return Collections.emptyList(); + + return results; + + } + } \ No newline at end of file