You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@johnzon.apache.org by rm...@apache.org on 2017/05/30 08:36:45 UTC

johnzon git commit: JOHNZON-119 WildcardConfigurableJohnzonProvider missing setSerializeValueFilter

Repository: johnzon
Updated Branches:
  refs/heads/master 0a45f1968 -> 18c215ce7


JOHNZON-119 WildcardConfigurableJohnzonProvider missing setSerializeValueFilter


Project: http://git-wip-us.apache.org/repos/asf/johnzon/repo
Commit: http://git-wip-us.apache.org/repos/asf/johnzon/commit/18c215ce
Tree: http://git-wip-us.apache.org/repos/asf/johnzon/tree/18c215ce
Diff: http://git-wip-us.apache.org/repos/asf/johnzon/diff/18c215ce

Branch: refs/heads/master
Commit: 18c215ce784f8f308417d4d9027d11f1b0ac12e0
Parents: 0a45f19
Author: rmannibucau <rm...@apache.org>
Authored: Tue May 30 10:36:40 2017 +0200
Committer: rmannibucau <rm...@apache.org>
Committed: Tue May 30 10:36:40 2017 +0200

----------------------------------------------------------------------
 .../jaxrs/WildcardConfigurableJohnzonProvider.java     | 13 +++++++++++++
 1 file changed, 13 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/johnzon/blob/18c215ce/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/WildcardConfigurableJohnzonProvider.java
----------------------------------------------------------------------
diff --git a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/WildcardConfigurableJohnzonProvider.java b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/WildcardConfigurableJohnzonProvider.java
index 445d810..34bc456 100644
--- a/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/WildcardConfigurableJohnzonProvider.java
+++ b/johnzon-jaxrs/src/main/java/org/apache/johnzon/jaxrs/WildcardConfigurableJohnzonProvider.java
@@ -19,6 +19,7 @@
 package org.apache.johnzon.jaxrs;
 
 import org.apache.johnzon.mapper.MapperBuilder;
+import org.apache.johnzon.mapper.SerializeValueFilter;
 import org.apache.johnzon.mapper.access.AccessMode;
 
 import javax.json.JsonReaderFactory;
@@ -34,6 +35,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.lang.annotation.Annotation;
+import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Type;
 import java.util.Comparator;
 import java.util.List;
@@ -223,4 +225,15 @@ public class WildcardConfigurableJohnzonProvider<T> implements MessageBodyWriter
     public void setUseBigDecimalForFloats(final boolean useBigDecimalForFloats) {
         builder.setUseBigDecimalForFloats(useBigDecimalForFloats);
     }
+
+    public void setSerializeValueFilter(final String val) {
+        try {
+            builder.setSerializeValueFilter(SerializeValueFilter.class.cast(
+                    Thread.currentThread().getContextClassLoader().loadClass(val).getConstructor().newInstance()));
+        } catch (final InstantiationException | IllegalAccessException | NoSuchMethodException | ClassNotFoundException e) {
+            throw new IllegalArgumentException(e);
+        } catch (InvocationTargetException e) {
+            throw new IllegalArgumentException(e.getCause());
+        }
+    }
 }