Update the application runtime with network partition id
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/23a01363 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/23a01363 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/23a01363 Branch: refs/heads/master Commit: 23a01363c9c293d9527cafd1429761b95a81a053 Parents: 39de79a Author: gayangunarathne <[email protected]> Authored: Wed Sep 2 15:24:25 2015 +0530 Committer: gayangunarathne <[email protected]> Committed: Wed Sep 2 15:24:25 2015 +0530 ---------------------------------------------------------------------- .../rest/endpoint/api/StratosApiV41Utils.java | 8 +++--- .../util/converter/ObjectConverter.java | 26 +++++++++++++++++--- 2 files changed, 27 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/23a01363/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java index b22eacd..958f1cd 100644 --- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java +++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java @@ -2098,7 +2098,7 @@ public class StratosApiV41Utils { * @param application Application */ private static void addGroupsInstancesToApplicationInstanceBean(ApplicationInstanceBean applicationInstanceBean, - Application application) { + Application application) throws RestAPIException { Collection<Group> groups = application.getGroups(); if (groups != null && !groups.isEmpty()) { for (Group group : groups) { @@ -2120,7 +2120,7 @@ public class StratosApiV41Utils { * @param application Application */ private static void addClustersInstancesToApplicationInstanceBean( - ApplicationInstanceBean applicationInstanceBean, Application application) { + ApplicationInstanceBean applicationInstanceBean, Application application) throws RestAPIException { Map<String, ClusterDataHolder> topLevelClusterDataMap = application.getClusterDataMap(); if (topLevelClusterDataMap != null) { @@ -2150,7 +2150,7 @@ public class StratosApiV41Utils { */ private static void addClustersInstancesToGroupInstanceBean( GroupInstanceBean groupInstanceBean, - Group group) { + Group group) throws RestAPIException { Map<String, ClusterDataHolder> topLevelClusterDataMap = group.getClusterDataMap(); if (topLevelClusterDataMap != null && !topLevelClusterDataMap.isEmpty()) { for (Map.Entry<String, ClusterDataHolder> entry : topLevelClusterDataMap.entrySet()) { @@ -2177,7 +2177,7 @@ public class StratosApiV41Utils { * @param group Group * @param groupInstanceBean GroupInstanceBean */ - private static void setSubGroupInstances(Group group, GroupInstanceBean groupInstanceBean) { + private static void setSubGroupInstances(Group group, GroupInstanceBean groupInstanceBean) throws RestAPIException { Collection<Group> subgroups = group.getGroups(); addClustersInstancesToGroupInstanceBean(groupInstanceBean, group); if (subgroups != null && !subgroups.isEmpty()) { http://git-wip-us.apache.org/repos/asf/stratos/blob/23a01363/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 7ba6dea..eea8434 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 @@ -20,6 +20,8 @@ package org.apache.stratos.rest.endpoint.util.converter; import org.apache.commons.lang.StringUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.apache.stratos.autoscaler.stub.autoscale.policy.AutoscalePolicy; import org.apache.stratos.autoscaler.stub.deployment.policy.ApplicationPolicy; import org.apache.stratos.autoscaler.stub.deployment.policy.DeploymentPolicy; @@ -70,6 +72,8 @@ import java.util.*; public class ObjectConverter { + private static final Log log = LogFactory.getLog(ObjectConverter.class); + public static final String CLUSTER_PROPERTY = "cluster"; public static Cartridge convertCartridgeBeanToStubCartridgeConfig( @@ -700,7 +704,7 @@ public class ObjectConverter { } public static ClusterInstanceBean convertClusterToClusterInstanceBean(String instanceId, - Cluster cluster, String alias) { + Cluster cluster, String alias) throws RestAPIException { ClusterInstanceBean clusterInstanceBean = new ClusterInstanceBean(); clusterInstanceBean.setAlias(alias); clusterInstanceBean.setServiceName(cluster.getServiceName()); @@ -721,8 +725,24 @@ public class ObjectConverter { MemberBean memberBean = new MemberBean(); memberBean.setClusterId(member.getClusterId()); memberBean.setLbClusterId(member.getLbClusterId()); - memberBean.setNetworkPartitionId(member.getNetworkPartitionId()); - memberBean.setPartitionId(member.getPartitionId()); + NetworkPartition netWorkPartition=null; + try { + netWorkPartition= CloudControllerServiceClient.getInstance().getNetworkPartition(member.getNetworkPartitionId()); + } catch (RemoteException e) { + log.error("Error when getting the network partition"); + throw new RestAPIException(e); + } + + if(netWorkPartition!=null) { + memberBean.setNetworkPartitionId(netWorkPartition.getId()); + Partition[] partition = netWorkPartition.getPartitions(); + for(int i=0;i<partition.length;i++){ + if(partition[i].getUuid().equals(member.getPartitionId())){ + memberBean.setPartitionId(partition[i].getId()); + } + } + } + memberBean.setMemberId(member.getMemberId()); memberBean.setClusterInstanceId(member.getClusterInstanceId()); memberBean.setDefaultPrivateIP(member.getDefaultPrivateIP());
