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);