aboutsummaryrefslogtreecommitdiffstats
path: root/configserver/src/test/java/com/yahoo/vespa/config/server/session/DummyTransaction.java
diff options
context:
space:
mode:
Diffstat (limited to 'configserver/src/test/java/com/yahoo/vespa/config/server/session/DummyTransaction.java')
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/session/DummyTransaction.java54
1 files changed, 54 insertions, 0 deletions
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/DummyTransaction.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/DummyTransaction.java
new file mode 100644
index 00000000000..ea4455ab99f
--- /dev/null
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/DummyTransaction.java
@@ -0,0 +1,54 @@
+// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.vespa.config.server.session;
+
+import com.yahoo.transaction.Transaction;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Dummy transaction implementation that only does stuff in memory and does not adhere to contract.
+ * @author lulf
+ */
+public class DummyTransaction implements Transaction {
+
+ private final List<Operation> operations = new ArrayList<>();
+
+ public interface RunnableOperation extends Operation, Runnable {
+ }
+
+ public DummyTransaction() { }
+
+ @Override
+ public Transaction add(Operation operation) {
+ this.operations.add(operation);
+ return this;
+ }
+
+ @Override
+ public Transaction add(List<Operation> operations) {
+ this.operations.addAll(operations);
+ return this;
+ }
+
+ @Override
+ public List<Operation> operations() { return new ArrayList<>(operations); }
+
+ @Override
+ public void prepare() { }
+
+ @Override
+ public void commit() {
+ for (Operation op : operations) {
+ ((RunnableOperation)op).run();
+ }
+ }
+
+ @Override
+ public void rollbackOrLog() {
+ throw new IllegalStateException("Unexpected rollback");
+ }
+
+ @Override
+ public void close() { }
+}