]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.impl/src/org/simantics/db/impl/graph/WriteGraphImpl.java
Merge "Multiple reader thread support for db client"
[simantics/platform.git] / bundles / org.simantics.db.impl / src / org / simantics / db / impl / graph / WriteGraphImpl.java
index f640513c62b1ec74ee3eed8dd4f42c7f070cef3c..56fb9ec72f977e967b6a3db6a9366d4d20433657 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
@@ -15,6 +15,7 @@ import java.io.IOException;
 import java.io.PrintWriter;
 import java.io.StringWriter;
 import java.util.TreeMap;
+import java.util.function.Consumer;
 
 import org.simantics.databoard.Bindings;
 import org.simantics.databoard.accessor.Accessor;
@@ -66,7 +67,6 @@ import org.simantics.db.request.WriteResult;
 import org.simantics.db.request.WriteTraits;
 import org.simantics.layer0.Layer0;
 import org.simantics.utils.Development;
-import org.simantics.utils.datastructures.Callback;
 import org.simantics.utils.datastructures.Pair;
 
 import gnu.trove.map.hash.THashMap;
@@ -128,11 +128,6 @@ final public class WriteGraphImpl extends ReadGraphImpl implements WriteGraph {
         return new WriteGraphImpl(parent, processor, writeSupport, provider);
     }
 
-    @Override
-    final public ReadGraphImpl withAsyncParent(CacheEntry parent2) {
-        return new WriteGraphImpl(parent2, processor, writeSupport, provider);
-    }
-
     @Override
     public ReadGraphImpl newRestart(ReadGraphImpl impl) {
 
@@ -243,19 +238,14 @@ final public class WriteGraphImpl extends ReadGraphImpl implements WriteGraph {
     @Override
     public void asyncRequest(DelayedWrite request) {
         assert (request != null);
-        getWriteRequestScheduler().scheduleRequest(request, new Callback<DatabaseException>() {
-
-                       @Override
-                       public void run(DatabaseException parameter) {
-                               if(parameter != null)
-                                       Logger.defaultLogError(parameter);
-                       }
-               
+        getWriteRequestScheduler().scheduleRequest(request, e -> {
+            if(e != null)
+                Logger.defaultLogError(e);
         }, null, Boolean.TRUE);
     }
 
     @Override
-    public void asyncRequest(DelayedWrite request, Callback<DatabaseException> callback) {
+    public void asyncRequest(DelayedWrite request, Consumer<DatabaseException> callback) {
         assert (request != null);
         getWriteRequestScheduler().scheduleRequest(request, callback, null, Boolean.TRUE);
     }
@@ -269,19 +259,14 @@ final public class WriteGraphImpl extends ReadGraphImpl implements WriteGraph {
     @Override
     public void asyncRequest(final Write r) {
         assert (r != null);
-        getWriteRequestScheduler().scheduleRequest(r, new Callback<DatabaseException>() {
-
-                       @Override
-                       public void run(DatabaseException parameter) {
-                               if(parameter != null)
-                                       Logger.defaultLogError(parameter);
-                       }
-               
+        getWriteRequestScheduler().scheduleRequest(r, e -> {
+            if(e != null)
+                Logger.defaultLogError(e);
         }, null, Boolean.TRUE);
     }
 
     @Override
-    public void asyncRequest(Write request, Callback<DatabaseException> callback) {
+    public void asyncRequest(Write request, Consumer<DatabaseException> callback) {
         assert (request != null);
         getWriteRequestScheduler().scheduleRequest(request, callback, null, Boolean.TRUE);
     }
@@ -289,19 +274,14 @@ final public class WriteGraphImpl extends ReadGraphImpl implements WriteGraph {
     @Override
     public void asyncRequest(WriteOnly request) {
         assert (request != null);
-        getWriteRequestScheduler().scheduleRequest(request, new Callback<DatabaseException>() {
-
-                       @Override
-                       public void run(DatabaseException parameter) {
-                               if(parameter != null)
-                                       Logger.defaultLogError(parameter);
-                       }
-               
+        getWriteRequestScheduler().scheduleRequest(request, e -> {
+            if(e != null)
+                Logger.defaultLogError(e);
         }, null, Boolean.TRUE);
     }
     
     @Override
-    public void asyncRequest(WriteOnly request, Callback<DatabaseException> callback) {
+    public void asyncRequest(WriteOnly request, Consumer<DatabaseException> callback) {
         assert (request != null);
         getWriteRequestScheduler().scheduleRequest(request, callback, null, Boolean.TRUE);
     }
@@ -816,7 +796,7 @@ final public class WriteGraphImpl extends ReadGraphImpl implements WriteGraph {
         
         Layer0 b = getBuiltins();
         initBuiltinValues(b);       
-        
+
         Statement literalStatement = getPossibleStatement(resource, predicate);
 
         if(literalStatement != null && resource.equals(literalStatement.getSubject())) {