From 111a75c034a956984948df310c37d77a93394619 Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Tue, 21 Feb 2017 18:48:24 +0100 Subject: [PATCH] [Fix] Lock activities during execution! --- .../li/strolch/execution/command/ExecuteActivityCommand.java | 1 + .../li/strolch/execution/command/SetActionToErrorCommand.java | 1 + .../strolch/execution/command/SetActionToExecutedCommand.java | 1 + .../strolch/execution/command/SetActionToStoppedCommand.java | 1 + .../strolch/execution/command/SetActionToWarningCommand.java | 1 + .../java/li/strolch/execution/policy/SimpleExecution.java | 4 ++-- 6 files changed, 7 insertions(+), 2 deletions(-) diff --git a/li.strolch.service/src/main/java/li/strolch/execution/command/ExecuteActivityCommand.java b/li.strolch.service/src/main/java/li/strolch/execution/command/ExecuteActivityCommand.java index a6f525713..acf166833 100644 --- a/li.strolch.service/src/main/java/li/strolch/execution/command/ExecuteActivityCommand.java +++ b/li.strolch.service/src/main/java/li/strolch/execution/command/ExecuteActivityCommand.java @@ -24,6 +24,7 @@ public class ExecuteActivityCommand extends ExecutionCommand { @Override public void doCommand() { + tx().lock(this.activity.getRootElement()); this.activity.accept(this); } diff --git a/li.strolch.service/src/main/java/li/strolch/execution/command/SetActionToErrorCommand.java b/li.strolch.service/src/main/java/li/strolch/execution/command/SetActionToErrorCommand.java index 58a41b43b..11070c0d3 100644 --- a/li.strolch.service/src/main/java/li/strolch/execution/command/SetActionToErrorCommand.java +++ b/li.strolch.service/src/main/java/li/strolch/execution/command/SetActionToErrorCommand.java @@ -35,6 +35,7 @@ public class SetActionToErrorCommand extends ExecutionCommand { @Override public void doCommand() { + tx().lock(this.action.getRootElement()); ExecutionPolicy executionPolicy = getExecutionPolicy(this.action); executionPolicy.toError(this.action); } diff --git a/li.strolch.service/src/main/java/li/strolch/execution/command/SetActionToExecutedCommand.java b/li.strolch.service/src/main/java/li/strolch/execution/command/SetActionToExecutedCommand.java index 7cbac9037..5a97d9f52 100644 --- a/li.strolch.service/src/main/java/li/strolch/execution/command/SetActionToExecutedCommand.java +++ b/li.strolch.service/src/main/java/li/strolch/execution/command/SetActionToExecutedCommand.java @@ -35,6 +35,7 @@ public class SetActionToExecutedCommand extends ExecutionCommand { @Override public void doCommand() { + tx().lock(this.action.getRootElement()); ExecutionPolicy executionPolicy = getExecutionPolicy(this.action); executionPolicy.toExecuted(this.action); } diff --git a/li.strolch.service/src/main/java/li/strolch/execution/command/SetActionToStoppedCommand.java b/li.strolch.service/src/main/java/li/strolch/execution/command/SetActionToStoppedCommand.java index 19ce4eeac..38ee5b856 100644 --- a/li.strolch.service/src/main/java/li/strolch/execution/command/SetActionToStoppedCommand.java +++ b/li.strolch.service/src/main/java/li/strolch/execution/command/SetActionToStoppedCommand.java @@ -35,6 +35,7 @@ public class SetActionToStoppedCommand extends ExecutionCommand { @Override public void doCommand() { + tx().lock(this.action.getRootElement()); ExecutionPolicy executionPolicy = getExecutionPolicy(this.action); executionPolicy.toStopped(this.action); } diff --git a/li.strolch.service/src/main/java/li/strolch/execution/command/SetActionToWarningCommand.java b/li.strolch.service/src/main/java/li/strolch/execution/command/SetActionToWarningCommand.java index dee58441f..dfd03b35f 100644 --- a/li.strolch.service/src/main/java/li/strolch/execution/command/SetActionToWarningCommand.java +++ b/li.strolch.service/src/main/java/li/strolch/execution/command/SetActionToWarningCommand.java @@ -35,6 +35,7 @@ public class SetActionToWarningCommand extends ExecutionCommand { @Override public void doCommand() { + tx().lock(this.action.getRootElement()); ExecutionPolicy executionPolicy = getExecutionPolicy(this.action); executionPolicy.toWarning(this.action); } diff --git a/li.strolch.service/src/main/java/li/strolch/execution/policy/SimpleExecution.java b/li.strolch.service/src/main/java/li/strolch/execution/policy/SimpleExecution.java index c9fc2e060..d6ca051a8 100644 --- a/li.strolch.service/src/main/java/li/strolch/execution/policy/SimpleExecution.java +++ b/li.strolch.service/src/main/java/li/strolch/execution/policy/SimpleExecution.java @@ -8,7 +8,8 @@ import li.strolch.persistence.api.StrolchTransaction; /** *

- * Simple Execution Policy which sets the state of the action depending on the method called. + * Simple Execution Policy which sets the state of the action depending on the + * method called. *

* * @author Robert von Burg @@ -42,7 +43,6 @@ public class SimpleExecution extends ExecutionPolicy { } protected void setActionState(Action action, State state) { - tx().lock(action.getRootElement()); action.setState(state);