projects
/
lgpl
/
argeo-commons.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Finish implementing API
[lgpl/argeo-commons.git]
/
server
/
runtime
/
org.argeo.server.json
/
src
/
main
/
java
/
org
/
argeo
/
server
/
json
/
JsonServerMapper.java
diff --git
a/server/runtime/org.argeo.server.json/src/main/java/org/argeo/server/json/JsonServerMapper.java
b/server/runtime/org.argeo.server.json/src/main/java/org/argeo/server/json/JsonServerMapper.java
index 8fef8e6b2fa7772638bbcdae89280d0c218cc201..266ff2eec3f041ec37f1908b4c18c86456aa7660 100644
(file)
--- a/
server/runtime/org.argeo.server.json/src/main/java/org/argeo/server/json/JsonServerMapper.java
+++ b/
server/runtime/org.argeo.server.json/src/main/java/org/argeo/server/json/JsonServerMapper.java
@@
-2,9
+2,11
@@
package org.argeo.server.json;
import java.io.IOException;
import java.io.Reader;
import java.io.IOException;
import java.io.Reader;
+import java.io.StringReader;
import java.util.HashMap;
import java.util.Map;
import java.util.HashMap;
import java.util.Map;
+import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.argeo.server.ArgeoServerException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.argeo.server.ArgeoServerException;
@@
-21,10
+23,11
@@
public class JsonServerMapper extends JsonServerSerializer implements
ServerDeserializer, InitializingBean {
private final static Log log = LogFactory.getLog(JsonServerMapper.class);
ServerDeserializer, InitializingBean {
private final static Log log = LogFactory.getLog(JsonServerMapper.class);
- private Class targetClass;
+ private Class
<?>
targetClass;
- private Map<Class
, JsonDeserializer> deserializers = new HashMap<Class, JsonDeserializer
>();
+ private Map<Class
<?>, JsonDeserializer<?>> deserializers = new HashMap<Class<?>, JsonDeserializer<?>
>();
+ @SuppressWarnings("unchecked")
public void afterPropertiesSet() throws Exception {
CustomDeserializerFactory dsf = new CustomDeserializerFactory();
for (Class clss : deserializers.keySet()) {
public void afterPropertiesSet() throws Exception {
CustomDeserializerFactory dsf = new CustomDeserializerFactory();
for (Class clss : deserializers.keySet()) {
@@
-40,8
+43,9
@@
public class JsonServerMapper extends JsonServerSerializer implements
JsonDeserializer<?> deserializer, Object bean,
String propertyName) throws IOException,
JsonProcessingException {
JsonDeserializer<?> deserializer, Object bean,
String propertyName) throws IOException,
JsonProcessingException {
- if (log.is
Debug
Enabled())
+ if (log.is
Trace
Enabled())
log.debug("Ignore property " + propertyName);
log.debug("Ignore property " + propertyName);
+ ctxt.getParser().skipChildren();
return true;
}
});
return true;
}
});
@@
-67,12
+71,29
@@
public class JsonServerMapper extends JsonServerSerializer implements
}
}
- public void setTargetClass(Class targetClass) {
+ public Object deserialize(String content) {
+ StringReader reader = new StringReader(content);
+ try {
+ return deserialize(reader);
+ } finally {
+ IOUtils.closeQuietly(reader);
+ }
+ }
+
+ public void setTargetClass(Class<?> targetClass) {
this.targetClass = targetClass;
}
this.targetClass = targetClass;
}
- public void setDeserializers(Map<Class
, JsonDeserializer
> deserializers) {
+ public void setDeserializers(Map<Class
<?>, JsonDeserializer<?>
> deserializers) {
this.deserializers = deserializers;
}
this.deserializers = deserializers;
}
+ public Class<?> getTargetClass() {
+ return targetClass;
+ }
+
+ public Map<Class<?>, JsonDeserializer<?>> getDeserializers() {
+ return deserializers;
+ }
+
}
}