Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright (C) 2012 Clarion Media, LLC
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.clarionmedia.infinitum.orm.rest.impl;

Concrete implementation of RestfulSession for web services which send responses back as XML.

Author(s):
Tyler Treat
Version:
1.0 05/21/12
Since:
1.0
public class RestfulXmlSession extends RestfulSession {
Creates a new RestfulXmlSession.
	public RestfulXmlSession() {
	}
	@SuppressWarnings("unchecked")
		OrmPreconditions.checkForOpenSession();
		.debug("Sending GET request to retrieve entity");
		String uri =  + .getRestEndpoint(type) + "/" + id;
		Map<StringStringheaders = new HashMap<StringString>();
		headers.put("Accept""application/xml");
		try {
			RestResponse response = .executeGet(uriheaders);
			if (response.getStatusCode() == .) {
				String xmlResponse = response.getResponseDataAsString();
ret = null;
				// Attempt to use a registered deserializer
					ret = (T) .get(type).deserializeObject(xmlResponse);
				// Otherwise fallback to Simple
				else
					ret = new Persister().read(typexmlResponse);
				if (ret != null) {
				    int objHash = .computeModelHash(ret);
				    cache(objHashret);
				}
				return ret;
			}
catch (Exception e) {
			.error("Unable to read web service response"e);
			return null;
		}
		return null;
	}
	public <T> Session registerDeserializer(Class<T> typeDeserializer<T> deserializer) {
		if (XmlDeserializer.class.isAssignableFrom(deserializer.getClass()))
			.put(type, (XmlDeserializer<T>) deserializer);
		return this;
	}
New to GrepCode? Check out our FAQ X