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 <[email protected]> Authored: Tue Jun 2 22:00:06 2015 +0530 Committer: Lahiru Sandaruwan <[email protected]> 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();
