]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/SyncIntProcedure.java
Multiple reader thread support for db client
[simantics/platform.git] / bundles / org.simantics.db.impl / src / org / simantics / db / impl / query / SyncIntProcedure.java
index f79910358e1706770f8fb033dcbb39e68de9aeb1..c03f63b5ea56497ec236611aa58463bb3c44b2a8 100644 (file)
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2010 Association for Decentralized Information Management
+ * Copyright (c) 2007, 2018 Association for Decentralized Information Management
  * in Industry THTH ry.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  *******************************************************************************/
 package org.simantics.db.impl.query;
 
+import org.simantics.db.exception.DatabaseException;
 import org.simantics.db.impl.graph.ReadGraphImpl;
 
-
-abstract public class SyncIntProcedure implements IntProcedure, ThreadRunnable {
+public abstract class SyncIntProcedure implements IntProcedure, ThreadRunnable {
 
        int barrier = 1;
-//     
+
 //    final private AtomicInteger barrier = new AtomicInteger(1);
-    
+
     public SyncIntProcedure() {
     }
-    
-    final protected void inc() {
-//     System.err.println("inc " + barrier.get());
+
+    protected final void inc() {
+//        System.err.println("inc " + barrier.get());
        ++barrier;
-//     barrier.incrementAndGet();
+//        barrier.incrementAndGet();
     }
-    
-    final protected void dec(ReadGraphImpl graph) {
-//     System.err.println("dec " + barrier.get());
-       if((--barrier) == 0) {
+
+    protected final void dec(ReadGraphImpl graph) throws DatabaseException {
+//        System.err.println("dec " + barrier.get());
+        if((--barrier) == 0) {
             run(graph);
-       }
+        }
     }
-    
+
     @Override
-    public void exception(ReadGraphImpl graph, Throwable t) {
-       throw new Error("Errors are not supported,", t);
+    public void exception(ReadGraphImpl graph, Throwable t) throws DatabaseException {
+        throw new Error("Errors are not supported,", t);
     }
-    
+
 }