import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.argeo.server.ArgeoServerException;
+import org.argeo.server.Deserializer;
import org.argeo.server.ServerDeserializer;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.DeserializationContext;
import org.springframework.beans.factory.InitializingBean;
public class JsonServerMapper extends JsonServerSerializer implements
- ServerDeserializer, InitializingBean {
+ ServerDeserializer, Deserializer, InitializingBean {
private final static Log log = LogFactory.getLog(JsonServerMapper.class);
private Class<?> targetClass;
}
+ public <T> T deserialize(Reader reader, Class<T> clss) {
+ try {
+ if (log.isTraceEnabled()) {
+ String str = IOUtils.toString(reader);
+ log.debug(str);
+ reader = new StringReader(str);
+ }
+
+ return getObjectMapper().readValue(reader, clss);
+ } catch (Exception e) {
+ throw new ArgeoServerException("Cannot deserialize " + reader, e);
+ }
+
+ }
+
public Object deserialize(String content) {
StringReader reader = new StringReader(content);
try {