Revision 1fd17f2e src/com/rackspace/cloud/files/api/client/parsers/ContainerObjectXMLparser.java

b/src/com/rackspace/cloud/files/api/client/parsers/ContainerObjectXMLparser.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;
......
18 20

  
19 21
	private ContainerObjects object;
20 22
	private ArrayList<ContainerObjects> files;
23
	private Map<String,String> metadata;
24
	private String key;
25
	
21 26

  
22 27
	private StringBuffer currentData;
23 28
	public String LOG = "ViewFilesXMLparser";
......
38 43
			files = new ArrayList<ContainerObjects>();
39 44
		} else if ("object".equals(name)) {
40 45
			object = new ContainerObjects();
46
		} else if ("x_object_meta".equals(name)) {
47
			metadata = new HashMap<String, String>();
41 48
		}
42 49
	}
43 50

  
......
49 56

  
50 57
		} else if ("object".equals(name)) {
51 58
			if (files != null) {
59
				Log.d(LOG, object.toString());
52 60
				files.add(object);
53 61
			}
54
		} else if ("name".equals(name)) {
62
		}else if ("x_object_meta".equals(name)) {
63
			if(object!=null){
64
				object.setMetadata(metadata);
65
				metadata = null;
66
			}
67

  
68
		}
69
		else if ("key".equals(name)&&metadata!=null) {
70
			key = value;
71
		}
72
		else if ("value".equals(name)&&metadata!=null) {
73
			if(key!=null)
74
				metadata.put(key,value);
75
		}
76
		else if ("name".equals(name)) {
55 77
			object.setCName(value);
56 78
		} else if ("content_type".equals(name)) {
57 79
			object.setContentType(value);
......
63 85
			object.setLastMod(value);
64 86

  
65 87
		}
88
		//x_object_modified_by
89
		//x_object_version
90
		//x_object_hash
91
		//x_object_uuid
92
		//x_object_version_timestamp
93
		//x_object_sharing
94
		else if ("x_object_modified_by".equals(name)) {
95
			object.setModifiedBy(value);
96

  
97
		}
98
		else if ("x_object_version".equals(name)) {
99
			object.setVersion(value);
100

  
101
		}
102
		else if ("x_object_hash".equals(name)) {
103
			object.setObjectHash(value);
104

  
105
		}
106
		else if ("x_object_uuid".equals(name)) {
107
			object.setObjectUUID(value);
108

  
109
		}
110
		else if ("x_object_version_timestamp".equals(name)) {
111
			object.setVersionTimestamp(value);
112

  
113
		}
114
		else if ("x_object_sharing".equals(name)) {
115
			object.setObjectSharing(value);
116

  
117
		}
66 118
	}
67 119

  
68 120
	public void characters(char ch[], int start, int length) {
69 121

  
70
		Log.d("Rackspace-Cloud", "Characters:    \"");
122
		//Log.d("Rackspace-Cloud", "Characters:    \"");
71 123

  
72 124
		for (int i = start; i < start + length; i++) {
73 125
			switch (ch[i]) {
74 126
			case '\\':
75
				Log.d("Rackspace-Cloud", "\\\\");
127
				//Log.d("Rackspace-Cloud", "\\\\");
76 128
				break;
77 129
			case '"':
78
				Log.d("Rackspace-Cloud", "\\\"");
130
				//Log.d("Rackspace-Cloud", "\\\"");
79 131
				break;
80 132
			case '\n':
81
				Log.d("Rackspace-Cloud", "\\n");
133
				//Log.d("Rackspace-Cloud", "\\n");
82 134
				break;
83 135
			case '\r':
84
				Log.d("Rackspace-Cloud", "\\r");
136
				//Log.d("Rackspace-Cloud", "\\r");
85 137
				break;
86 138
			case '\t':
87
				Log.d("Rackspace-Cloud", "\\t");
139
				//Log.d("Rackspace-Cloud", "\\t");
88 140
				break;
89 141
			default:
90
				Log.d("Rackspace-Cloud", String.valueOf(ch[i]));
142
				//Log.d("Rackspace-Cloud", String.valueOf(ch[i]));
91 143
				break;
92 144
			}
93 145
		}
94
		Log.d("Rackspace-Cloud", "\"\n");
146
		//Log.d("Rackspace-Cloud", "\"\n");
95 147
		// String strCharacters = new String(ch, start, length);
96 148
		for (int i = start; i < (start + length); i++) {
97 149
			currentData.append(ch[i]);

Also available in: Unified diff