diff options
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.java | 54 |
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() { } +} |