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 <[email protected]> Authored: Wed Jan 29 19:46:28 2014 +0530 Committer: rekathiru <[email protected]> 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; } }
