Repository: incubator-nifi Updated Branches: refs/heads/NIFI-250 d122a8363 -> 40670067c
NIFI-250: - Only handling new controller service state if it's actually different than the current value. Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/52ea335d Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/52ea335d Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/52ea335d Branch: refs/heads/NIFI-250 Commit: 52ea335d7c7e75b01f604a13c15f2b30c1b8df5c Parents: 50f0c12 Author: Matt Gilman <[email protected]> Authored: Fri Mar 13 11:07:31 2015 -0400 Committer: Matt Gilman <[email protected]> Committed: Fri Mar 13 11:07:31 2015 -0400 ---------------------------------------------------------------------- .../dao/impl/StandardControllerServiceDAO.java | 28 ++++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/52ea335d/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardControllerServiceDAO.java ---------------------------------------------------------------------- diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardControllerServiceDAO.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardControllerServiceDAO.java index 38abf64..676c203 100644 --- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardControllerServiceDAO.java +++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardControllerServiceDAO.java @@ -124,12 +124,15 @@ public class StandardControllerServiceDAO extends ComponentDAO implements Contro // enable or disable as appropriate if (isNotNull(controllerServiceDTO.getState())) { - final ControllerServiceState controllerServiceState = ControllerServiceState.valueOf(controllerServiceDTO.getState()); + final ControllerServiceState purposedControllerServiceState = ControllerServiceState.valueOf(controllerServiceDTO.getState()); - if (ControllerServiceState.ENABLED.equals(controllerServiceState)) { - serviceProvider.enableControllerService(controllerService); - } else if (ControllerServiceState.DISABLED.equals(controllerServiceState)) { - serviceProvider.disableControllerService(controllerService); + // only attempt an action if it is changing + if (!purposedControllerServiceState.equals(controllerService.getState())) { + if (ControllerServiceState.ENABLED.equals(purposedControllerServiceState)) { + serviceProvider.enableControllerService(controllerService); + } else if (ControllerServiceState.DISABLED.equals(purposedControllerServiceState)) { + serviceProvider.disableControllerService(controllerService); + } } } @@ -213,17 +216,20 @@ public class StandardControllerServiceDAO extends ComponentDAO implements Contro if (isNotNull(controllerServiceDTO.getState())) { try { // attempt to parse the service state - final ControllerServiceState controllerServiceState = ControllerServiceState.valueOf(controllerServiceDTO.getState()); + final ControllerServiceState purposedControllerServiceState = ControllerServiceState.valueOf(controllerServiceDTO.getState()); // ensure the state is valid - if (ControllerServiceState.ENABLING.equals(controllerServiceState) || ControllerServiceState.DISABLING.equals(controllerServiceState)) { + if (ControllerServiceState.ENABLING.equals(purposedControllerServiceState) || ControllerServiceState.DISABLING.equals(purposedControllerServiceState)) { throw new IllegalArgumentException(); } - if (ControllerServiceState.ENABLED.equals(controllerServiceState)) { - controllerService.verifyCanEnable(); - } else if (ControllerServiceState.DISABLED.equals(controllerServiceState)) { - controllerService.verifyCanDisable(); + // only attempt an action if it is changing + if (!purposedControllerServiceState.equals(controllerService.getState())) { + if (ControllerServiceState.ENABLED.equals(purposedControllerServiceState)) { + controllerService.verifyCanEnable(); + } else if (ControllerServiceState.DISABLED.equals(purposedControllerServiceState)) { + controllerService.verifyCanDisable(); + } } } catch (IllegalArgumentException iae) { throw new IllegalArgumentException("Controller Service state: Value must be one of [ENABLED, DISABLED]");
