You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by la...@apache.org on 2015/06/02 18:30:27 UTC

stratos git commit: Fix the issue of replacing payload parameter

Repository: stratos
Updated Branches:
  refs/heads/master 8463bab97 -> 86c2e1753


Fix the issue of replacing payload parameter


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

Branch: refs/heads/master
Commit: 86c2e17537a71ad1b36802104c66b5814bea4c1f
Parents: 8463bab
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Tue Jun 2 22:00:06 2015 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Tue Jun 2 22:00:06 2015 +0530

----------------------------------------------------------------------
 .../services/impl/CloudControllerServiceImpl.java       | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/86c2e175/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
index dfb4f92..e6f0c04 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
@@ -413,7 +413,11 @@ public class CloudControllerServiceImpl implements CloudControllerService {
                         if (property.getName().startsWith(PAYLOAD_PARAMETER)) {
                             String propertyName = property.getName();
                             String payloadParamName = propertyName.substring(propertyName.indexOf(".") + 1);
-                            addToPayload(payload, payloadParamName, property.getValue());
+                            if (payload.toString().contains(payloadParamName)) {
+                                replaceInPayload(payloadParamName, payload, payloadParamName, property.getValue());
+                            } else {
+                                addToPayload(payload, payloadParamName, property.getValue());
+                            }
                         }
                     }
                 }
@@ -541,6 +545,12 @@ public class CloudControllerServiceImpl implements CloudControllerService {
         payload.append(name + "=" + value);
     }
 
+    private void replaceInPayload(String payloadParamName, StringBuilder payload, String name, String value) {
+
+        payload.replace(payload.indexOf(payloadParamName), payload.indexOf(",", payload.indexOf(payloadParamName)),
+                "," + name + "=" + value);
+    }
+
     private String generateMemberId(String clusterId) {
         UUID memberId = UUID.randomUUID();
         return clusterId + memberId.toString();