diff --git a/bramble-core/src/test/java/org/briarproject/bramble/test/RunAction.java b/bramble-core/src/test/java/org/briarproject/bramble/test/RunAction.java index 0ec8d7ac8..79fb71220 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/test/RunAction.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/test/RunAction.java @@ -7,7 +7,7 @@ import org.jmock.api.Invocation; public class RunAction implements Action { @Override - public Object invoke(Invocation invocation) throws Throwable { + public Object invoke(Invocation invocation) { Runnable task = (Runnable) invocation.getParameter(0); task.run(); return null; diff --git a/bramble-core/src/test/java/org/briarproject/bramble/test/RunTransactionAction.java b/bramble-core/src/test/java/org/briarproject/bramble/test/RunTransactionAction.java index 7ee016201..0e55a4be7 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/test/RunTransactionAction.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/test/RunTransactionAction.java @@ -1,17 +1,18 @@ package org.briarproject.bramble.test; +import org.briarproject.bramble.api.db.CommitAction; import org.briarproject.bramble.api.db.DbRunnable; +import org.briarproject.bramble.api.db.TaskAction; import org.briarproject.bramble.api.db.Transaction; import org.hamcrest.Description; import org.jmock.api.Action; import org.jmock.api.Invocation; -public class RunTransactionAction implements Action { +class RunTransactionAction implements Action { private final Transaction txn; - @SuppressWarnings("WeakerAccess") - public RunTransactionAction(Transaction txn) { + RunTransactionAction(Transaction txn) { this.txn = txn; } @@ -19,6 +20,10 @@ public class RunTransactionAction implements Action { public Object invoke(Invocation invocation) throws Throwable { DbRunnable task = (DbRunnable) invocation.getParameter(1); task.run(txn); + for (CommitAction action : txn.getActions()) { + if (action instanceof TaskAction) + ((TaskAction) action).getTask().run(); + } return null; } @@ -26,5 +31,4 @@ public class RunTransactionAction implements Action { public void describeTo(Description description) { description.appendText("runs a task inside a database transaction"); } - } diff --git a/bramble-core/src/test/java/org/briarproject/bramble/test/RunTransactionWithNullableResultAction.java b/bramble-core/src/test/java/org/briarproject/bramble/test/RunTransactionWithNullableResultAction.java index 9ed991c92..1534f3236 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/test/RunTransactionWithNullableResultAction.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/test/RunTransactionWithNullableResultAction.java @@ -1,16 +1,18 @@ package org.briarproject.bramble.test; +import org.briarproject.bramble.api.db.CommitAction; import org.briarproject.bramble.api.db.NullableDbCallable; +import org.briarproject.bramble.api.db.TaskAction; import org.briarproject.bramble.api.db.Transaction; import org.hamcrest.Description; import org.jmock.api.Action; import org.jmock.api.Invocation; -public class RunTransactionWithNullableResultAction implements Action { +class RunTransactionWithNullableResultAction implements Action { private final Transaction txn; - public RunTransactionWithNullableResultAction(Transaction txn) { + RunTransactionWithNullableResultAction(Transaction txn) { this.txn = txn; } @@ -18,7 +20,12 @@ public class RunTransactionWithNullableResultAction implements Action { public Object invoke(Invocation invocation) throws Throwable { NullableDbCallable task = (NullableDbCallable) invocation.getParameter(1); - return task.call(txn); + Object result = task.call(txn); + for (CommitAction action : txn.getActions()) { + if (action instanceof TaskAction) + ((TaskAction) action).getTask().run(); + } + return result; } @Override diff --git a/bramble-core/src/test/java/org/briarproject/bramble/test/RunTransactionWithResultAction.java b/bramble-core/src/test/java/org/briarproject/bramble/test/RunTransactionWithResultAction.java index cbd22b126..d2089e97d 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/test/RunTransactionWithResultAction.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/test/RunTransactionWithResultAction.java @@ -1,23 +1,30 @@ package org.briarproject.bramble.test; +import org.briarproject.bramble.api.db.CommitAction; import org.briarproject.bramble.api.db.DbCallable; +import org.briarproject.bramble.api.db.TaskAction; import org.briarproject.bramble.api.db.Transaction; import org.hamcrest.Description; import org.jmock.api.Action; import org.jmock.api.Invocation; -public class RunTransactionWithResultAction implements Action { +class RunTransactionWithResultAction implements Action { private final Transaction txn; - public RunTransactionWithResultAction(Transaction txn) { + RunTransactionWithResultAction(Transaction txn) { this.txn = txn; } @Override public Object invoke(Invocation invocation) throws Throwable { DbCallable task = (DbCallable) invocation.getParameter(1); - return task.call(txn); + Object result = task.call(txn); + for (CommitAction action : txn.getActions()) { + if (action instanceof TaskAction) + ((TaskAction) action).getTask().run(); + } + return result; } @Override