]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.event/src/org/simantics/event/writer/EventSourceResolver.java
Index query fixes after commit 4e7fd7de
[simantics/platform.git] / bundles / org.simantics.event / src / org / simantics / event / writer / EventSourceResolver.java
index a382660ad4f367e978ce5c4a25e2f7bea36e3276..9e2b6667744e409f2a9e5c8f3df9e95598d37d4c 100644 (file)
@@ -15,7 +15,6 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
-import java.util.Map;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.eclipse.core.runtime.IProgressMonitor;
@@ -35,6 +34,7 @@ import org.simantics.db.common.utils.NameUtils;
 import org.simantics.db.exception.CancelTransactionException;
 import org.simantics.db.exception.DatabaseException;
 import org.simantics.db.layer0.genericrelation.Dependencies;
+import org.simantics.db.layer0.genericrelation.IndexQueries;
 import org.simantics.db.layer0.request.PossibleModel;
 import org.simantics.event.Activator;
 import org.simantics.event.ontology.EventResource;
@@ -152,7 +152,7 @@ public class EventSourceResolver extends DatabaseJob {
                         if (model == null)
                             throw new CancelTransactionException();
 
-                        indexFunction = graph.adapt(L0X.Dependencies, Function.class);
+                        indexFunction = graph.adapt(L0X.DependencyResources, Function.class);
 
                         if (!initialEventsResolved) {
                             MapList<String, Resource> initialEventsBySource = new MapList<String,Resource>();
@@ -201,9 +201,9 @@ public class EventSourceResolver extends DatabaseJob {
                         monitor.subTask("Resolve events with source " + sourceName);
                         if (DEBUG)
                             System.out.println(EventSourceResolver.this + ": resolving source name " + sourceName);
-                        List<Map<String, Object>> results = (List<Map<String, Object>>) indexFunction.apply(graph, model, "Name:" + sourceName);
-                        for (Map<String, Object> result : results) {
-                            Resource r = (Resource) result.get(Dependencies.FIELD_RESOURCE);
+                        List<Resource> results = (List<Resource>) indexFunction.apply(graph, model,
+                                IndexQueries.quoteTerm(Dependencies.FIELD_NAME, sourceName));
+                        for (Resource r : results) {
                             if (eventSourceFilter != null && !eventSourceFilter.accept(graph, r))
                                 continue;
                             Resource rModel = graph.sync(new PossibleModel(r));