1 package org.simantics.db.impl.graph;
\r
3 import org.simantics.db.Resource;
\r
4 import org.simantics.db.common.utils.Logger;
\r
5 import org.simantics.db.impl.query.IntProcedure;
\r
6 import org.simantics.db.impl.query.QuerySupport;
\r
7 import org.simantics.db.procedure.AsyncMultiProcedure;
\r
9 public class MultiIntProcedure implements IntProcedure {
\r
11 final private AsyncMultiProcedure<Resource> procedure;
\r
12 final private ReadGraphImpl impl;
\r
13 final private QuerySupport support;
\r
15 public MultiIntProcedure(AsyncMultiProcedure<Resource> procedure, ReadGraphImpl impl, QuerySupport support) {
\r
16 this.procedure = procedure;
\r
18 this.support = support;
\r
22 public void execute(ReadGraphImpl graph, int i) {
\r
24 procedure.execute(graph, support.getResource(i));
\r
25 } catch (Throwable t2) {
\r
26 Logger.defaultLogError(t2);
\r
31 public void finished(ReadGraphImpl graph) {
\r
33 procedure.finished(graph);
\r
34 // impl.state.barrier.dec(this);
\r
35 } catch (Throwable t2) {
\r
36 Logger.defaultLogError(t2);
\r
41 public void exception(ReadGraphImpl graph, Throwable t) {
\r
43 procedure.exception(graph, t);
\r
44 } catch (Throwable t2) {
\r
45 Logger.defaultLogError(t2);
\r
47 // impl.state.barrier.dec("ReadGraphSupportImpl.516");
\r
51 public String toString() {
\r
52 return "forEachObject with " + procedure;
\r