Repository: stratos
Updated Branches:
  refs/heads/master 6ff03c4b9 -> 0f2b953bf


Adding PORT_MAPPINGS to payload parameters in jcloud IaaS


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

Branch: refs/heads/master
Commit: 27190b76b7a87270dfd0814cc34e8ce0695bf1e3
Parents: 6ff03c4
Author: anuruddhal <[email protected]>
Authored: Wed Aug 12 22:47:32 2015 +0530
Committer: Imesh Gunaratne <[email protected]>
Committed: Thu Aug 13 17:32:31 2015 +0530

----------------------------------------------------------------------
 .../applications/ApplicationUtils.java          | 33 +++++++++++++++++---
 .../applications/payload/BasicPayloadData.java  | 14 ++++++++-
 2 files changed, 42 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/27190b76/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/ApplicationUtils.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/ApplicationUtils.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/ApplicationUtils.java
index c8de90f..56dc571 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/ApplicationUtils.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/ApplicationUtils.java
@@ -75,7 +75,7 @@ public class ApplicationUtils {
         return globalProperties;
     }
 
-    private static String createPortMappingPayloadString(Cartridge cartridge) {
+    private static String createPortsToPayloadString(Cartridge cartridge) {
 
         // port mappings
         StringBuilder portMapBuilder = new StringBuilder();
@@ -87,8 +87,7 @@ public class ApplicationUtils {
         }
 
         for (PortMapping portMapping : portMappings) {
-            int port = portMapping.getPort();
-            portMapBuilder.append(port).append("|");
+            portMapBuilder.append(portMapping.getPort()).append("|");
         }
 
         // remove last "|" character
@@ -97,6 +96,31 @@ public class ApplicationUtils {
         return portMappingString;
     }
 
+    private static String createPortMappingsToPayloadString(Cartridge 
cartridge) {
+
+        // port mappings
+        StringBuilder portMapBuilder = new StringBuilder();
+        PortMapping[] portMappings = cartridge.getPortMappings();
+
+        if (cartridge.getPortMappings()[0] == null) {
+            // first element is null, which means no port mappings.
+            return null;
+        }
+
+        for (PortMapping portMapping : portMappings) {
+            int port = portMapping.getPort();
+            
//'NAME:mgt-console|PROTOCOL:https|PORT:30649|PROXY_PORT:0|TYPE:NodePort
+            
portMapBuilder.append(String.format("NAME:%s|PROTOCOL:%s|PORT:%d|PROXY_PORT:%d|TYPE:%s;",
+                    portMapping.getName(), portMapping.getProtocol(),
+                    portMapping.getPort(), portMapping.getProxyPort(),
+                    portMapping.getKubernetesPortType()));
+        }
+        //remove last ;
+        String portMappingString = portMapBuilder.toString().replaceAll(";$", 
"");
+        return portMappingString;
+
+    }
+
     public static StringBuilder getTextPayload(String appId, String groupName, 
String clusterId) {
 
         StringBuilder payloadBuilder = new StringBuilder();
@@ -220,7 +244,8 @@ public class ApplicationUtils {
         basicPayloadData.setSubscriptionKey(subscriptionKey);
         //basicPayloadData.setDeployment("default");//currently hard coded to 
default
         
basicPayloadData.setMultitenant(String.valueOf(cartridge.getMultiTenant()));
-        
basicPayloadData.setPortMappings(createPortMappingPayloadString(cartridge));
+        basicPayloadData.setPorts(createPortsToPayloadString(cartridge));
+        
basicPayloadData.setPortMappings(createPortMappingsToPayloadString(cartridge));
         basicPayloadData.setServiceName(cartridge.getType());
         basicPayloadData.setProvider(cartridge.getProvider());
         basicPayloadData.setLvsVirtualIP(lvsVirtualIP);

http://git-wip-us.apache.org/repos/asf/stratos/blob/27190b76/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/payload/BasicPayloadData.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/payload/BasicPayloadData.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/payload/BasicPayloadData.java
index 86fbac7..67d88e4 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/payload/BasicPayloadData.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/payload/BasicPayloadData.java
@@ -48,6 +48,7 @@ public class BasicPayloadData implements Serializable {
     private String subscriptionKey;
     private String applicationPath;
     private String gitRepositoryUrl;
+    private String ports;
     private String portMappings;
     private String multitenant;
     private String provider;
@@ -94,7 +95,9 @@ public class BasicPayloadData implements Serializable {
         payloadBuilder.append(",");
         payloadBuilder.append("REPO_URL=" + getGitRepositoryUrl());
         payloadBuilder.append(",");
-        payloadBuilder.append("PORTS=" + getPortMappings());
+        payloadBuilder.append("PORTS=" + getPorts());
+        payloadBuilder.append(",");
+        payloadBuilder.append("PORT_MAPPINGS=" + getPortMappings());
         payloadBuilder.append(",");
         payloadBuilder.append("PROVIDER=" + getProvider());
 
@@ -226,6 +229,14 @@ public class BasicPayloadData implements Serializable {
         this.gitRepositoryUrl = gitRepositoryUrl;
     }
 
+    public String getPorts() {
+        return ports;
+    }
+
+    public void setPorts(String ports) {
+        this.ports = ports;
+    }
+
     public String getPortMappings() {
         return portMappings;
     }
@@ -234,6 +245,7 @@ public class BasicPayloadData implements Serializable {
         this.portMappings = portMappings;
     }
 
+
     public String getMultitenant() {
         return multitenant;
     }

Reply via email to