X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=server%2Fruntime%2Forg.argeo.server.core%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fserver%2FDeserializingEditor.java;fp=server%2Fruntime%2Forg.argeo.server.core%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fserver%2FDeserializingEditor.java;h=4c8dc6d8d9e29e697359b92f31a4f6ade7f0ecf5;hb=00ae7654c948e62c35ef88e7d8d528965d5e0371;hp=0000000000000000000000000000000000000000;hpb=727a852dcd2a6e80b11ae71ca37f50d202baae5c;p=lgpl%2Fargeo-commons.git diff --git a/server/runtime/org.argeo.server.core/src/main/java/org/argeo/server/DeserializingEditor.java b/server/runtime/org.argeo.server.core/src/main/java/org/argeo/server/DeserializingEditor.java new file mode 100644 index 000000000..4c8dc6d8d --- /dev/null +++ b/server/runtime/org.argeo.server.core/src/main/java/org/argeo/server/DeserializingEditor.java @@ -0,0 +1,26 @@ +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); + } + } + +}