Fixes
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/eb656c1e Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/eb656c1e Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/eb656c1e Branch: refs/heads/master Commit: eb656c1ecf209f54ce291123f4dca3eb580792ae Parents: 833f360 Author: Vishanth <[email protected]> Authored: Thu May 14 10:31:21 2015 +0530 Committer: Vishanth <[email protected]> Committed: Thu May 14 10:31:21 2015 +0530 ---------------------------------------------------------------------- .../rest/endpoint/api/StratosApiV41Utils.java | 59 ++++++++++---------- 1 file changed, 30 insertions(+), 29 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/eb656c1e/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java index ab798c7..26cb87e 100644 --- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java +++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java @@ -1101,44 +1101,45 @@ public class StratosApiV41Utils { //validate the group definition to check for cyclic group behaviour validateGroupDuplicationInGroupDefinition(cartridgeGroup); - List<String> cartridgesBeforeUpdating = new ArrayList<String>(); - List<String> cartridgesAfterUpdating = new ArrayList<String>(); + if (serviceGroup != null) { + autoscalerServiceClient.updateServiceGroup( + ObjectConverter.convertServiceGroupDefinitionToASStubServiceGroup(cartridgeGroup)); + + List<String> cartridgesBeforeUpdating = new ArrayList<String>(); + List<String> cartridgesAfterUpdating = new ArrayList<String>(); - ServiceGroup serviceGroupToBeUpdated = autoscalerServiceClient.getServiceGroup(cartridgeGroup.getName()); - findCartridgesInServiceGroup(serviceGroupToBeUpdated, cartridgesBeforeUpdating); - findCartridgesInGroupBean(cartridgeGroup, cartridgesAfterUpdating); + ServiceGroup serviceGroupToBeUpdated = autoscalerServiceClient.getServiceGroup(cartridgeGroup.getName()); + findCartridgesInServiceGroup(serviceGroupToBeUpdated, cartridgesBeforeUpdating); + findCartridgesInGroupBean(cartridgeGroup, cartridgesAfterUpdating); - List<String> cartridgesToRemove = cartridgesBeforeUpdating; - List<String> cartridgesToAdd = cartridgesAfterUpdating; - if ((cartridgesBeforeUpdating != null) || (!cartridgesBeforeUpdating.isEmpty()) || - (cartridgesAfterUpdating != null) || (!cartridgesAfterUpdating.isEmpty())) { + List<String> cartridgesToRemove = cartridgesBeforeUpdating; + List<String> cartridgesToAdd = cartridgesAfterUpdating; - for (String before : cartridgesBeforeUpdating) { - for (String after : cartridgesAfterUpdating) { - if (before.equals(after)) { - cartridgesToRemove.remove(after); - cartridgesToAdd.remove(after); + if ((cartridgesBeforeUpdating != null) || (!cartridgesBeforeUpdating.isEmpty()) || + (cartridgesAfterUpdating != null) || (!cartridgesAfterUpdating.isEmpty())) { + + for (String before : cartridgesBeforeUpdating) { + for (String after : cartridgesAfterUpdating) { + if (before.equals(after)) { + cartridgesToRemove.remove(after); + cartridgesToAdd.remove(after); + } } } } - } - - // Add cartridge group elements to SM cache - done after cartridge group has been updated - if (cartridgesToAdd != null || !cartridgesToAdd.isEmpty()) { - smServiceClient.addUsedCartridgesInCartridgeGroups(cartridgeGroup.getName(), - cartridgesToAdd.toArray(new String[cartridgesToRemove.size()])); - } - // Remove cartridge group elements from SM cache - done after cartridge group has been updated - if (cartridgesToRemove != null || !cartridgesToRemove.isEmpty()) { - smServiceClient.removeUsedCartridgesInCartridgeGroups(cartridgeGroup.getName(), - cartridgesToRemove.toArray(new String[cartridgesToRemove.size()])); - } + // Add cartridge group elements to SM cache - done after cartridge group has been updated + if (cartridgesToAdd != null || !cartridgesToAdd.isEmpty()) { + smServiceClient.addUsedCartridgesInCartridgeGroups(cartridgeGroup.getName(), + cartridgesToAdd.toArray(new String[cartridgesToRemove.size()])); + } - if (serviceGroup != null) { - autoscalerServiceClient.updateServiceGroup( - ObjectConverter.convertServiceGroupDefinitionToASStubServiceGroup(cartridgeGroup)); + // Remove cartridge group elements from SM cache - done after cartridge group has been updated + if (cartridgesToRemove != null || !cartridgesToRemove.isEmpty()) { + smServiceClient.removeUsedCartridgesInCartridgeGroups(cartridgeGroup.getName(), + cartridgesToRemove.toArray(new String[cartridgesToRemove.size()])); + } } } catch (RemoteException e) {
