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