Repository: stratos
Updated Branches:
  refs/heads/stratos-4.1.x 894aa4beb -> d620bdf3d


Update accessurl as a map against instanceclusterid


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

Branch: refs/heads/stratos-4.1.x
Commit: d620bdf3d353bb1e668d703c98c0f5529fbb6c76
Parents: 894aa4b
Author: gayangunarathne <[email protected]>
Authored: Thu Sep 24 16:30:54 2015 +0530
Committer: gayangunarathne <[email protected]>
Committed: Thu Sep 24 21:16:00 2015 +0530

----------------------------------------------------------------------
 .../messaging/topology/TopologyBuilder.java     |  2 +-
 .../impl/CloudControllerServiceImpl.java        |  2 +-
 .../messaging/domain/topology/Cluster.java      | 23 ++++++++++++--------
 .../ClusterInstanceActivatedProcessor.java      | 10 ++++-----
 .../util/converter/ObjectConverter.java         |  5 +++--
 .../kubernetes-cluster-2.json                   |  2 +-
 6 files changed, 25 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/d620bdf3/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
index 0131f3e..936f9ec 100644
--- 
a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
+++ 
b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
@@ -870,7 +870,7 @@ public class TopologyBuilder {
                                         // Using type URI since only http, 
https, ftp, file, jar protocols are supported in URL
                                         URI accessURL = new 
URI(kubernetesService.getProtocol(), null, publicIP,
                                                 kubernetesService.getPort(), 
null, null, null);
-                                        
cluster.addAccessUrl(accessURL.toString());
+                                        
cluster.addAccessUrl(clusterStatusClusterActivatedEvent.getInstanceId(),accessURL.toString());
                                         
clusterInstanceActivatedEvent.addAccessUrl(accessURL.toString());
                                     } else {
                                         log.error(String.format("Could not 
create access URL for [Kubernetes-service] %s , " +

http://git-wip-us.apache.org/repos/asf/stratos/blob/d620bdf3/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 f1615c5..dc365dd 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
@@ -1101,7 +1101,7 @@ public class CloudControllerServiceImpl implements 
CloudControllerService {
                 cluster.setLbCluster(false);
                 cluster.setTenantRange(appClusterCtxt.getTenantRange());
                 
cluster.setHostNames(Arrays.asList(appClusterCtxt.getHostName()));
-                
cluster.setAccessUrls(accessUrls.get(appClusterCtxt.getClusterId()));
+                cluster.setAccessUrls(accessUrls);
 
                 if (appClusterCtxt.getProperties() != null) {
                     Properties properties = 
CloudControllerUtil.toJavaUtilProperties(appClusterCtxt.getProperties());

http://git-wip-us.apache.org/repos/asf/stratos/blob/d620bdf3/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Cluster.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Cluster.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Cluster.java
index b734499..0fde36e 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Cluster.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/Cluster.java
@@ -61,7 +61,7 @@ public class Cluster implements Serializable {
     private Properties properties;
     private Map<String, ClusterInstance> instanceIdToInstanceContextMap;
     //private LifeCycleStateManager<ClusterStatus> clusterStateManager;
-    private List<String> accessUrls;
+    private Map<String,List<String>> accessUrls;
     private List<KubernetesService> kubernetesServices;
 
     public Cluster(Cluster cluster) {
@@ -93,7 +93,7 @@ public class Cluster implements Serializable {
         this.memberMap = new ConcurrentHashMap<String, Member>();
         this.appId = appId;
         this.setInstanceIdToInstanceContextMap(new ConcurrentHashMap<String, 
ClusterInstance>());
-        this.accessUrls = new ArrayList<String>();
+        this.accessUrls = new HashMap<>();
         this.kubernetesServices = new ArrayList<KubernetesService>();
     }
 
@@ -334,23 +334,28 @@ public class Cluster implements Serializable {
         return this.instanceIdToInstanceContextMap.values();
     }
 
-    public List<String> getAccessUrls() {
+    public Map<String,List<String>> getAccessUrls() {
         return accessUrls;
     }
 
-    public void setAccessUrls(List<String> accessUrls) {
+    public void setAccessUrls(Map<String,List<String>> accessUrls) {
         this.accessUrls = accessUrls;
     }
 
-    public void addAccessUrl(String accessUrl) {
-        if (accessUrls == null) {
-            accessUrls = new ArrayList<String>();
+    public void addAccessUrl(String clusterInstanceId,String accessUrl) {
+        List<String> listUrls=accessUrls.get(clusterInstanceId);
+        if (listUrls == null) {
+            listUrls = new ArrayList<String>();
         }
-        if (!accessUrls.contains(accessUrl)) {
-            accessUrls.add(accessUrl);
+        if (!listUrls.contains(accessUrl)) {
+            listUrls.add(accessUrl);
         }
+        accessUrls.put(clusterInstanceId,listUrls);
     }
 
+    public void addAccessUrlList(String clusterInstanceId,List<String> 
accessUrl) {
+        accessUrls.put(clusterInstanceId, accessUrl);
+    }
     public List<KubernetesService> getKubernetesServices() {
         return kubernetesServices;
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/d620bdf3/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterInstanceActivatedProcessor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterInstanceActivatedProcessor.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterInstanceActivatedProcessor.java
index 0aa85b0..5c57231 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterInstanceActivatedProcessor.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterInstanceActivatedProcessor.java
@@ -21,7 +21,10 @@ package 
org.apache.stratos.messaging.message.processor.topology;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.messaging.domain.instance.ClusterInstance;
-import org.apache.stratos.messaging.domain.topology.*;
+import org.apache.stratos.messaging.domain.topology.Cluster;
+import org.apache.stratos.messaging.domain.topology.ClusterStatus;
+import org.apache.stratos.messaging.domain.topology.Service;
+import org.apache.stratos.messaging.domain.topology.Topology;
 import 
org.apache.stratos.messaging.event.topology.ClusterInstanceActivatedEvent;
 import 
org.apache.stratos.messaging.message.filter.topology.TopologyApplicationFilter;
 import 
org.apache.stratos.messaging.message.filter.topology.TopologyClusterFilter;
@@ -30,9 +33,6 @@ import 
org.apache.stratos.messaging.message.processor.MessageProcessor;
 import 
org.apache.stratos.messaging.message.processor.topology.updater.TopologyUpdater;
 import org.apache.stratos.messaging.util.MessagingUtil;
 
-import java.net.URL;
-import java.util.List;
-
 /**
  * This processor will act upon the cluster activated event
  */
@@ -119,7 +119,7 @@ public class ClusterInstanceActivatedProcessor extends 
MessageProcessor {
             }
         } else {
             // Apply changes to the topology
-            cluster.setAccessUrls(event.getAccessUrls());
+            
cluster.addAccessUrlList(event.getInstanceId(),event.getAccessUrls());
 
             ClusterInstance context = 
cluster.getInstanceContexts(event.getInstanceId());
             if (context == null) {

http://git-wip-us.apache.org/repos/asf/stratos/blob/d620bdf3/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
index 07a95ac..aaef07e 100644
--- 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
+++ 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
@@ -48,7 +48,6 @@ import 
org.apache.stratos.manager.service.stub.domain.application.signup.Applica
 import 
org.apache.stratos.manager.service.stub.domain.application.signup.ArtifactRepository;
 import 
org.apache.stratos.manager.service.stub.domain.application.signup.DomainMapping;
 import org.apache.stratos.messaging.domain.application.Application;
-import org.apache.stratos.messaging.domain.application.ApplicationStatus;
 import org.apache.stratos.messaging.domain.application.Group;
 import org.apache.stratos.messaging.domain.instance.ApplicationInstance;
 import org.apache.stratos.messaging.domain.instance.ClusterInstance;
@@ -717,7 +716,9 @@ public class ObjectConverter {
                 clusterInstanceBean.getMember().add(memberBean);
             }
         }
-        clusterInstanceBean.setAccessUrls(cluster.getAccessUrls());
+        if(cluster.getAccessUrls()!=null) {
+            
clusterInstanceBean.setAccessUrls(cluster.getAccessUrls().get(instanceId));
+        }
         for (String hostname : cluster.getHostNames()) {
             clusterInstanceBean.getHostNames().add(hostname);
         }

http://git-wip-us.apache.org/repos/asf/stratos/blob/d620bdf3/samples/kubernetes-clusters/kubernetes-cluster-2.json
----------------------------------------------------------------------
diff --git a/samples/kubernetes-clusters/kubernetes-cluster-2.json 
b/samples/kubernetes-clusters/kubernetes-cluster-2.json
index a9189f3..9614771 100644
--- a/samples/kubernetes-clusters/kubernetes-cluster-2.json
+++ b/samples/kubernetes-clusters/kubernetes-cluster-2.json
@@ -38,7 +38,7 @@
     },
     {
       "name": "payload_parameter.MB_PORT",
-      "value": "1883"
+      "value": "1884"
     },
     {
       "name": "payload_parameter.CEP_URLS",

Reply via email to