Revision da02192c src/com/rackspace/cloud/files/api/client/ContainerObjectManager.java

b/src/com/rackspace/cloud/files/api/client/ContainerObjectManager.java
123 123

  
124 124
	}
125 125
	
126
	
127
	public ArrayList<ContainerObjects> createList(boolean detail,
128
			String passName, boolean shared) throws CloudServersException {
129
		Log.i(LOG,"Create List:"+passName);
130
		CustomHttpClient httpclient = new CustomHttpClient(context);
131
		String url = getSafeURL(Account.getAccount().getStorageUrl(), passName)
132
				+ "?format=xml&shared="+shared;
133
		HttpGet get = new HttpGet(url);
134
		ArrayList<ContainerObjects> files = new ArrayList<ContainerObjects>();
135

  
136
		get.addHeader("Content-Type", "application/xml");
137
		get.addHeader(CustomHttpClient.X_STORAGE_TOKEN, storageToken);
138

  
139
		try {
140
			HttpResponse resp = httpclient.execute(get);
141
			BasicResponseHandler responseHandler = new BasicResponseHandler();
142
			String body = responseHandler.handleResponse(resp);
143

  
144
			if (resp.getStatusLine().getStatusCode() == 200
145
					|| resp.getStatusLine().getStatusCode() == 203) {
146
				ContainerObjectXMLparser filesXMLParser = new ContainerObjectXMLparser();
147
				SAXParser saxParser = SAXParserFactory.newInstance()
148
						.newSAXParser();
149
				XMLReader xmlReader = saxParser.getXMLReader();
150
				xmlReader.setContentHandler(filesXMLParser);
151

  
152
				xmlReader.parse(new InputSource(new StringReader(body)));
153
				files = filesXMLParser.getViewFiles();
154
				for(ContainerObjects o :files)
155
					o.setContainerName(passName);
156

  
157
			} else {
158
				CloudServersFaultXMLParser parser = new CloudServersFaultXMLParser();
159
				SAXParser saxParser = SAXParserFactory.newInstance()
160
						.newSAXParser();
161
				XMLReader xmlReader = saxParser.getXMLReader();
162
				xmlReader.setContentHandler(parser);
163
				xmlReader.parse(new InputSource(new StringReader(body)));
164
				CloudServersException cse = parser.getException();
165
				throw cse;
166
			}
167
		} catch (ClientProtocolException e) {
168
			CloudServersException cse = new CloudServersException();
169
			cse.setMessage(e.getLocalizedMessage());
170
			throw cse;
171
		} catch (IOException e) {
172
			CloudServersException cse = new CloudServersException();
173
			cse.setMessage(e.getLocalizedMessage());
174
			throw cse;
175
		} catch (ParserConfigurationException e) {
176
			CloudServersException cse = new CloudServersException();
177
			cse.setMessage(e.getLocalizedMessage());
178
			throw cse;
179
		} catch (SAXException e) {
180
			CloudServersException cse = new CloudServersException();
181
			cse.setMessage(e.getLocalizedMessage());
182
			throw cse;
183
		} catch (FactoryConfigurationError e) {
184
			CloudServersException cse = new CloudServersException();
185
			cse.setMessage(e.getLocalizedMessage());
186
			throw cse;
187
		}
188
		return files;
189

  
190
	}
191
	
126 192
	public ArrayList<ContainerObjects> createOtherList(boolean detail,
127 193
			String passName, String user) throws CloudServersException {
128 194
		Log.i(LOG,"Create List:"+passName);
......
326 392
			if(con.getName().equalsIgnoreCase("trash")||con.getName().equals(Container.MYSHARED)||con.getName().equals(Container.OTHERS)){}
327 393
			else
328 394
			try{
329
				ArrayList<ContainerObjects> temp = createList(detail, con.getName());
395
				ArrayList<ContainerObjects> temp = createList(detail, con.getName(), true);
330 396
				for(ContainerObjects o : temp){
331 397
					Log.i(LOG,o.getCName()+" "+o.isShared());
332 398
					if(o.isShared()){

Also available in: Unified diff