You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by re...@apache.org on 2014/01/29 15:16:08 UTC
git commit: adding support for listing the memebers
Updated Branches:
refs/heads/master 9049618dc -> 43debf400
adding support for listing the memebers
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/43debf40
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/43debf40
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/43debf40
Branch: refs/heads/master
Commit: 43debf400479bfc144a49cc7eb1d6ea9d3ebabbc
Parents: 9049618
Author: rekathiru <rt...@gmail.com>
Authored: Wed Jan 29 19:46:28 2014 +0530
Committer: rekathiru <rt...@gmail.com>
Committed: Wed Jan 29 19:46:28 2014 +0530
----------------------------------------------------------------------
.../stratos/cli/RestCommandLineService.java | 39 +++--
.../stratos/cli/beans/topology/Cluster.java | 155 ++++---------------
.../stratos/cli/beans/topology/Member.java | 108 ++++---------
3 files changed, 92 insertions(+), 210 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/43debf40/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java
index 987eccd..2660c56 100644
--- a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java
+++ b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java
@@ -65,7 +65,7 @@ public class RestCommandLineService {
private final String listAvailableCartridgesRestEndpoint = "/stratos/admin/cartridge/list";
private final String describeAvailableCartridgeRestEndpoint = "/stratos/admin/cartridge/list/";
private final String listSubscribedCartridgesRestEndpoint = "/stratos/admin/cartridge/list/subscribed";
- private final String listClusterRestEndpoint = "/stratos/admin/cluster";
+ private final String listClusterRestEndpoint = "/stratos/admin/cluster/";
private final String subscribCartridgeRestEndpoint = "/stratos/admin/cartridge/subscribe";
private final String addTenantEndPoint = "/stratos/admin/tenant";
private final String unsubscribeTenantEndPoint = "/stratos/admin/cartridge/unsubscribe";
@@ -399,7 +399,8 @@ public class RestCommandLineService {
public void listMembersOfCluster(String cartridgeType, String alias) throws CommandException {
DefaultHttpClient httpClient = new DefaultHttpClient();
try {
- HttpResponse response = restClientService.doGet(httpClient, restClientService.getUrl() + listClusterRestEndpoint,
+ HttpResponse response = restClientService.doGet(httpClient, restClientService.getUrl() + listClusterRestEndpoint
+ + cartridgeType + "/" + alias,
restClientService.getUsername(), restClientService.getPassword());
String responseCode = "" + response.getStatusLine().getStatusCode();
@@ -409,9 +410,14 @@ public class RestCommandLineService {
}
String resultString = getHttpResponseString(response);
-
+ String tmp;
+ if(resultString.startsWith("{\"cluster\"")) {
+ tmp = resultString.substring("{\"cluster\"".length() + 1, resultString.length()-1);
+ resultString = tmp;
+ }
GsonBuilder gsonBuilder = new GsonBuilder();
Gson gson = gsonBuilder.create();
+
Cluster cluster = gson.fromJson(resultString, Cluster.class);
if (cluster == null) {
@@ -419,8 +425,10 @@ public class RestCommandLineService {
return;
}
- Member[] members;
- members = (Member[]) cluster.getMembers().toArray();
+ Member[] members = new Member[cluster.getMember().size()];
+ members = cluster.getMember().toArray(members);
+ System.out.println("Subscribe cartridge list is :" + cluster.getMember().size());
+
if (members.length == 0) {
if (logger.isDebugEnabled()) {
@@ -433,16 +441,14 @@ public class RestCommandLineService {
RowMapper<Member> memberMapper = new RowMapper<Member>() {
public String[] getData(Member member) {
- String[] data = new String[9];
+ String[] data = new String[7];
data[0] = member.getServiceName();
data[1] = member.getClusterId();
data[2] = member.getNetworkPartitionId();
data[3] = member.getPartitionId();
- data[4] = member.getMemberId();
+ data[4] = member.getMemberIp();
data[5] = member.getStatus().toString();
- data[6] = member.getPorts().toString();
- data[7] = member.getLbClusterId();
-
+ data[6] = member.getLbClusterId() != null ? member.getLbClusterId() : "";
return data;
}
};
@@ -452,17 +458,22 @@ public class RestCommandLineService {
headers.add("ClusterId");
headers.add("NewtworkPartitionId");
headers.add("PartitionId");
- headers.add("MemberId");
+ headers.add("MemberIp");
headers.add("Status");
- headers.add("Ports");
headers.add("LBCluster");
System.out.println("List of members in the [cluster]: " + alias);
CommandLineUtils.printTable(members, memberMapper, headers.toArray(new String[headers.size()]));
System.out.println("List of LB members for the [cluster]: " + "TODO" );
- System.out.println();
} catch (Exception e) {
+ System.out.println("error while getting Cluster.....");
+ System.out.println(e.fillInStackTrace());
+ System.out.println("error while getting Cluster.....");
+
+ e.printStackTrace();
+ System.out.println();
+
handleException("Exception in listing subscribe cartridges", e);
} finally {
httpClient.getConnectionManager().shutdown();
@@ -762,7 +773,7 @@ public class RestCommandLineService {
try {
HttpResponse response = restClientService.doPost(httpClient, restClientService.getUrl() + deploymentPolicyDeploymentEndPoint,
deploymentPolicy, restClientService.getUsername(), restClientService.getPassword());
-
+ System.out.println(deploymentPolicy);
String responseCode = "" + response.getStatusLine().getStatusCode();
if (responseCode.equals("" + CliConstants.RESPONSE_AUTHORIZATION_FAIL)) {
System.out.println("Invalid operations. Authorization failed");
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/43debf40/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/beans/topology/Cluster.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/beans/topology/Cluster.java b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/beans/topology/Cluster.java
index 79d330d..4d4889c 100644
--- a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/beans/topology/Cluster.java
+++ b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/beans/topology/Cluster.java
@@ -1,170 +1,81 @@
package org.apache.stratos.cli.beans.topology;
-import org.apache.commons.lang3.StringUtils;
-
-import java.util.*;
+import java.util.List;
public class Cluster {
- private static final long serialVersionUID = -361960242360176077L;
+ private String serviceName;
- private final String serviceName;
- private final String clusterId;
- private final String autoscalePolicyName;
- private final String deploymentPolicyName;
+ private String clusterId;
+
+ private List<Member> member;
- private List<String> hostNames;
private String tenantRange;
- private boolean isLbCluster;
- // Key: Member.memberId
- private Map<String, Member> memberMap;
- private String loadBalanceAlgorithmName;
- private Properties properties;
+ private List<String> hostNames;
- public Cluster(String serviceName, String clusterId, String deploymentPolicyName, String autoscalePolicyName) {
- this.serviceName = serviceName;
- this.clusterId = clusterId;
- this.deploymentPolicyName = deploymentPolicyName;
- this.autoscalePolicyName = autoscalePolicyName;
- this.hostNames = new ArrayList<String>();
- this.memberMap = new HashMap<String, Member>();
- }
+ private boolean isLbCluster;
public String getServiceName() {
return serviceName;
}
- public String getClusterId() {
- return clusterId;
- }
-
- public List<String> getHostNames() {
- return hostNames;
- }
-
- public void addHostName(String hostName) {
- this.hostNames.add(hostName);
- }
-
- public String getTenantRange() {
- return tenantRange;
+ public void setServiceName(String serviceName) {
+ this.serviceName = serviceName;
}
- public void setTenantRange(String tenantRange) {
- this.tenantRange = tenantRange;
+ public String getClusterId() {
+ return clusterId;
}
- public Collection<Member> getMembers() {
- return memberMap.values();
+ public void setClusterId(String clusterId) {
+ this.clusterId = clusterId;
}
- public boolean hasMembers() {
- return memberMap.isEmpty();
+ public List<Member> getMember() {
+ return member;
}
-
-
public void addMember(Member member) {
- memberMap.put(member.getMemberId(), member);
+ this.member.add(member);
}
public void removeMember(Member member) {
- memberMap.remove(member.getMemberId());
+ this.member.remove(member);
}
- public Member getMember(String memberId) {
- return memberMap.get(memberId);
+ public void setMember(List<Member> member) {
+ this.member = member;
}
- public boolean memberExists(String memberId) {
- return this.memberMap.containsKey(memberId);
+ public String getTenantRange() {
+ return tenantRange;
}
- public Properties getProperties() {
- return properties;
+ public void setTenantRange(String tenantRange) {
+ this.tenantRange = tenantRange;
}
- public void setProperties(Properties properties) {
- this.properties = properties;
+ public List<String> getHostNames() {
+ return hostNames;
}
- public String getAutoscalePolicyName() {
- return autoscalePolicyName;
+ public void setHostNames(List<String> hostNames) {
+ this.hostNames = hostNames;
}
- public String getDeploymentPolicyName() {
- return deploymentPolicyName;
- }
-
- public String getLoadBalanceAlgorithmName() {
- return loadBalanceAlgorithmName;
+ public void addHostNames(String hostName) {
+ this.hostNames.add(hostName);
}
- public void setLoadBalanceAlgorithmName(String loadBalanceAlgorithmName) {
- this.loadBalanceAlgorithmName = loadBalanceAlgorithmName;
+ public void removeHostNames(String hostName) {
+ this.hostNames.remove(hostName);
}
public boolean isLbCluster() {
return isLbCluster;
}
- public void setLbCluster(boolean isLbCluster) {
- this.isLbCluster = isLbCluster;
- }
-
- @Override
- public String toString() {
- return "Cluster [serviceName=" + serviceName + ", clusterId=" + clusterId +
- ", autoscalePolicyName=" + autoscalePolicyName + ", deploymentPolicyName=" +
- deploymentPolicyName + ", hostNames=" + hostNames + ", tenantRange=" + tenantRange +
- ", isLbCluster=" + isLbCluster + ", properties=" + properties + "]";
- }
-
- /**
- * Check whether a given tenant id is in tenant range of the cluster.
- *
- * @param tenantId
- * @return
- */
- public boolean tenantIdInRange(int tenantId) {
- if(StringUtils.isBlank(getTenantRange())) {
- return false;
- }
-
- if("*".equals(getTenantRange())) {
- return true;
- }
- else {
- String[] array = getTenantRange().split("-");
- int tenantStart = Integer.parseInt(array[0]);
- if(tenantStart <= tenantId) {
- String tenantEndStr = array[1];
- if("*".equals(tenantEndStr)) {
- return true;
- }
- else {
- int tenantEnd = Integer.parseInt(tenantEndStr);
- if(tenantId <= tenantEnd) {
- return true;
- }
- }
- }
- }
- return false;
- }
-
- /**
- * Find partitions used by the cluster and return their ids as a collection.
- *
- * @return
- */
- public Collection<String> findPartitionIds() {
- Map<String, Boolean> partitionIds = new HashMap<String, Boolean>();
- for(Member member : getMembers()) {
- if((StringUtils.isNotBlank(member.getPartitionId())) && (!partitionIds.containsKey(member.getPartitionId()))) {
- partitionIds.put(member.getPartitionId(), true);
- }
- }
- return partitionIds.keySet();
+ public void setLbCluster(boolean lbCluster) {
+ isLbCluster = lbCluster;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/43debf40/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/beans/topology/Member.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/beans/topology/Member.java b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/beans/topology/Member.java
index ce941cf..dff17bc 100644
--- a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/beans/topology/Member.java
+++ b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/beans/topology/Member.java
@@ -1,117 +1,77 @@
package org.apache.stratos.cli.beans.topology;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
public class Member {
- private static final long serialVersionUID = 4179661867903664661L;
-
- private final String serviceName;
- private final String clusterId;
- private final String networkPartitionId;
- private final String partitionId;
- private final String memberId;
+ private String serviceName;
+ private String clusterId;
+ private String networkPartitionId;
+ private String partitionId;
+ private String memberId;
- private MemberStatus status;
+ private String status;
private String memberIp;
- private final Map<String, Port> portMap;
- private Properties properties;
private String lbClusterId;
- public Member(String serviceName, String clusterId, String networkPartitionId, String partitionId, String memberId) {
- this.serviceName = serviceName;
- this.clusterId = clusterId;
- this.networkPartitionId = networkPartitionId;
- this.partitionId = partitionId;
- this.memberId = memberId;
- this.portMap = new HashMap<String, Port>();
- }
-
public String getServiceName() {
return serviceName;
}
- public String getClusterId() {
- return clusterId;
- }
-
- public String getMemberId() {
- return memberId;
- }
-
- public MemberStatus getStatus() {
- return status;
- }
-
- public void setStatus(MemberStatus status) {
- this.status = status;
- }
-
- public boolean isActive() {
- return (this.status == MemberStatus.Activated);
- }
-
- public Collection<Port> getPorts() {
- return portMap.values();
+ public void setServiceName(String serviceName) {
+ this.serviceName = serviceName;
}
- public void addPort(Port port) {
- this.portMap.put(port.getProtocol(), port);
+ public String getClusterId() {
+ return clusterId;
}
- public void addPorts(Collection<Port> ports) {
- for(Port port: ports) {
- addPort(port);
- }
+ public void setClusterId(String clusterId) {
+ this.clusterId = clusterId;
}
- public void removePort(Port port) {
- this.portMap.remove(port.getProtocol());
+ public String getNetworkPartitionId() {
+ return networkPartitionId;
}
- public void removePort(String protocol) {
- this.portMap.remove(protocol);
+ public void setNetworkPartitionId(String networkPartitionId) {
+ this.networkPartitionId = networkPartitionId;
}
- public boolean portExists(Port port) {
- return this.portMap.containsKey(port.getProtocol());
+ public String getPartitionId() {
+ return partitionId;
}
- public Port getPort(String protocol) {
- return this.portMap.get(protocol);
+ public void setPartitionId(String partitionId) {
+ this.partitionId = partitionId;
}
- public Properties getProperties() {
- return properties;
+ public String getMemberId() {
+ return memberId;
}
- public void setProperties(Properties properties) {
- this.properties = properties;
+ public void setMemberId(String memberId) {
+ this.memberId = memberId;
}
- public String getMemberIp() {
- return memberIp;
+ public String getStatus() {
+ return status;
}
- public void setMemberIp(String memberIp) {
- this.memberIp = memberIp;
+ public void setStatus(String status) {
+ this.status = status;
}
- public String getPartitionId() {
- return partitionId;
+ public String getMemberIp() {
+ return memberIp;
}
- public void setLbClusterId(String lbClusterId) {
- this.lbClusterId = lbClusterId;
+ public void setMemberIp(String memberIp) {
+ this.memberIp = memberIp;
}
public String getLbClusterId() {
return lbClusterId;
}
- public String getNetworkPartitionId() {
- return networkPartitionId;
+ public void setLbClusterId(String lbClusterId) {
+ this.lbClusterId = lbClusterId;
}
}