diff --git a/src/main/java/li/strolch/command/AddOrderCollectionCommand.java b/src/main/java/li/strolch/command/AddOrderCollectionCommand.java index 0106df9e7..b8cda78ed 100644 --- a/src/main/java/li/strolch/command/AddOrderCollectionCommand.java +++ b/src/main/java/li/strolch/command/AddOrderCollectionCommand.java @@ -56,6 +56,10 @@ public class AddOrderCollectionCommand extends Command { @Override public void doCommand() { + for (Order order : this.orders) { + tx().lock(order); + } + OrderMap orderMap = tx().getOrderMap(); for (Order order : this.orders) { if (orderMap.hasElement(tx(), order.getType(), order.getId())) { diff --git a/src/main/java/li/strolch/command/AddOrderCommand.java b/src/main/java/li/strolch/command/AddOrderCommand.java index a2b2d972d..4a740f9c2 100644 --- a/src/main/java/li/strolch/command/AddOrderCommand.java +++ b/src/main/java/li/strolch/command/AddOrderCommand.java @@ -55,6 +55,8 @@ public class AddOrderCommand extends Command { @Override public void doCommand() { + tx().lock(order); + OrderMap orderMap = tx().getOrderMap(); if (orderMap.hasElement(tx(), this.order.getType(), this.order.getId())) { String msg = MessageFormat.format("The Order {0} already exists!", this.order.getLocator()); diff --git a/src/main/java/li/strolch/command/AddResourceCollectionCommand.java b/src/main/java/li/strolch/command/AddResourceCollectionCommand.java index 1b709bb1a..5c4474f49 100644 --- a/src/main/java/li/strolch/command/AddResourceCollectionCommand.java +++ b/src/main/java/li/strolch/command/AddResourceCollectionCommand.java @@ -56,6 +56,10 @@ public class AddResourceCollectionCommand extends Command { @Override public void doCommand() { + for (Resource resource : this.resources) { + tx().lock(resource); + } + ResourceMap resourceMap = tx().getResourceMap(); for (Resource resource : resources) { if (resourceMap.hasElement(tx(), resource.getType(), resource.getId())) { diff --git a/src/main/java/li/strolch/command/AddResourceCommand.java b/src/main/java/li/strolch/command/AddResourceCommand.java index e7e78ea31..a3fb5c032 100644 --- a/src/main/java/li/strolch/command/AddResourceCommand.java +++ b/src/main/java/li/strolch/command/AddResourceCommand.java @@ -55,6 +55,8 @@ public class AddResourceCommand extends Command { @Override public void doCommand() { + tx().lock(resource); + ResourceMap resourceMap = tx().getResourceMap(); if (resourceMap.hasElement(tx(), this.resource.getType(), this.resource.getId())) { String msg = MessageFormat.format("The Resource {0} already exists!", this.resource.getLocator()); diff --git a/src/main/java/li/strolch/command/RemoveOrderCollectionCommand.java b/src/main/java/li/strolch/command/RemoveOrderCollectionCommand.java index 7ff557e06..fd0e84c7f 100644 --- a/src/main/java/li/strolch/command/RemoveOrderCollectionCommand.java +++ b/src/main/java/li/strolch/command/RemoveOrderCollectionCommand.java @@ -56,6 +56,10 @@ public class RemoveOrderCollectionCommand extends Command { @Override public void doCommand() { + for (Order order : this.orders) { + tx().lock(order); + } + OrderMap orderMap = tx().getOrderMap(); for (Order order : orders) { if (!orderMap.hasElement(tx(), order.getType(), order.getId())) { diff --git a/src/main/java/li/strolch/command/RemoveOrderCommand.java b/src/main/java/li/strolch/command/RemoveOrderCommand.java index 02d5bcf5a..63d434927 100644 --- a/src/main/java/li/strolch/command/RemoveOrderCommand.java +++ b/src/main/java/li/strolch/command/RemoveOrderCommand.java @@ -55,6 +55,8 @@ public class RemoveOrderCommand extends Command { @Override public void doCommand() { + tx().lock(order); + OrderMap orderMap = tx().getOrderMap(); if (!orderMap.hasElement(tx(), this.order.getType(), this.order.getId())) { String msg = "The Order {0} can not be removed as it does not exist!"; diff --git a/src/main/java/li/strolch/command/RemoveResourceCollectionCommand.java b/src/main/java/li/strolch/command/RemoveResourceCollectionCommand.java index 6be5f7d1f..4f21762a7 100644 --- a/src/main/java/li/strolch/command/RemoveResourceCollectionCommand.java +++ b/src/main/java/li/strolch/command/RemoveResourceCollectionCommand.java @@ -56,6 +56,10 @@ public class RemoveResourceCollectionCommand extends Command { @Override public void doCommand() { + for (Resource resource : this.resources) { + tx().lock(resource); + } + ResourceMap resourceMap = tx().getResourceMap(); for (Resource resource : resources) { if (!resourceMap.hasElement(tx(), resource.getType(), resource.getId())) { diff --git a/src/main/java/li/strolch/command/RemoveResourceCommand.java b/src/main/java/li/strolch/command/RemoveResourceCommand.java index b20972d76..796e49acc 100644 --- a/src/main/java/li/strolch/command/RemoveResourceCommand.java +++ b/src/main/java/li/strolch/command/RemoveResourceCommand.java @@ -55,6 +55,8 @@ public class RemoveResourceCommand extends Command { @Override public void doCommand() { + tx().lock(resource); + ResourceMap resourceMap = tx().getResourceMap(); if (!resourceMap.hasElement(tx(), this.resource.getType(), this.resource.getId())) { String msg = "The Resource {0} can not be removed as it does not exist!!"; diff --git a/src/main/java/li/strolch/command/UpdateOrderCollectionCommand.java b/src/main/java/li/strolch/command/UpdateOrderCollectionCommand.java index 0021a63b2..35035950a 100644 --- a/src/main/java/li/strolch/command/UpdateOrderCollectionCommand.java +++ b/src/main/java/li/strolch/command/UpdateOrderCollectionCommand.java @@ -57,6 +57,10 @@ public class UpdateOrderCollectionCommand extends Command { @Override public void doCommand() { + for (Order order : this.orders) { + tx().lock(order); + } + OrderMap orderMap = tx().getOrderMap(); for (Order order : orders) { if (!orderMap.hasElement(tx(), order.getType(), order.getId())) { diff --git a/src/main/java/li/strolch/command/UpdateOrderCommand.java b/src/main/java/li/strolch/command/UpdateOrderCommand.java index a7ad7cde3..2eb297d62 100644 --- a/src/main/java/li/strolch/command/UpdateOrderCommand.java +++ b/src/main/java/li/strolch/command/UpdateOrderCommand.java @@ -56,6 +56,8 @@ public class UpdateOrderCommand extends Command { @Override public void doCommand() { + tx().lock(order); + OrderMap orderMap = tx().getOrderMap(); if (!orderMap.hasElement(tx(), this.order.getType(), this.order.getId())) { String msg = "The Order {0} can not be updated as it does not exist!"; diff --git a/src/main/java/li/strolch/command/UpdateResourceCollectionCommand.java b/src/main/java/li/strolch/command/UpdateResourceCollectionCommand.java index e34f30673..2b6b65d67 100644 --- a/src/main/java/li/strolch/command/UpdateResourceCollectionCommand.java +++ b/src/main/java/li/strolch/command/UpdateResourceCollectionCommand.java @@ -57,6 +57,10 @@ public class UpdateResourceCollectionCommand extends Command { @Override public void doCommand() { + for (Resource resource : this.resources) { + tx().lock(resource); + } + ResourceMap resourceMap = tx().getResourceMap(); for (Resource resource : resources) { if (!resourceMap.hasElement(tx(), resource.getType(), resource.getId())) { diff --git a/src/main/java/li/strolch/command/UpdateResourceCommand.java b/src/main/java/li/strolch/command/UpdateResourceCommand.java index 7c1931549..e3d2c830f 100644 --- a/src/main/java/li/strolch/command/UpdateResourceCommand.java +++ b/src/main/java/li/strolch/command/UpdateResourceCommand.java @@ -56,6 +56,8 @@ public class UpdateResourceCommand extends Command { @Override public void doCommand() { + tx().lock(resource); + ResourceMap resourceMap = tx().getResourceMap(); if (!resourceMap.hasElement(tx(), this.resource.getType(), this.resource.getId())) { String msg = "The Resource {0} can not be updated as it does not exist!!"; diff --git a/src/main/java/li/strolch/command/parameter/AddParameterCommand.java b/src/main/java/li/strolch/command/parameter/AddParameterCommand.java index 675afcea7..f666bc33b 100644 --- a/src/main/java/li/strolch/command/parameter/AddParameterCommand.java +++ b/src/main/java/li/strolch/command/parameter/AddParameterCommand.java @@ -74,8 +74,11 @@ public class AddParameterCommand extends Command { @Override public void doCommand() { + + StrolchRootElement rootElement = this.parameter.getRootElement(); + tx().lock(rootElement); + this.element.addParameter(this.parameter); - StrolchRootElement rootElement = this.element.getRootElement(); replacedElement = new UpdateElementVisitor(tx()).update(rootElement); } diff --git a/src/main/java/li/strolch/command/parameter/RemoveParameterCommand.java b/src/main/java/li/strolch/command/parameter/RemoveParameterCommand.java index e5c9ec04c..1b20520df 100644 --- a/src/main/java/li/strolch/command/parameter/RemoveParameterCommand.java +++ b/src/main/java/li/strolch/command/parameter/RemoveParameterCommand.java @@ -76,8 +76,11 @@ public class RemoveParameterCommand extends Command { @Override public void doCommand() { - this.removedParameter = this.element.removeParameter(this.parameterId); + StrolchRootElement rootElement = this.element.getRootElement(); + tx().lock(rootElement); + + this.removedParameter = this.element.removeParameter(this.parameterId); replacedElement = new UpdateElementVisitor(tx()).update(rootElement); } diff --git a/src/main/java/li/strolch/command/parameter/SetParameterCommand.java b/src/main/java/li/strolch/command/parameter/SetParameterCommand.java index 3740ad4c4..a6f576882 100644 --- a/src/main/java/li/strolch/command/parameter/SetParameterCommand.java +++ b/src/main/java/li/strolch/command/parameter/SetParameterCommand.java @@ -120,6 +120,9 @@ public class SetParameterCommand extends Command { @Override public void doCommand() { + StrolchRootElement rootElement = this.parameter.getRootElement(); + tx().lock(rootElement); + if (this.name != null) { this.oldName = this.parameter.getName(); this.parameter.setName(this.name); @@ -148,7 +151,6 @@ public class SetParameterCommand extends Command { } if (hasChanges()) { - StrolchRootElement rootElement = this.parameter.getRootElement(); replacedElement = new UpdateElementVisitor(tx()).update(rootElement); } }