/** * */ package com.rackspace.cloud.loadbalancer.api.client; import java.util.ArrayList; import com.rackspace.cloud.servers.api.client.Account; import android.util.Log; public class LoadBalancer extends Entity { private static final long serialVersionUID = 5994739895998309675L; private String id; private String name; private String protocol; private String port; private String algorithm; private String status; private String isConnectionLoggingEnabled; private String created; private String updated; private String sessionPersistence; private String clusterName; private String virtualIpType; private String region; private ConnectionThrottle connectionThrottle; private ArrayList<VirtualIp> virtualIps; private ArrayList<Node> nodes; public static String getRegionUrl(String region){ if(region.equals("ORD")){ return Account.getLoadBalancerORDUrl(); } else if(region.equals("DFW")){ return Account.getLoadBalancerDFWUrl(); } else if(region.equals("LON")){ return Account.getLoadBalancerLONUrl(); } else { return ""; } } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getProtocol() { return protocol; } public void setProtocol(String protocol) { /* * protocol may come in as null if the server * has been deleted, so need to check if not * null */ if(protocol != null){ this.protocol = protocol; } else { this.protocol = ""; } } public String getPort() { return port; } public void setPort(String port) { this.port = port; } public String getAlgorithm() { return algorithm; } public void setAlgorithm(String algorithm) { this.algorithm = algorithm; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public String getIsConnectionLoggingEnabled() { return isConnectionLoggingEnabled; } public void setIsConnectionLoggingEnabled(String isConnectionLoggingEnabled) { this.isConnectionLoggingEnabled = isConnectionLoggingEnabled; } public String getCreated() { return created; } public void setCreated(String created) { this.created = created; } public String getUpdated() { return updated; } public void setUpdated(String updated) { this.updated = updated; } public String getSessionPersistence() { return sessionPersistence; } public void setSessionPersistence(String sessionPersistence) { this.sessionPersistence = sessionPersistence; } public String getClusterName() { return clusterName; } public void setClusterName(String clusterName) { this.clusterName = clusterName; } public ConnectionThrottle getConnectionThrottle() { return connectionThrottle; } public void setConnectionThrottle(ConnectionThrottle connectionThrottle) { this.connectionThrottle = connectionThrottle; } public ArrayList<VirtualIp> getVirtualIps() { return virtualIps; } public void setVirtualIps(ArrayList<VirtualIp> virtualIps) { this.virtualIps = virtualIps; } public ArrayList<Node> getNodes() { return nodes; } public void setNodes(ArrayList<Node> nodes) { this.nodes = nodes; } public String getVirtualIpType(){ return virtualIpType; } public void setVirtualIpType(String virtualIpType){ /* * protocol may come in as null if the server * has been deleted, so need to check if not * null */ if(virtualIpType != null){ this.virtualIpType = virtualIpType.toUpperCase(); } else { this.virtualIpType = ""; } } public String getRegion(){ return region; } public void setRegion(String region){ this.region = region; } public static long getSerialversionuid() { return serialVersionUID; } public String toXML() { String xml = ""; xml = "<loadBalancer xmlns=\"http://docs.rackspacecloud.com/loadbalancers/api/v1.0\" name=\"" + getName() + "\" id=\"" + getId() + "</loadBalancer>"; return xml; } public String toDetailedXML(){ String xml = "<loadBalancer xmlns=\"http://docs.openstack.org/loadbalancers/api/v1.0\"" + " name=\"" + getName() + "\"" + " port=\"" + getPort() + "\"" + " protocol=\"" + getProtocol() + "\"" + " algorithm=\"" + getAlgorithm() + "\"" + ">" + " <virtualIps>"; if(getVirtualIpType().equals("SHARED")){ for(VirtualIp ip : getVirtualIps()){ xml += "<virtualIp id=\"" + ip.getId() + "\"" + "/>"; } } else { xml += "<virtualIp type=\"" + getVirtualIpType() + "\"" + "/>"; } xml += " </virtualIps>" + " <nodes>"; for(Node node : getNodes()){ xml += "<node address=\"" + node.getAddress() + "\"" + " port=\"" + node.getPort() + "\"" + " condition=\"" + node.getCondition() + "\"" + "/>"; } xml += " </nodes>" + " </loadBalancer>"; Log.d("info", xml); return xml; } }