root / src / com / rackspace / cloud / servers / api / client / http / AuthXMLParser.java @ f3633a16
History | View | Annotate | Download (2.8 kB)
1 |
package com.rackspace.cloud.servers.api.client.http; |
---|---|
2 |
|
3 |
import java.util.ArrayList; |
4 |
|
5 |
import org.xml.sax.Attributes; |
6 |
import org.xml.sax.helpers.DefaultHandler; |
7 |
|
8 |
import android.util.Log; |
9 |
|
10 |
import com.rackspace.cloud.files.api.client.Container; |
11 |
|
12 |
/**
|
13 |
*
|
14 |
* @author Adam Menz
|
15 |
*
|
16 |
*/
|
17 |
public class AuthXMLParser extends DefaultHandler { |
18 |
|
19 |
private String token; |
20 |
private String serverURL; |
21 |
private String storageURL; |
22 |
private String cdnURL; |
23 |
private String curService; |
24 |
private StringBuffer currentData; |
25 |
|
26 |
public void startElement(String uri, String name, String qName, |
27 |
Attributes atts) {
|
28 |
|
29 |
currentData = new StringBuffer(); |
30 |
if("service".equals(name)){ |
31 |
curService = atts.getValue("name");
|
32 |
} |
33 |
|
34 |
if("endpoint".equals(name)){ |
35 |
if(curService.equals("cloudFilesCDN")){ |
36 |
cdnURL = atts.getValue("publicURL");
|
37 |
} |
38 |
if(curService.equals("cloudFiles")){ |
39 |
storageURL = atts.getValue("publicURL");
|
40 |
} |
41 |
if(curService.equals("cloudServers")){ |
42 |
serverURL = atts.getValue("publicURL");
|
43 |
} |
44 |
} |
45 |
|
46 |
if("token".equals(name)){ |
47 |
token = atts.getValue("id");
|
48 |
} |
49 |
} |
50 |
|
51 |
public void endElement(String uri, String name, String qName) { |
52 |
|
53 |
String value = currentData.toString().trim();
|
54 |
/*
|
55 |
if ("account".equals(name)) {
|
56 |
|
57 |
} else if ("container".equals(name)) {
|
58 |
|
59 |
if (containers == null) {
|
60 |
containers = new ArrayList<Container>();
|
61 |
}
|
62 |
containers.add(container);
|
63 |
|
64 |
} else if ("name".equals(name)) {
|
65 |
container.setName(value);
|
66 |
} else if ("count".equals(name)) {
|
67 |
container.setCount(Integer.parseInt(value));
|
68 |
} else if ("bytes".equals(name)) {
|
69 |
container.setBytes(Long.parseLong(value));
|
70 |
} else if ("cdn_enabled".equals(name)) {
|
71 |
container.setCdnEnabled("True".equals(value));
|
72 |
} else if ("ttl".equals(name)) {
|
73 |
container.setTtl(Integer.parseInt(value));
|
74 |
} else if ("cdn_url".equals(name)) {
|
75 |
container.setCdnUrl(value);
|
76 |
} else if ("log_retention".equals(name)) {
|
77 |
container.setLogRetention("True".equals(value));
|
78 |
}
|
79 |
*/
|
80 |
} |
81 |
|
82 |
public void characters(char ch[], int start, int length) { |
83 |
|
84 |
Log.d("Rackspace-Cloud", "Characters: \""); |
85 |
|
86 |
for (int i = start; i < start + length; i++) { |
87 |
switch (ch[i]) {
|
88 |
case '\\': |
89 |
Log.d("Rackspace-Cloud", "\\\\"); |
90 |
break;
|
91 |
case '"': |
92 |
Log.d("Rackspace-Cloud", "\\\""); |
93 |
break;
|
94 |
case '\n': |
95 |
Log.d("Rackspace-Cloud", "\\n"); |
96 |
break;
|
97 |
case '\r': |
98 |
Log.d("Rackspace-Cloud", "\\r"); |
99 |
break;
|
100 |
case '\t': |
101 |
Log.d("Rackspace-Cloud", "\\t"); |
102 |
break;
|
103 |
default:
|
104 |
Log.d("Rackspace-Cloud", String.valueOf(ch[i])); |
105 |
break;
|
106 |
} |
107 |
} |
108 |
Log.d("Rackspace-Cloud", "\"\n"); |
109 |
|
110 |
for (int i = start; i < (start + length); i++) { |
111 |
currentData.append(ch[i]); |
112 |
} |
113 |
} |
114 |
|
115 |
public String getToken(){ |
116 |
return token;
|
117 |
} |
118 |
|
119 |
public String getServerURL(){ |
120 |
return serverURL;
|
121 |
} |
122 |
|
123 |
public String getStorageURL(){ |
124 |
return storageURL;
|
125 |
} |
126 |
|
127 |
public String getCdnURL(){ |
128 |
return cdnURL;
|
129 |
} |
130 |
|
131 |
|
132 |
} |