X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.db.impl%2Fsrc%2Forg%2Fsimantics%2Fdb%2Fimpl%2Fquery%2FPossibleSuperRelation.java;h=d391cec9c9fc44fe4890fd8acc395d249872b37f;hp=51c6c68d3da238342828090d5a93cca1a0cb2548;hb=0d9b90834ce56b292c00b1a39850ed842c3e4d42;hpb=e5db6157fd8722c946613d4e46d7aaf6bfa92609 diff --git a/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/PossibleSuperRelation.java b/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/PossibleSuperRelation.java index 51c6c68d3..d391cec9c 100644 --- a/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/PossibleSuperRelation.java +++ b/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/PossibleSuperRelation.java @@ -15,6 +15,8 @@ import gnu.trove.procedure.TIntProcedure; import gnu.trove.set.hash.TIntHashSet; import org.simantics.db.Resource; +import org.simantics.db.common.utils.Logger; +import org.simantics.db.exception.DatabaseException; import org.simantics.db.impl.graph.ReadGraphImpl; import org.simantics.db.procedure.AsyncProcedure; import org.simantics.db.procedure.ListenerBase; @@ -36,15 +38,6 @@ final public class PossibleSuperRelation extends UnaryQuery { } - @Override - public UnaryQuery getEntry(QueryProcessor provider) { - return null; - } - - @Override - public void putEntry(QueryProcessor provider) { - } - @Override final public void removeEntry(QueryProcessor provider) { } @@ -65,22 +58,11 @@ final public class PossibleSuperRelation extends UnaryQuery { } public int size() { - if(single == 0) return 0; if(set == null) return 1; return set.size() + 1; - } - // public int[] toArray() { - // - // int[] result = Arrays.copyOf(set.toArray(), set.size() + 1); - // result[set.size()] = single; - // return result; - // - // } - // - public void forEach(TIntProcedure proc) { if(single > 0) proc.execute(single); if(set != null) set.forEach(proc); @@ -88,20 +70,22 @@ final public class PossibleSuperRelation extends UnaryQuery { } - @Override - public Object computeForEach(final ReadGraphImpl graph, final QueryProcessor provider, final IntProcedure procedure, final boolean store) { + //@Override + public Object compute(final ReadGraphImpl graph, final IntProcedure procedure) throws DatabaseException { - provider.querySupport.ensureLoaded(graph, id); - int single = provider.querySupport.getSingleSuperrelation(id); + QueryProcessor processor = graph.processor; + + processor.querySupport.ensureLoaded(graph, id); + int single = processor.querySupport.getSingleSuperrelation(id); if(single > 0) { procedure.execute(graph, single); procedure.finished(graph); return single; } - final int subrelationOf = provider.getSubrelationOf(); + final int subrelationOf = processor.getSubrelationOf(); - final IntSet result = new IntSet(provider.querySupport); + final IntSet result = new IntSet(processor.querySupport); final class DirectProcedure extends Koss implements IntProcedure, TIntProcedure { @Override @@ -129,7 +113,7 @@ final public class PossibleSuperRelation extends UnaryQuery { final DirectProcedure directProc = new DirectProcedure(); - provider.querySupport.getObjects(graph, id, subrelationOf, directProc); + processor.querySupport.getObjects(graph, id, subrelationOf, directProc); int size = directProc.size(); @@ -149,7 +133,11 @@ final public class PossibleSuperRelation extends UnaryQuery { @Override public boolean execute(int arg0) { - procedure.execute(graph, arg0); + try { + procedure.execute(graph, arg0); + } catch (DatabaseException e) { + Logger.defaultLogError(e); + } return true; } @@ -166,17 +154,16 @@ final public class PossibleSuperRelation extends UnaryQuery { @Override public String toString() { - return "SuperRelations2[" + id + "]"; + return "PossibleSuperRelation[" + id + "]"; } @Override - public Object performFromCache(ReadGraphImpl graph, QueryProcessor provider, IntProcedure procedure) { + public Object performFromCache(ReadGraphImpl graph, IntProcedure procedure) { throw new UnsupportedOperationException(); } @Override - public void recompute(ReadGraphImpl graph, QueryProcessor provider) { - + public void recompute(ReadGraphImpl graph) { } }