[Minor] Moved finally block in AbstractTransaction to .close()
This commit is contained in:
parent
5764201470
commit
66f638cbd4
|
@ -107,6 +107,7 @@ public abstract class AbstractTransaction implements StrolchTransaction {
|
||||||
this.txResult.setState(TransactionState.OPEN);
|
this.txResult.setState(TransactionState.OPEN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getAction() {
|
public String getAction() {
|
||||||
return this.action;
|
return this.action;
|
||||||
}
|
}
|
||||||
|
@ -125,8 +126,6 @@ public abstract class AbstractTransaction implements StrolchTransaction {
|
||||||
return this.txResult.getState().isOpen();
|
return this.txResult.getState().isOpen();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isRollingBack() {
|
public boolean isRollingBack() {
|
||||||
return this.txResult.getState().isRollingBack();
|
return this.txResult.getState().isRollingBack();
|
||||||
|
@ -193,11 +192,6 @@ public abstract class AbstractTransaction implements StrolchTransaction {
|
||||||
this.closeStrategy = closeStrategy;
|
this.closeStrategy = closeStrategy;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void close() throws StrolchTransactionException {
|
|
||||||
this.closeStrategy.close(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public StrolchTransaction readOnly() {
|
public StrolchTransaction readOnly() {
|
||||||
setCloseStrategy(TransactionCloseStrategy.READ_ONLY);
|
setCloseStrategy(TransactionCloseStrategy.READ_ONLY);
|
||||||
|
@ -333,11 +327,13 @@ public abstract class AbstractTransaction implements StrolchTransaction {
|
||||||
add(command);
|
add(command);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void add(Command command) {
|
public void add(Command command) {
|
||||||
assertNotReadOnly();
|
assertNotReadOnly();
|
||||||
this.commands.add(command);
|
this.commands.add(command);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean isReadOnly() {
|
public boolean isReadOnly() {
|
||||||
return this.closeStrategy.isReadonly();
|
return this.closeStrategy.isReadonly();
|
||||||
}
|
}
|
||||||
|
@ -484,20 +480,13 @@ public abstract class AbstractTransaction implements StrolchTransaction {
|
||||||
String objectClassType = elements.get(0);
|
String objectClassType = elements.get(0);
|
||||||
String type = elements.get(1);
|
String type = elements.get(1);
|
||||||
String id = elements.get(2);
|
String id = elements.get(2);
|
||||||
switch (objectClassType) {
|
rootElement = switch (objectClassType) {
|
||||||
case Tags.RESOURCE:
|
case Tags.RESOURCE -> getResourceBy(type, id);
|
||||||
rootElement = getResourceBy(type, id);
|
case Tags.ORDER -> getOrderBy(type, id);
|
||||||
break;
|
case Tags.ACTIVITY -> getActivityBy(type, id);
|
||||||
case Tags.ORDER:
|
default -> throw new StrolchModelException(
|
||||||
rootElement = getOrderBy(type, id);
|
|
||||||
break;
|
|
||||||
case Tags.ACTIVITY:
|
|
||||||
rootElement = getActivityBy(type, id);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
throw new StrolchModelException(
|
|
||||||
MessageFormat.format("Unknown object class {0}", objectClassType)); //$NON-NLS-1$
|
MessageFormat.format("Unknown object class {0}", objectClassType)); //$NON-NLS-1$
|
||||||
}
|
};
|
||||||
|
|
||||||
if (rootElement == null) {
|
if (rootElement == null) {
|
||||||
if (allowNull)
|
if (allowNull)
|
||||||
|
@ -549,9 +538,7 @@ public abstract class AbstractTransaction implements StrolchTransaction {
|
||||||
StrolchTimedState<IValue<?>> timedState = resource.getTimedState(stateId);
|
StrolchTimedState<IValue<?>> timedState = resource.getTimedState(stateId);
|
||||||
return (T) timedState;
|
return (T) timedState;
|
||||||
|
|
||||||
} else if (rootElement instanceof Activity) {
|
} else if (rootElement instanceof Activity activity) {
|
||||||
|
|
||||||
Activity activity = (Activity) rootElement;
|
|
||||||
|
|
||||||
Iterator<String> iter = elements.subList(3, elements.size()).iterator();
|
Iterator<String> iter = elements.subList(3, elements.size()).iterator();
|
||||||
IActivityElement element = activity;
|
IActivityElement element = activity;
|
||||||
|
@ -601,19 +588,12 @@ public abstract class AbstractTransaction implements StrolchTransaction {
|
||||||
if (parentP == null || parentP.isEmpty())
|
if (parentP == null || parentP.isEmpty())
|
||||||
break;
|
break;
|
||||||
|
|
||||||
switch (parentP.getInterpretation()) {
|
parent = switch (parentP.getInterpretation()) {
|
||||||
case INTERPRETATION_RESOURCE_REF:
|
case INTERPRETATION_RESOURCE_REF -> getResourceBy(parentP);
|
||||||
parent = getResourceBy(parentP);
|
case INTERPRETATION_ORDER_REF -> getOrderBy(parentP);
|
||||||
break;
|
case INTERPRETATION_ACTIVITY_REF -> getActivityBy(parentP);
|
||||||
case INTERPRETATION_ORDER_REF:
|
default -> throw new IllegalStateException("Unhandled element ref " + parentP.getInterpretation());
|
||||||
parent = getOrderBy(parentP);
|
};
|
||||||
break;
|
|
||||||
case INTERPRETATION_ACTIVITY_REF:
|
|
||||||
parent = getActivityBy(parentP);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
throw new IllegalStateException("Unhandled element ref " + parentP.getInterpretation());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (parent == null)
|
if (parent == null)
|
||||||
break;
|
break;
|
||||||
|
@ -645,16 +625,11 @@ public abstract class AbstractTransaction implements StrolchTransaction {
|
||||||
if (op == null)
|
if (op == null)
|
||||||
return Operation.GET;
|
return Operation.GET;
|
||||||
|
|
||||||
switch (op) {
|
return switch (op) {
|
||||||
case ADD:
|
case ADD -> Operation.ADD;
|
||||||
return Operation.ADD;
|
case MODIFY -> Operation.UPDATE;
|
||||||
case MODIFY:
|
case REMOVE -> Operation.REMOVE;
|
||||||
return Operation.UPDATE;
|
};
|
||||||
case REMOVE:
|
|
||||||
return Operation.REMOVE;
|
|
||||||
default:
|
|
||||||
return Operation.GET;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1593,10 +1568,6 @@ public abstract class AbstractTransaction implements StrolchTransaction {
|
||||||
this.txResult.setState(TransactionState.FAILED);
|
this.txResult.setState(TransactionState.FAILED);
|
||||||
|
|
||||||
handleFailure(true, start, e);
|
handleFailure(true, start, e);
|
||||||
|
|
||||||
} finally {
|
|
||||||
releaseElementLocks();
|
|
||||||
TransactionThreadLocal.removeTx();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1613,9 +1584,6 @@ public abstract class AbstractTransaction implements StrolchTransaction {
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
handleFailure(true, start, e);
|
handleFailure(true, start, e);
|
||||||
this.txResult.setState(TransactionState.FAILED);
|
this.txResult.setState(TransactionState.FAILED);
|
||||||
} finally {
|
|
||||||
releaseElementLocks();
|
|
||||||
TransactionThreadLocal.removeTx();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1657,6 +1625,13 @@ public abstract class AbstractTransaction implements StrolchTransaction {
|
||||||
}
|
}
|
||||||
handleFailure(true, start, e);
|
handleFailure(true, start, e);
|
||||||
this.txResult.setState(TransactionState.FAILED);
|
this.txResult.setState(TransactionState.FAILED);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void close() throws StrolchTransactionException {
|
||||||
|
try {
|
||||||
|
this.closeStrategy.close(this);
|
||||||
} finally {
|
} finally {
|
||||||
releaseElementLocks();
|
releaseElementLocks();
|
||||||
TransactionThreadLocal.removeTx();
|
TransactionThreadLocal.removeTx();
|
||||||
|
|
Loading…
Reference in New Issue