From 6bf3ee150909ad6d02fae6f7148a942ccda51422 Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Mon, 23 Jan 2017 16:42:08 +0100 Subject: [PATCH] [New] Added methods on StrolchTransaction and StrolchComponent --- .../strolch/agent/api/StrolchComponent.java | 15 +++++++++++++ .../persistence/api/AbstractTransaction.java | 15 +++++++++++++ .../persistence/api/StrolchTransaction.java | 15 +++++++++++++ .../persistence/api/TransactionState.java | 21 +++++++++++++++++++ .../service/api/DefaultServiceHandler.java | 4 ---- 5 files changed, 66 insertions(+), 4 deletions(-) diff --git a/li.strolch.agent/src/main/java/li/strolch/agent/api/StrolchComponent.java b/li.strolch.agent/src/main/java/li/strolch/agent/api/StrolchComponent.java index 0df8bf6a8..8dd6d2864 100644 --- a/li.strolch.agent/src/main/java/li/strolch/agent/api/StrolchComponent.java +++ b/li.strolch.agent/src/main/java/li/strolch/agent/api/StrolchComponent.java @@ -180,6 +180,21 @@ public class StrolchComponent { this.state = this.state.validateStateChange(ComponentState.DESTROYED); } + /** + * Returns the reference to the {@link StrolchComponent} with the given name, if it exists. If it does not exist, an + * {@link IllegalArgumentException} is thrown + * + * @param clazz + * + * @return the component with the given name + * + * @throws IllegalArgumentException + * if the component does not exist + */ + protected V getComponent(Class clazz) { + return this.container.getComponent(clazz); + } + /** * Performs the given {@link PrivilegedRunnable} as the given system user * diff --git a/li.strolch.agent/src/main/java/li/strolch/persistence/api/AbstractTransaction.java b/li.strolch.agent/src/main/java/li/strolch/persistence/api/AbstractTransaction.java index 8dc4717c0..5901c6408 100644 --- a/li.strolch.agent/src/main/java/li/strolch/persistence/api/AbstractTransaction.java +++ b/li.strolch.agent/src/main/java/li/strolch/persistence/api/AbstractTransaction.java @@ -130,6 +130,11 @@ public abstract class AbstractTransaction implements StrolchTransaction { return this.txResult.getState(); } + @Override + public boolean isOpen() { + return this.txResult.getState().isOpen(); + } + @Override public boolean isRollingBack() { return this.txResult.getState().isRollingBack(); @@ -145,6 +150,16 @@ public abstract class AbstractTransaction implements StrolchTransaction { return this.txResult.getState().isClosing(); } + @Override + public boolean isClosed() { + return this.txResult.getState().isClosed(); + } + + @Override + public boolean isFailed() { + return this.txResult.getState().isFailed(); + } + @Override public String getRealmName() { return this.realm.getRealm(); diff --git a/li.strolch.agent/src/main/java/li/strolch/persistence/api/StrolchTransaction.java b/li.strolch.agent/src/main/java/li/strolch/persistence/api/StrolchTransaction.java index fde191333..f9e61626b 100644 --- a/li.strolch.agent/src/main/java/li/strolch/persistence/api/StrolchTransaction.java +++ b/li.strolch.agent/src/main/java/li/strolch/persistence/api/StrolchTransaction.java @@ -234,6 +234,11 @@ public interface StrolchTransaction extends AutoCloseable { */ public TransactionState getState(); + /** + * @return if the current state of the {@link StrolchTransaction} is {@link TransactionState#OPEN} + */ + public boolean isOpen(); + /** * @return if the current state of the {@link StrolchTransaction} is {@link TransactionState#ROLLING_BACK} */ @@ -249,6 +254,16 @@ public interface StrolchTransaction extends AutoCloseable { */ public boolean isClosing(); + /** + * @return if the current state of the {@link StrolchTransaction} is {@link TransactionState#CLOSED} + */ + public boolean isClosed(); + + /** + * @return if the current state of the {@link StrolchTransaction} is {@link TransactionState#FAILED} + */ + public boolean isFailed(); + /** * If the given argument is true, then no observer updates are performed * diff --git a/li.strolch.agent/src/main/java/li/strolch/persistence/api/TransactionState.java b/li.strolch.agent/src/main/java/li/strolch/persistence/api/TransactionState.java index d0dab5b0a..ef31f143e 100644 --- a/li.strolch.agent/src/main/java/li/strolch/persistence/api/TransactionState.java +++ b/li.strolch.agent/src/main/java/li/strolch/persistence/api/TransactionState.java @@ -50,4 +50,25 @@ public enum TransactionState { public boolean isClosing() { return this == CLOSING; } + + /** + * @return true if this is {@link #OPEN} + */ + public boolean isOpen() { + return this == OPEN; + } + + /** + * @return true if this is {@link #CLOSED} + */ + public boolean isClosed() { + return this == CLOSED; + } + + /** + * @return true if this is {@link #FAILED} + */ + public boolean isFailed() { + return this == FAILED; + } } diff --git a/li.strolch.agent/src/main/java/li/strolch/service/api/DefaultServiceHandler.java b/li.strolch.agent/src/main/java/li/strolch/service/api/DefaultServiceHandler.java index a97275dcf..46bc89416 100644 --- a/li.strolch.agent/src/main/java/li/strolch/service/api/DefaultServiceHandler.java +++ b/li.strolch.agent/src/main/java/li/strolch/service/api/DefaultServiceHandler.java @@ -55,10 +55,6 @@ public class DefaultServiceHandler extends StrolchComponent implements ServiceHa super.initialize(configuration); } - public T getComponent(Class clazz) { - return getContainer().getComponent(clazz); - } - public RuntimeConfiguration getRuntimeConfiguration() { return this.runtimeConfiguration; }