You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by im...@apache.org on 2015/05/14 12:46:06 UTC

[08/11] stratos git commit: Fixing the update cartridge group

Fixing the update cartridge group


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/b6e8ef50
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/b6e8ef50
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/b6e8ef50

Branch: refs/heads/master
Commit: b6e8ef509aa31b67e19404b46aabb36b40227d23
Parents: 0a25877
Author: Vishanth <vi...@gmail.com>
Authored: Thu May 14 15:33:18 2015 +0530
Committer: Vishanth <vi...@gmail.com>
Committed: Thu May 14 15:33:18 2015 +0530

----------------------------------------------------------------------
 .../rest/endpoint/api/StratosApiV41Utils.java   | 52 ++++++++++++++------
 1 file changed, 36 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/b6e8ef50/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 14b16fd..012b1b3 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
@@ -1112,36 +1112,56 @@ public class StratosApiV41Utils {
                 findCartridgesInServiceGroup(serviceGroupToBeUpdated, cartridgesBeforeUpdating);
                 findCartridgesInGroupBean(cartridgeGroup, cartridgesAfterUpdating);
 
+                List<String> cartridgesToRemove = new ArrayList<String>();
+                List<String> cartridgesToAdd = new ArrayList<String>();
 
-                List<String> cartridgesToRemove = cartridgesBeforeUpdating;
-                List<String> cartridgesToAdd = cartridgesAfterUpdating;
+                if (cartridgesBeforeUpdating != null) {
+                    if (!cartridgesBeforeUpdating.isEmpty()) {
+                        cartridgesToRemove.addAll(cartridgesBeforeUpdating);
+                    }
+                }
 
-                if ((cartridgesBeforeUpdating != null) || (!cartridgesBeforeUpdating.isEmpty()) ||
-                        (cartridgesAfterUpdating != null) || (!cartridgesAfterUpdating.isEmpty())) {
+                if (cartridgesAfterUpdating != null) {
+                    if (!cartridgesAfterUpdating.isEmpty()) {
+                        cartridgesToAdd.addAll(cartridgesAfterUpdating);
+                    }
+                }
 
-                    for (String before : cartridgesBeforeUpdating) {
-                        for (String after : cartridgesAfterUpdating) {
-                            if (before.equals(after)) {
-                                cartridgesToRemove.remove(after);
-                                cartridgesToAdd.remove(after);
+                if ((cartridgesBeforeUpdating != null) && (cartridgesAfterUpdating != null)) {
+                    if ((!cartridgesBeforeUpdating.isEmpty()) && (!cartridgesAfterUpdating.isEmpty())) {
+                        for (String before : cartridgesBeforeUpdating) {
+                            for (String after : cartridgesAfterUpdating) {
+                                if (before.toLowerCase().equals(after.toLowerCase())) {
+                                    if (cartridgesToRemove.contains(after)) {
+                                        cartridgesToRemove.remove(after);
+                                    }
+                                    if (cartridgesToAdd.contains(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()]));
+                if (cartridgesToAdd != null) {
+                    if (!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()]));
+                if (cartridgesToRemove != null) {
+                    if (!cartridgesToRemove.isEmpty()) {
+                        smServiceClient.removeUsedCartridgesInCartridgeGroups(cartridgeGroup.getName(),
+                                cartridgesToRemove.toArray(new String[cartridgesToRemove.size()]));
+                    }
                 }
             }
-
         } catch (RemoteException e) {
             String message = String.format("Could not update cartridge group: [group-name] %s,",
                     cartridgeGroup.getName());