You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2020/03/30 08:31:03 UTC
[syncope] 01/02: Replacing Hibernate Validator with Apache BVal
(#169)
This is an automated email from the ASF dual-hosted git repository.
ilgrosso pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git
commit 901608cce1e49223a538551de718402a7734334a
Author: Francesco Chicchiriccò <il...@users.noreply.github.com>
AuthorDate: Mon Mar 30 08:38:33 2020 +0200
Replacing Hibernate Validator with Apache BVal (#169)
---
core/idm/logic/pom.xml | 5 ----
.../syncope/core/rest/cxf/RESTCXFContext.java | 12 +-------
core/persistence-jpa/pom.xml | 16 +++--------
core/provisioning-java/pom.xml | 5 ----
.../syncope/ext/scimv2/cxf/RESTSCIMCXFContext.java | 4 +--
.../self/keymaster/cxf/SelfKeymasterContext.java | 6 +---
fit/core-reference/pom.xml | 13 +++++++--
fit/core-reference/src/main/resources/log4j2.xml | 4 +++
.../src/main/webapp/WEB-INF/glassfish-web.xml | 3 +-
pom.xml | 15 ++++------
.../systemadministration/javaeecontainer.adoc | 32 ++++++++++++++++++++--
src/site/xdoc/building.xml | 5 ----
12 files changed, 58 insertions(+), 62 deletions(-)
diff --git a/core/idm/logic/pom.xml b/core/idm/logic/pom.xml
index baf271c..02c3def 100644
--- a/core/idm/logic/pom.xml
+++ b/core/idm/logic/pom.xml
@@ -61,11 +61,6 @@ under the License.
<scope>test</scope>
</dependency>
<dependency>
- <groupId>javax.el</groupId>
- <artifactId>javax.el-api</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>org.apache.syncope.core</groupId>
<artifactId>syncope-core-persistence-jpa</artifactId>
<version>${project.version}</version>
diff --git a/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/RESTCXFContext.java b/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/RESTCXFContext.java
index 545fde2..9affd05 100644
--- a/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/RESTCXFContext.java
+++ b/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/RESTCXFContext.java
@@ -38,7 +38,6 @@ import org.apache.cxf.jaxrs.openapi.OpenApiFeature;
import org.apache.cxf.jaxrs.provider.JAXBElementProvider;
import org.apache.cxf.jaxrs.spring.JAXRSServerFactoryBeanDefinitionParser.SpringJAXRSServerFactoryBean;
import org.apache.cxf.jaxrs.validation.JAXRSBeanValidationInInterceptor;
-import org.apache.cxf.jaxrs.validation.JAXRSBeanValidationOutInterceptor;
import org.apache.cxf.staxutils.DocumentDepthProperties;
import org.apache.cxf.transport.common.gzip.GZIPInInterceptor;
import org.apache.cxf.transport.common.gzip.GZIPOutInterceptor;
@@ -123,13 +122,6 @@ public class RESTCXFContext {
}
@Bean
- public JAXRSBeanValidationOutInterceptor validationOutInterceptor() {
- JAXRSBeanValidationOutInterceptor validationOutInterceptor = new JAXRSBeanValidationOutInterceptor();
- validationOutInterceptor.setProvider(validationProvider());
- return validationOutInterceptor;
- }
-
- @Bean
public GZIPInInterceptor gzipInInterceptor() {
return new GZIPInInterceptor();
}
@@ -245,9 +237,7 @@ public class RESTCXFContext {
gzipInInterceptor(),
validationInInterceptor()));
- restContainer.setOutInterceptors(List.of(
- gzipOutInterceptor(),
- validationOutInterceptor()));
+ restContainer.setOutInterceptors(List.of(gzipOutInterceptor()));
restContainer.setFeatures(List.of(openapiFeature()));
diff --git a/core/persistence-jpa/pom.xml b/core/persistence-jpa/pom.xml
index 2fef5e8..6f5114e 100644
--- a/core/persistence-jpa/pom.xml
+++ b/core/persistence-jpa/pom.xml
@@ -42,10 +42,6 @@ under the License.
<groupId>javax.persistence</groupId>
<artifactId>javax.persistence-api</artifactId>
</dependency>
- <dependency>
- <groupId>javax.el</groupId>
- <artifactId>javax.el-api</artifactId>
- </dependency>
<dependency>
<groupId>org.apache.openjpa</groupId>
@@ -62,14 +58,10 @@ under the License.
</dependency>
<dependency>
- <groupId>org.hibernate.validator</groupId>
- <artifactId>hibernate-validator</artifactId>
- </dependency>
- <dependency>
- <groupId>org.glassfish</groupId>
- <artifactId>javax.el</artifactId>
- </dependency>
-
+ <groupId>org.apache.bval</groupId>
+ <artifactId>bval-jsr</artifactId>
+ </dependency>
+
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
diff --git a/core/provisioning-java/pom.xml b/core/provisioning-java/pom.xml
index a2c7067..5a2211e 100644
--- a/core/provisioning-java/pom.xml
+++ b/core/provisioning-java/pom.xml
@@ -115,11 +115,6 @@ under the License.
<scope>test</scope>
</dependency>
<dependency>
- <groupId>javax.el</groupId>
- <artifactId>javax.el-api</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>org.apache.syncope.core</groupId>
<artifactId>syncope-core-persistence-jpa</artifactId>
<version>${project.version}</version>
diff --git a/ext/scimv2/scim-rest-cxf/src/main/java/org/apache/syncope/ext/scimv2/cxf/RESTSCIMCXFContext.java b/ext/scimv2/scim-rest-cxf/src/main/java/org/apache/syncope/ext/scimv2/cxf/RESTSCIMCXFContext.java
index 4f8e2f5..0120754 100644
--- a/ext/scimv2/scim-rest-cxf/src/main/java/org/apache/syncope/ext/scimv2/cxf/RESTSCIMCXFContext.java
+++ b/ext/scimv2/scim-rest-cxf/src/main/java/org/apache/syncope/ext/scimv2/cxf/RESTSCIMCXFContext.java
@@ -27,7 +27,6 @@ import org.apache.cxf.endpoint.Server;
import org.apache.cxf.jaxrs.model.wadl.WadlGenerator;
import org.apache.cxf.jaxrs.spring.JAXRSServerFactoryBeanDefinitionParser.SpringJAXRSServerFactoryBean;
import org.apache.cxf.jaxrs.validation.JAXRSBeanValidationInInterceptor;
-import org.apache.cxf.jaxrs.validation.JAXRSBeanValidationOutInterceptor;
import org.apache.cxf.transport.common.gzip.GZIPInInterceptor;
import org.apache.cxf.transport.common.gzip.GZIPOutInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
@@ -94,8 +93,7 @@ public class RESTSCIMCXFContext {
ctx.getBean(JAXRSBeanValidationInInterceptor.class)));
scimv2Container.setOutInterceptors(List.of(
- ctx.getBean(GZIPOutInterceptor.class),
- ctx.getBean(JAXRSBeanValidationOutInterceptor.class)));
+ ctx.getBean(GZIPOutInterceptor.class)));
scimv2Container.setProviders(List.of(
scimJacksonJsonProvider(),
diff --git a/ext/self-keymaster/rest-cxf/src/main/java/org/apache/syncope/ext/self/keymaster/cxf/SelfKeymasterContext.java b/ext/self-keymaster/rest-cxf/src/main/java/org/apache/syncope/ext/self/keymaster/cxf/SelfKeymasterContext.java
index 7a2dbeb..bc6976a 100644
--- a/ext/self-keymaster/rest-cxf/src/main/java/org/apache/syncope/ext/self/keymaster/cxf/SelfKeymasterContext.java
+++ b/ext/self-keymaster/rest-cxf/src/main/java/org/apache/syncope/ext/self/keymaster/cxf/SelfKeymasterContext.java
@@ -19,17 +19,14 @@
package org.apache.syncope.ext.self.keymaster.cxf;
import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider;
-
import java.util.List;
import java.util.Map;
-
import javax.annotation.Resource;
import org.apache.cxf.Bus;
import org.apache.cxf.endpoint.Server;
import org.apache.cxf.jaxrs.model.wadl.WadlGenerator;
import org.apache.cxf.jaxrs.spring.JAXRSServerFactoryBeanDefinitionParser.SpringJAXRSServerFactoryBean;
import org.apache.cxf.jaxrs.validation.JAXRSBeanValidationInInterceptor;
-import org.apache.cxf.jaxrs.validation.JAXRSBeanValidationOutInterceptor;
import org.apache.cxf.transport.common.gzip.GZIPInInterceptor;
import org.apache.cxf.transport.common.gzip.GZIPOutInterceptor;
import org.apache.syncope.common.keymaster.client.api.ConfParamOps;
@@ -98,8 +95,7 @@ public class SelfKeymasterContext {
ctx.getBean(JAXRSBeanValidationInInterceptor.class)));
selfKeymasterContainer.setOutInterceptors(List.of(
- ctx.getBean(GZIPOutInterceptor.class),
- ctx.getBean(JAXRSBeanValidationOutInterceptor.class)));
+ ctx.getBean(GZIPOutInterceptor.class)));
selfKeymasterContainer.setProviders(List.of(
ctx.getBean(RestServiceExceptionMapper.class),
diff --git a/fit/core-reference/pom.xml b/fit/core-reference/pom.xml
index 508dbc0..a0d338f 100644
--- a/fit/core-reference/pom.xml
+++ b/fit/core-reference/pom.xml
@@ -1477,9 +1477,15 @@ under the License.
<dependencies>
<dependency>
- <groupId>org.glassfish</groupId>
- <artifactId>javax.faces</artifactId>
- <version>${javax.faces.version}</version>
+ <groupId>org.apache.syncope.core</groupId>
+ <artifactId>syncope-core-persistence-jpa</artifactId>
+ <version>${project.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.bval</groupId>
+ <artifactId>bval-jsr</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
@@ -1515,6 +1521,7 @@ under the License.
</container>
<configuration>
<properties>
+ <cargo.glassfish.removeDefaultDatasource>false</cargo.glassfish.removeDefaultDatasource>
<cargo.jvmargs>-Dspring.profiles.active=embedded
-XX:+CMSClassUnloadingEnabled -XX:+UseG1GC -Xmx2048m -Xms1024m</cargo.jvmargs>
</properties>
diff --git a/fit/core-reference/src/main/resources/log4j2.xml b/fit/core-reference/src/main/resources/log4j2.xml
index 6bc339c..d0ddcbb 100644
--- a/fit/core-reference/src/main/resources/log4j2.xml
+++ b/fit/core-reference/src/main/resources/log4j2.xml
@@ -176,6 +176,10 @@ under the License.
<appender-ref ref="mainFile"/>
<appender-ref ref="main"/>
</asyncLogger>
+ <asyncLogger name="org.apache.bval" additivity="false" level="ERROR">
+ <appender-ref ref="mainFile"/>
+ <appender-ref ref="main"/>
+ </asyncLogger>
<asyncLogger name="org.opensaml" additivity="false" level="ERROR">
<appender-ref ref="mainFile"/>
<appender-ref ref="main"/>
diff --git a/fit/core-reference/src/main/webapp/WEB-INF/glassfish-web.xml b/fit/core-reference/src/main/webapp/WEB-INF/glassfish-web.xml
index 2578cf5..2eea12b 100644
--- a/fit/core-reference/src/main/webapp/WEB-INF/glassfish-web.xml
+++ b/fit/core-reference/src/main/webapp/WEB-INF/glassfish-web.xml
@@ -27,7 +27,8 @@ GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/gla
<jndi-name>jdbc/syncopeMasterDataSource</jndi-name>
</resource-ref>-->
<class-loader delegate="false"/>
+ <scanning-exclude>*</scanning-exclude>
<jsp-config>
<property name="httpMethods" value="GET,POST,HEAD,PUT,DELETE"/>
</jsp-config>
-</glassfish-web-app>
\ No newline at end of file
+</glassfish-web-app>
diff --git a/pom.xml b/pom.xml
index 03eb41b..071cc99 100644
--- a/pom.xml
+++ b/pom.xml
@@ -415,7 +415,7 @@ under the License.
<openjpa.version>3.1.1</openjpa.version>
<hikaricp.version>3.4.2</hikaricp.version>
- <hibernate-validator.version>6.1.2.Final</hibernate-validator.version>
+ <bval.version>2.0.3</bval.version>
<jasypt.version>1.9.3</jasypt.version>
@@ -515,7 +515,7 @@ under the License.
<tomcat.version>9.0.33</tomcat.version>
<wildfly.version>19.0.0.Final</wildfly.version>
- <payara.version>5.194</payara.version>
+ <payara.version>5.201</payara.version>
<javax.faces.version>2.4.0</javax.faces.version>
<docker.postgresql.version>12</docker.postgresql.version>
@@ -909,14 +909,9 @@ under the License.
</dependency>
<dependency>
- <groupId>org.hibernate.validator</groupId>
- <artifactId>hibernate-validator</artifactId>
- <version>${hibernate-validator.version}</version>
- </dependency>
- <dependency>
- <groupId>org.glassfish</groupId>
- <artifactId>javax.el</artifactId>
- <version>3.0.1-b09</version>
+ <groupId>org.apache.bval</groupId>
+ <artifactId>bval-jsr</artifactId>
+ <version>${bval.version}</version>
</dependency>
<dependency>
diff --git a/src/main/asciidoc/reference-guide/workingwithapachesyncope/systemadministration/javaeecontainer.adoc b/src/main/asciidoc/reference-guide/workingwithapachesyncope/systemadministration/javaeecontainer.adoc
index b0f2d6a..55ede1e 100644
--- a/src/main/asciidoc/reference-guide/workingwithapachesyncope/systemadministration/javaeecontainer.adoc
+++ b/src/main/asciidoc/reference-guide/workingwithapachesyncope/systemadministration/javaeecontainer.adoc
@@ -102,6 +102,34 @@ Add
to `core/pom.xml`, `console/pom.xml` and `enduser/pom.xml`.
+then replace
+
+[source,xml]
+....
+ <dependency>
+ <groupId>org.apache.syncope.core</groupId>
+ <artifactId>syncope-core-persistence-jpa</artifactId>
+ </dependency>
+....
+
+with
+
+[source,xml]
+....
+ <dependency>
+ <groupId>org.apache.syncope.core</groupId>
+ <artifactId>syncope-core-persistence-jpa</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.bval</groupId>
+ <artifactId>bval-jsr</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+....
+
+in `core/pom.xml`.
+
When using a datasource for internal storage, be sure to add
[source,xml]
@@ -112,8 +140,8 @@ When using a datasource for internal storage, be sure to add
</resource-ref>
....
-right after `</context-root>` in `core/src/main/webapp/WEB-INF/glassfish-web.xml`, assuming that your Payara Server instance
-provides a datasource named `jdbc/syncopeMasterDataSource`.
+right after `</context-root>` in `core/src/main/webapp/WEB-INF/glassfish-web.xml`, assuming that your Payara Server
+instance provides a datasource named `jdbc/syncopeMasterDataSource`.
[TIP]
====
diff --git a/src/site/xdoc/building.xml b/src/site/xdoc/building.xml
index 3981a83..d61d6a4 100644
--- a/src/site/xdoc/building.xml
+++ b/src/site/xdoc/building.xml
@@ -186,11 +186,6 @@ under the License.
<h4>Java EE containers</h4>
- <h5>Glassfish</h5>
- Perform the full test suite by deploying Syncope core in
- <a href="https://glassfish.java.net/">Glassfish</a> via
- <source>$ mvn -Pglassfish-it</source>
-
<h5>Payara</h5>
Perform the full test suite by deploying Syncope core in
<a href="http://www.payara.fish/">Payara</a> via