import java.util.Collection;
import java.util.Set;
import java.util.concurrent.Semaphore;
+import java.util.function.Consumer;
import org.simantics.databoard.accessor.Accessor;
import org.simantics.databoard.binding.Binding;
import org.simantics.databoard.type.Datatype;
+import org.simantics.db.AsyncRequestProcessor;
import org.simantics.db.ReadGraph;
import org.simantics.db.RequestProcessor;
import org.simantics.db.Resource;
import org.simantics.db.Statement;
-import org.simantics.db.VirtualGraph;
import org.simantics.db.WriteGraph;
import org.simantics.db.WriteOnlyGraph;
import org.simantics.db.common.request.DelayedWriteRequest;
import org.simantics.db.procedure.Procedure;
import org.simantics.db.request.DelayedWrite;
import org.simantics.db.request.Read;
-import org.simantics.db.request.UndoTraits;
import org.simantics.db.request.Write;
-import org.simantics.utils.datastructures.Callback;
/**
* Synchronous Transaction. <p>
}
}
- public static void startTransaction(RequestProcessor processor, boolean write) throws DatabaseException {
+ public static void startTransaction(AsyncRequestProcessor processor, boolean write) throws DatabaseException {
startTransaction(processor, write ? Type.WRITE : Type.READ);
}
- public static void startTransaction(RequestProcessor processor, Type type) throws DatabaseException {
+ public static void startTransaction(AsyncRequestProcessor processor, Type type) throws DatabaseException {
switch (type) {
case READ:
{
t.ts = new Semaphore(0);
transactions.set(t);
- Callback<DatabaseException> callback = new Callback<DatabaseException>() {
- @Override
- public void run(DatabaseException parameter) {
- t.error = parameter;
- t.es.release(9999);
- }
+ Consumer<DatabaseException> callback = parameter -> {
+ t.error = parameter;
+ t.es.release(9999);
};
Write request = new Write() {
}
if (!t.commit) throw new CancelTransactionException();
}
- @Override
- public UndoTraits getUndoTraits() {
- return null;
- }
- @Override
- public VirtualGraph getProvider() {
- return null;
- }
};
processor.asyncRequest( request, callback );
t.ts = new Semaphore(0);
transactions.set(t);
- Callback<DatabaseException> callback = new Callback<DatabaseException>() {
- @Override
- public void run(DatabaseException parameter) {
- t.error = parameter;
- t.es.release(9999);
- }
+ Consumer<DatabaseException> callback = parameter -> {
+ t.error = parameter;
+ t.es.release(9999);
};
DelayedWrite request = new DelayedWriteRequest() {