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;
     }
 }