filter parameters with prefix payload_parameter for payload
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/50e2d29f Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/50e2d29f Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/50e2d29f Branch: refs/heads/master Commit: 50e2d29f515a8b53dd89ffe53dcc4db412f4e9fc Parents: 33f57d4 Author: Udara Liyanage <[email protected]> Authored: Wed Jun 4 15:14:09 2014 +0530 Committer: Udara Liyanage <[email protected]> Committed: Wed Jun 4 23:42:35 2014 +0530 ---------------------------------------------------------------------- .../manager/CartridgeSubscriptionManager.java | 5 +++- .../stratos/manager/payload/PayloadData.java | 29 +++++++++++++------- 2 files changed, 23 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/50e2d29f/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java index 11fcf0f..b1ce517 100644 --- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java +++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java @@ -342,7 +342,10 @@ public class CartridgeSubscriptionManager { if(subscriptionData.getProperties() != null){ for(Property property : subscriptionData.getProperties().getProperties()){ - cartridgeSubscription.getPayloadData().add(property.getName(), property.getValue()); + if (property.getName().startsWith(CartridgeConstants.CUSTOM_PAYLOAD_PARAM_NAME_PREFIX)) { + String payloadParamName = property.getName(); + cartridgeSubscription.getPayloadData().add(payloadParamName.substring(payloadParamName.indexOf(".") + 1), property.getValue()); + } } } http://git-wip-us.apache.org/repos/asf/stratos/blob/50e2d29f/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/payload/PayloadData.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/payload/PayloadData.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/payload/PayloadData.java index 59bf664..aa38780 100644 --- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/payload/PayloadData.java +++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/payload/PayloadData.java @@ -20,30 +20,39 @@ package org.apache.stratos.manager.payload; import java.io.Serializable; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; public abstract class PayloadData implements Serializable { private BasicPayloadData basicPayloadData; - private StringBuilder completePayloadDataBuilder; - + private Map<String, String> completePayloadMap; public PayloadData(BasicPayloadData basicPayloadData) { this.setBasicPayloadData(basicPayloadData); - completePayloadDataBuilder = new StringBuilder(basicPayloadData.getPayloadData()); + completePayloadMap = new HashMap<String, String>(); } public void add (String payloadDataName, String payloadDataValue) { - - if(completePayloadDataBuilder.length() > 0) { - completePayloadDataBuilder.append(","); - } - - completePayloadDataBuilder.append(payloadDataName + "=" + payloadDataValue); + completePayloadMap.put(payloadDataName, payloadDataValue); } public StringBuilder getCompletePayloadData () { - return completePayloadDataBuilder; + //return completePayloadMap; + StringBuilder completePayload = new StringBuilder(); + completePayload.append(basicPayloadData.getPayloadData()); + Iterator< String > iter = completePayloadMap.keySet().iterator(); + while(iter.hasNext()) { + String key = iter.next(); + String val = completePayloadMap.get(key); + if(completePayload.length() > 0){ + completePayload.append(","); + } + completePayload.append(key + "=" + val); + } + return completePayload; } public BasicPayloadData getBasicPayloadData() {
