--- /dev/null
+package org.argeo.server;
+
+import java.beans.PropertyEditorSupport;
+import java.io.StringReader;
+
+import org.apache.commons.io.IOUtils;
+
+public class DeserializingEditor extends PropertyEditorSupport {
+ private ServerDeserializer deserializer;
+
+ public DeserializingEditor(ServerDeserializer deserializer) {
+ super();
+ this.deserializer = deserializer;
+ }
+
+ @Override
+ public void setAsText(String text) throws IllegalArgumentException {
+ StringReader reader = new StringReader(text);
+ try {
+ setValue(deserializer.deserialize(reader));
+ } finally {
+ IOUtils.closeQuietly(reader);
+ }
+ }
+
+}