[Minor] all commands now lock their elements before doing their work

This commit is contained in:
Robert von Burg 2014-02-26 21:32:12 +01:00
parent b1e24f8a59
commit 1f287fe121
15 changed files with 47 additions and 3 deletions

View File

@ -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())) {

View File

@ -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());

View File

@ -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())) {

View File

@ -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());

View File

@ -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())) {

View File

@ -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!";

View File

@ -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())) {

View File

@ -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!!";

View File

@ -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())) {

View File

@ -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!";

View File

@ -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())) {

View File

@ -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!!";

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}
}