Revision 1fd17f2e src/com/rackspace/cloud/files/api/client/parsers/ContainerXMLParser.java
b/src/com/rackspace/cloud/files/api/client/parsers/ContainerXMLParser.java | ||
---|---|---|
1 | 1 |
package com.rackspace.cloud.files.api.client.parsers; |
2 | 2 |
|
3 | 3 |
import java.util.ArrayList; |
4 |
import java.util.HashMap; |
|
5 |
import java.util.Map; |
|
4 | 6 |
|
5 | 7 |
import org.xml.sax.Attributes; |
6 | 8 |
import org.xml.sax.helpers.DefaultHandler; |
... | ... | |
17 | 19 |
public class ContainerXMLParser extends DefaultHandler { |
18 | 20 |
|
19 | 21 |
private Container container; |
22 |
private Map<String,String> xContainerPolicy; |
|
23 |
private Map<String,String> metadata; |
|
20 | 24 |
private ArrayList<Container> containers; |
25 |
private String key; |
|
26 |
|
|
21 | 27 |
private StringBuffer currentData; |
22 | 28 |
|
23 | 29 |
public void startElement(String uri, String name, String qName, |
... | ... | |
28 | 34 |
containers = new ArrayList<Container>(); |
29 | 35 |
} else if ("container".equals(name)) { |
30 | 36 |
container = new Container(); |
37 |
} else if ("x_container_policy".equals(name)) { |
|
38 |
xContainerPolicy = new HashMap<String, String>(); |
|
39 |
} else if ("x_object_meta".equals(name)) { |
|
40 |
metadata = new HashMap<String, String>(); |
|
31 | 41 |
} |
32 | 42 |
} |
33 | 43 |
|
... | ... | |
42 | 52 |
if (containers == null) { |
43 | 53 |
containers = new ArrayList<Container>(); |
44 | 54 |
} |
55 |
Log.d("ViewContainersXMLparser", container.toString()); |
|
45 | 56 |
containers.add(container); |
46 | 57 |
|
47 |
} else if ("name".equals(name)) { |
|
58 |
}else if ("x_container_policy".equals(name)) { |
|
59 |
if(container!=null){ |
|
60 |
container.setxContainerPolicy(xContainerPolicy); |
|
61 |
xContainerPolicy = null; |
|
62 |
} |
|
63 |
|
|
64 |
} |
|
65 |
else if ("key".equals(name)&&xContainerPolicy!=null) { |
|
66 |
key = value; |
|
67 |
} |
|
68 |
else if ("value".equals(name)&&xContainerPolicy!=null) { |
|
69 |
if(key!=null) |
|
70 |
xContainerPolicy.put(key,value); |
|
71 |
} |
|
72 |
else if ("x_object_meta".equals(name)) { |
|
73 |
if(container!=null){ |
|
74 |
container.setMetadata(metadata); |
|
75 |
metadata = null; |
|
76 |
} |
|
77 |
|
|
78 |
} |
|
79 |
else if ("key".equals(name)&&metadata!=null) { |
|
80 |
key = value; |
|
81 |
} |
|
82 |
else if ("value".equals(name)&&metadata!=null) { |
|
83 |
if(key!=null) |
|
84 |
metadata.put(key,value); |
|
85 |
} |
|
86 |
else if ("name".equals(name)) { |
|
48 | 87 |
container.setName(value); |
49 | 88 |
} else if ("count".equals(name)) { |
50 | 89 |
container.setCount(Integer.parseInt(value)); |
... | ... | |
59 | 98 |
} else if ("log_retention".equals(name)) { |
60 | 99 |
container.setLogRetention("True".equals(value)); |
61 | 100 |
} |
101 |
else if ("x_object_modified_by".equals(name)) { |
|
102 |
container.setModifiedBy(value); |
|
103 |
|
|
104 |
} |
|
105 |
else if ("x_object_version".equals(name)) { |
|
106 |
container.setVersion(value); |
|
107 |
|
|
108 |
} |
|
109 |
else if ("x_object_hash".equals(name)) { |
|
110 |
container.setObjectHash(value); |
|
111 |
|
|
112 |
} |
|
113 |
else if ("x_object_uuid".equals(name)) { |
|
114 |
container.setObjectUUID(value); |
|
115 |
|
|
116 |
} |
|
117 |
else if ("x_object_version_timestamp".equals(name)) { |
|
118 |
container.setVersionTimestamp(value); |
|
119 |
|
|
120 |
} |
|
121 |
else if ("x_object_sharing".equals(name)) { |
|
122 |
container.setObjectSharing(value); |
|
123 |
|
|
124 |
} |
|
62 | 125 |
|
63 | 126 |
} |
64 | 127 |
|
65 | 128 |
public void characters(char ch[], int start, int length) { |
66 | 129 |
|
67 |
Log.d("Rackspace-Cloud", "Characters: \""); |
|
130 |
//Log.d("Rackspace-Cloud", "Characters: \"");
|
|
68 | 131 |
|
69 | 132 |
for (int i = start; i < start + length; i++) { |
70 | 133 |
switch (ch[i]) { |
71 | 134 |
case '\\': |
72 |
Log.d("Rackspace-Cloud", "\\\\"); |
|
135 |
// Log.d("Rackspace-Cloud", "\\\\");
|
|
73 | 136 |
break; |
74 | 137 |
case '"': |
75 |
Log.d("Rackspace-Cloud", "\\\""); |
|
138 |
// Log.d("Rackspace-Cloud", "\\\"");
|
|
76 | 139 |
break; |
77 | 140 |
case '\n': |
78 |
Log.d("Rackspace-Cloud", "\\n"); |
|
141 |
// Log.d("Rackspace-Cloud", "\\n");
|
|
79 | 142 |
break; |
80 | 143 |
case '\r': |
81 |
Log.d("Rackspace-Cloud", "\\r"); |
|
144 |
// Log.d("Rackspace-Cloud", "\\r");
|
|
82 | 145 |
break; |
83 | 146 |
case '\t': |
84 |
Log.d("Rackspace-Cloud", "\\t"); |
|
147 |
// Log.d("Rackspace-Cloud", "\\t");
|
|
85 | 148 |
break; |
86 | 149 |
default: |
87 |
Log.d("Rackspace-Cloud", String.valueOf(ch[i])); |
|
150 |
// Log.d("Rackspace-Cloud", String.valueOf(ch[i]));
|
|
88 | 151 |
break; |
89 | 152 |
} |
90 | 153 |
} |
91 |
Log.d("Rackspace-Cloud", "\"\n"); |
|
154 |
//Log.d("Rackspace-Cloud", "\"\n");
|
|
92 | 155 |
|
93 | 156 |
for (int i = start; i < (start + length); i++) { |
94 | 157 |
currentData.append(ch[i]); |
Also available in: Unified diff