You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2018/05/16 21:14:48 UTC

tomee git commit: ensure cxf BeanValidationProvider handles validation properly and doesnt mix returned entity and methods

Repository: tomee
Updated Branches:
  refs/heads/fb_tomee8 76cd27fc5 -> a20c7a346


ensure cxf BeanValidationProvider handles validation properly and doesnt mix returned entity and methods


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

Branch: refs/heads/fb_tomee8
Commit: a20c7a346321c83a1ab74c6aca7fc048a198f75c
Parents: 76cd27f
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Wed May 16 23:14:34 2018 +0200
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Wed May 16 23:14:34 2018 +0200

----------------------------------------------------------------------
 .../org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java     | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/a20c7a34/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
----------------------------------------------------------------------
diff --git a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
index e10172f..e155b9d 100644
--- a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
+++ b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
@@ -886,7 +886,7 @@ public class CxfRsHttpListener implements RsHttpListener {
                     SystemInstance.get().getProperty("openejb.cxf.rs.bval.active",
                             serviceConfiguration.getProperties().getProperty(CXF_JAXRS_PREFIX + "bval.active", "true")));
             if (factory.getFeatures() == null && bvalActive) {
-                factory.setFeatures(new ArrayList<Feature>());
+                factory.setFeatures(new ArrayList<>());
             } else if (bvalActive) { // check we should activate it and user didn't configure it
                 for (final Feature f : factory.getFeatures()) {
                     if (BeanValidationFeature.class.isInstance(f)) {
@@ -908,7 +908,7 @@ public class CxfRsHttpListener implements RsHttpListener {
                 }
             }
             if (bvalActive) { // bval doesn't need the actual instance so faking it to avoid to lookup the bean
-                final BeanValidationProvider provider = new BeanValidationProvider();
+                final BeanValidationProvider provider = new BeanValidationProvider(); // todo: close the factory
 
                 final BeanValidationInInterceptor in = new JAXRSBeanValidationInInterceptor() {
                     @Override
@@ -926,6 +926,7 @@ public class CxfRsHttpListener implements RsHttpListener {
                         return CxfRsHttpListener.this.getServiceObject(message);
                     }
                 };
+                out.setEnforceOnlyBeanConstraints(true);
                 out.setProvider(provider);
                 out.setServiceObject(FAKE_SERVICE_OBJECT);
                 factory.getOutInterceptors().add(out);