From ec3db2ade0c06c141efb7a2678c8192a45fd2704 Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Thu, 16 Feb 2023 09:59:26 +0100 Subject: [PATCH] [Major] Renamed ExecutionHandler.getState() to getExecutionState() --- .../java/li/strolch/execution/Controller.java | 2 +- .../execution/EventBasedExecutionHandler.java | 14 ++++++- .../strolch/execution/ExecutionHandler.java | 40 +++++++++++++++++-- .../SetExecutionHandlerStateService.java | 6 +-- .../StartActivityExecutionService.java | 2 +- .../rest/endpoint/ControlResource.java | 4 +- 6 files changed, 56 insertions(+), 12 deletions(-) diff --git a/service/src/main/java/li/strolch/execution/Controller.java b/service/src/main/java/li/strolch/execution/Controller.java index d6876e3ba..7e46e2d31 100644 --- a/service/src/main/java/li/strolch/execution/Controller.java +++ b/service/src/main/java/li/strolch/execution/Controller.java @@ -211,7 +211,7 @@ public class Controller { return false; } - ExecutionHandlerState state = this.executionHandler.getState(this.realm); + ExecutionHandlerState state = this.executionHandler.getExecutionState(this.realm); if (state == ExecutionHandlerState.Paused) { logger.warn("Ignoring trigger for paused realm " + this.realm); return false; diff --git a/service/src/main/java/li/strolch/execution/EventBasedExecutionHandler.java b/service/src/main/java/li/strolch/execution/EventBasedExecutionHandler.java index 337c9e022..8de365aeb 100644 --- a/service/src/main/java/li/strolch/execution/EventBasedExecutionHandler.java +++ b/service/src/main/java/li/strolch/execution/EventBasedExecutionHandler.java @@ -552,12 +552,22 @@ public class EventBasedExecutionHandler extends ExecutionHandler { } @Override - public ExecutionHandlerState getState(String realm) { + public ExecutionHandlerState getExecutionState() { + return getExecutionState(getDefaultRealm()); + } + + @Override + public ExecutionHandlerState getExecutionState(String realm) { return this.statesByRealm.getOrDefault(realm, ExecutionHandlerState.Running); } @Override - public void setState(Certificate cert, String realm, ExecutionHandlerState state) { + public void getExecutionState(Certificate cert, ExecutionHandlerState state) { + getExecutionState(cert, getDefaultRealm(), state); + } + + @Override + public void getExecutionState(Certificate cert, String realm, ExecutionHandlerState state) { try (StrolchTransaction tx = openTx(realm, cert, false)) { Resource executionHandlerConfig = tx.getResourceBy(TYPE_CONFIGURATION, ExecutionHandler.class.getSimpleName()); diff --git a/service/src/main/java/li/strolch/execution/ExecutionHandler.java b/service/src/main/java/li/strolch/execution/ExecutionHandler.java index f293ed4c4..e88eddb17 100644 --- a/service/src/main/java/li/strolch/execution/ExecutionHandler.java +++ b/service/src/main/java/li/strolch/execution/ExecutionHandler.java @@ -363,14 +363,37 @@ public abstract class ExecutionHandler extends StrolchComponent { public abstract void triggerExecution(String realm); /** - * Get the sate of the execution handler + * Get the state of the execution handler for the default realm + * + * @return the state of the execution handler + * + * @throws IllegalStateException + * if the default realm is not set! + */ + public abstract ExecutionHandlerState getExecutionState(); + + /** + * Get the state of the execution handler for the given realm * * @param realm * the realm for which to get the state * * @return the state of the execution handler */ - public abstract ExecutionHandlerState getState(String realm); + public abstract ExecutionHandlerState getExecutionState(String realm); + + /** + * Set the state for the default realm + * + * @param cert + * certificate to use + * @param state + * the state to set + * + * @throws IllegalStateException + * if the default realm is not set! + */ + public abstract void getExecutionState(Certificate cert, ExecutionHandlerState state); /** * Set the state for the given realm @@ -382,7 +405,18 @@ public abstract class ExecutionHandler extends StrolchComponent { * @param state * the state to set */ - public abstract void setState(Certificate cert, String realm, ExecutionHandlerState state); + public abstract void getExecutionState(Certificate cert, String realm, ExecutionHandlerState state); + + /** + * Archives the given {@link Activity} on the default realm + * + * @param activityLoc + * the {@link Locator} of the {@link Activity} to archive + * + * @throws IllegalStateException + * if the default realm is not set! + */ + public abstract void archiveActivity(Locator activityLoc); /** * Archives the given {@link Activity} diff --git a/service/src/main/java/li/strolch/execution/service/SetExecutionHandlerStateService.java b/service/src/main/java/li/strolch/execution/service/SetExecutionHandlerStateService.java index 6a7a3ad2d..29eb47af0 100644 --- a/service/src/main/java/li/strolch/execution/service/SetExecutionHandlerStateService.java +++ b/service/src/main/java/li/strolch/execution/service/SetExecutionHandlerStateService.java @@ -34,16 +34,16 @@ public class SetExecutionHandlerStateService extends AbstractService { ExecutionHandler executionHandler = getContainer().getComponent(ExecutionHandler.class); - executionHandler.setState(getCertificate(), realm, ExecutionHandlerState.Running); + executionHandler.getExecutionState(getCertificate(), realm, ExecutionHandlerState.Running); executionHandler.triggerExecution(realm); } case "HaltNew" -> { ExecutionHandler executionHandler = getContainer().getComponent(ExecutionHandler.class); - executionHandler.setState(getCertificate(), realm, ExecutionHandlerState.HaltNew); + executionHandler.getExecutionState(getCertificate(), realm, ExecutionHandlerState.HaltNew); } case "Paused" -> { ExecutionHandler executionHandler = getContainer().getComponent(ExecutionHandler.class); - executionHandler.setState(getCertificate(), realm, ExecutionHandlerState.Paused); + executionHandler.getExecutionState(getCertificate(), realm, ExecutionHandlerState.Paused); } case "Trigger" -> { ExecutionHandler executionHandler = getContainer().getComponent(ExecutionHandler.class); diff --git a/service/src/main/java/li/strolch/execution/service/StartActivityExecutionService.java b/service/src/main/java/li/strolch/execution/service/StartActivityExecutionService.java index f5007d9c7..8950de2a3 100644 --- a/service/src/main/java/li/strolch/execution/service/StartActivityExecutionService.java +++ b/service/src/main/java/li/strolch/execution/service/StartActivityExecutionService.java @@ -32,7 +32,7 @@ public class StartActivityExecutionService extends AbstractService activity.accept(inExecutionActivityToJson(tx.getRealmName(), executionHandler))) // .collect(JsonArray::new, JsonArray::add, JsonArray::addAll); - ExecutionHandlerState state = executionHandler.getState(tx.getRealmName()); + ExecutionHandlerState state = executionHandler.getExecutionState(tx.getRealmName()); return ResponseUtil.toResponse(PARAM_STATE, state.name(), activitiesJ); } } @@ -83,7 +83,7 @@ public class ControlResource { public Response getExecutionHandlerState(@Context HttpServletRequest request, @QueryParam("realm") String realm) { ExecutionHandler executionHandler = RestfulStrolchComponent.getInstance().getComponent(ExecutionHandler.class); - String state = executionHandler.getState(realm).name(); + String state = executionHandler.getExecutionState(realm).name(); return ResponseUtil.toResponse(PARAM_STATE, state); }