]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.db.impl/src/org/simantics/db/impl/graph/MultiIntProcedure.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.db.impl / src / org / simantics / db / impl / graph / MultiIntProcedure.java
1 package org.simantics.db.impl.graph;\r
2 \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
8 \r
9 public class MultiIntProcedure implements IntProcedure {\r
10 \r
11         final private AsyncMultiProcedure<Resource> procedure;\r
12         final private ReadGraphImpl impl;\r
13         final private QuerySupport support;\r
14         \r
15         public MultiIntProcedure(AsyncMultiProcedure<Resource> procedure, ReadGraphImpl impl, QuerySupport support) {\r
16                 this.procedure = procedure;\r
17                 this.impl = impl;\r
18                 this.support = support;\r
19         }\r
20         \r
21         @Override\r
22         public void execute(ReadGraphImpl graph, int i) {\r
23                 try {\r
24                         procedure.execute(graph, support.getResource(i));\r
25                 } catch (Throwable t2) {\r
26                 Logger.defaultLogError(t2);\r
27                 }\r
28         }\r
29 \r
30         @Override\r
31         public void finished(ReadGraphImpl graph) {\r
32                 try {\r
33                         procedure.finished(graph);\r
34 //                      impl.state.barrier.dec(this);\r
35                 } catch (Throwable t2) {\r
36                 Logger.defaultLogError(t2);\r
37                 }\r
38         }\r
39 \r
40         @Override\r
41         public void exception(ReadGraphImpl graph, Throwable t) {\r
42                 try {\r
43                         procedure.exception(graph, t);\r
44                 } catch (Throwable t2) {\r
45                 Logger.defaultLogError(t2);\r
46                 }\r
47 //              impl.state.barrier.dec("ReadGraphSupportImpl.516");\r
48         }\r
49 \r
50         @Override\r
51         public String toString() {\r
52                 return "forEachObject with " + procedure;\r
53         }\r
54         \r
55 }