root / src / com / rackspace / cloud / loadbalancer / api / parsers / LoadBalancersXmlParser.java @ 4f9d1a69
History | View | Annotate | Download (5.6 kB)
1 |
/**
|
---|---|
2 |
*
|
3 |
*/
|
4 |
package com.rackspace.cloud.loadbalancer.api.parsers; |
5 |
|
6 |
import java.util.ArrayList; |
7 |
import org.xml.sax.Attributes; |
8 |
import org.xml.sax.helpers.DefaultHandler; |
9 |
import android.util.Log; |
10 |
|
11 |
import com.rackspace.cloud.loadbalancer.api.client.ConnectionThrottle; |
12 |
import com.rackspace.cloud.loadbalancer.api.client.LoadBalancer; |
13 |
import com.rackspace.cloud.loadbalancer.api.client.Node; |
14 |
import com.rackspace.cloud.loadbalancer.api.client.VirtualIp; |
15 |
|
16 |
public class LoadBalancersXmlParser extends DefaultHandler { |
17 |
|
18 |
private LoadBalancer loadBalancer;
|
19 |
private ArrayList<LoadBalancer> loadBalancers; |
20 |
private ConnectionThrottle connectionThrottle;
|
21 |
private VirtualIp virtualIp;
|
22 |
private ArrayList<VirtualIp> virtualIps; |
23 |
private Node node;
|
24 |
private ArrayList<Node> nodes; |
25 |
private StringBuffer currentData; |
26 |
|
27 |
public void startDocument() { |
28 |
} |
29 |
|
30 |
public void endDocument() { |
31 |
} |
32 |
|
33 |
public void startElement(String uri, String name, String qName, |
34 |
Attributes atts) {
|
35 |
|
36 |
currentData = new StringBuffer(); |
37 |
if ("loadBalancers".equals(name)) { |
38 |
loadBalancers = new ArrayList<LoadBalancer>(); |
39 |
} else if ("loadBalancer".equals(name)) { |
40 |
loadBalancer = new LoadBalancer();
|
41 |
loadBalancer.setId(atts.getValue("id"));
|
42 |
loadBalancer.setName(atts.getValue("name"));
|
43 |
loadBalancer.setProtocol(atts.getValue("protocol"));
|
44 |
loadBalancer.setPort(atts.getValue("port"));
|
45 |
loadBalancer.setAlgorithm(atts.getValue("algorithm"));
|
46 |
loadBalancer.setStatus(atts.getValue("status"));
|
47 |
} else if ("connectionLogging".equalsIgnoreCase(name)) { |
48 |
loadBalancer.setIsConnectionLoggingEnabled(atts.getValue("enabled"));
|
49 |
} else if ("created".equalsIgnoreCase(name)) { |
50 |
loadBalancer.setCreated(atts.getValue("time"));
|
51 |
} else if ("updated".equalsIgnoreCase(name)) { |
52 |
loadBalancer.setCreated(atts.getValue("time"));
|
53 |
} else if ("sessionPersistence".equalsIgnoreCase(name)) { |
54 |
loadBalancer.setSessionPersistence(atts.getValue("sessionPersistence"));
|
55 |
} else if ("clusterName".equalsIgnoreCase(name)) { |
56 |
loadBalancer.setClusterName(atts.getValue("clusterName"));
|
57 |
} else if ("connectionThrottle".equalsIgnoreCase(name)) { |
58 |
connectionThrottle = new ConnectionThrottle();
|
59 |
connectionThrottle.setMaxConnectionRate(atts.getValue("maxConnectionRate"));
|
60 |
connectionThrottle.setMinConnections(atts.getValue("minConnections"));
|
61 |
connectionThrottle.setMaxConnections(atts.getValue("maxConnections"));
|
62 |
connectionThrottle.setRateInterval(atts.getValue("rateInterval"));
|
63 |
loadBalancer.setConnectionThrottle(connectionThrottle); |
64 |
} else if ("virtualIps".equalsIgnoreCase(name)) { |
65 |
virtualIps = new ArrayList<VirtualIp>(); |
66 |
} else if ("virtualIp".equalsIgnoreCase(name)) { |
67 |
virtualIp = new VirtualIp();
|
68 |
virtualIp.setId(atts.getValue("id"));
|
69 |
virtualIp.setAddress(atts.getValue("address"));
|
70 |
virtualIp.setIpVersion(atts.getValue("ipVersion"));
|
71 |
virtualIp.setType(atts.getValue("type"));
|
72 |
} else if ("nodes".equalsIgnoreCase(name)) { |
73 |
nodes = new ArrayList<Node>(); |
74 |
} else if ("node".equalsIgnoreCase(name)) { |
75 |
node = new Node();
|
76 |
node.setId(atts.getValue("id"));
|
77 |
node.setAddress(atts.getValue("address"));
|
78 |
node.setPort(atts.getValue("port"));
|
79 |
node.setCondition(atts.getValue("condition"));
|
80 |
node.setStatus(atts.getValue("status"));
|
81 |
node.setWeight(atts.getValue("weight"));
|
82 |
} |
83 |
} |
84 |
|
85 |
public void endElement(String uri, String name, String qName) { |
86 |
if ("loadBalancers".equals(name)) { |
87 |
// Do nothing
|
88 |
} else if ("loadBalancer".equals(name)) { |
89 |
if (loadBalancers != null) { |
90 |
loadBalancers.add(loadBalancer); |
91 |
} |
92 |
} else if ("virtualIps".equalsIgnoreCase(name)) { |
93 |
loadBalancer.setVirtualIps(virtualIps); |
94 |
} else if ("virtualIp".equalsIgnoreCase(name)) { |
95 |
if (virtualIps != null) { |
96 |
virtualIps.add(virtualIp); |
97 |
} |
98 |
} else if ("nodes".equalsIgnoreCase(name)) { |
99 |
loadBalancer.setNodes(nodes); |
100 |
} else if ("node".equalsIgnoreCase(name)) { |
101 |
if (nodes != null) { |
102 |
nodes.add(node); |
103 |
} |
104 |
} |
105 |
} |
106 |
|
107 |
public void characters(char ch[], int start, int length) { |
108 |
Log.d("Rackspace-Cloud", "Characters: \""); |
109 |
for (int i = start; i < start + length; i++) { |
110 |
switch (ch[i]) {
|
111 |
case '\\': |
112 |
Log.d("Rackspace-Cloud", "\\\\"); |
113 |
break;
|
114 |
case '"': |
115 |
Log.d("Rackspace-Cloud", "\\\""); |
116 |
break;
|
117 |
case '\n': |
118 |
Log.d("Rackspace-Cloud", "\\n"); |
119 |
break;
|
120 |
case '\r': |
121 |
Log.d("Rackspace-Cloud", "\\r"); |
122 |
break;
|
123 |
case '\t': |
124 |
Log.d("Rackspace-Cloud", "\\t"); |
125 |
break;
|
126 |
default:
|
127 |
Log.d("Rackspace-Cloud", String.valueOf(ch[i])); |
128 |
break;
|
129 |
} |
130 |
} |
131 |
Log.d("Rackspace-Cloud", "\"\n"); |
132 |
|
133 |
for (int i = start; i < (start + length); i++) { |
134 |
currentData.append(ch[i]); |
135 |
} |
136 |
} |
137 |
|
138 |
public LoadBalancer getLoadBalancer() {
|
139 |
return loadBalancer;
|
140 |
} |
141 |
|
142 |
public void setLoadBalancer(LoadBalancer loadBalancer) { |
143 |
this.loadBalancer = loadBalancer;
|
144 |
} |
145 |
|
146 |
public ArrayList<LoadBalancer> getLoadBalancers() { |
147 |
return loadBalancers;
|
148 |
} |
149 |
|
150 |
public void setLoadBalancers(ArrayList<LoadBalancer> loadBalancers) { |
151 |
this.loadBalancers = loadBalancers;
|
152 |
} |
153 |
|
154 |
public VirtualIp getVirtualIp() {
|
155 |
return virtualIp;
|
156 |
} |
157 |
|
158 |
public void setVirtualIp(VirtualIp virtualIp) { |
159 |
this.virtualIp = virtualIp;
|
160 |
} |
161 |
|
162 |
public ArrayList<VirtualIp> getVirtualIps() { |
163 |
return virtualIps;
|
164 |
} |
165 |
|
166 |
public void setVirtualIps(ArrayList<VirtualIp> virtualIps) { |
167 |
this.virtualIps = virtualIps;
|
168 |
} |
169 |
|
170 |
public Node getNode() {
|
171 |
return node;
|
172 |
} |
173 |
|
174 |
public void setNode(Node node) { |
175 |
this.node = node;
|
176 |
} |
177 |
|
178 |
public ArrayList<Node> getNodes() { |
179 |
return nodes;
|
180 |
} |
181 |
|
182 |
public void setNodes(ArrayList<Node> nodes) { |
183 |
this.nodes = nodes;
|
184 |
} |
185 |
|
186 |
public StringBuffer getCurrentData() { |
187 |
return currentData;
|
188 |
} |
189 |
|
190 |
public void setCurrentData(StringBuffer currentData) { |
191 |
this.currentData = currentData;
|
192 |
} |
193 |
} |