Skip to content

Commit

Permalink
Replacing Hibernate Validator with Apache BVal (#169)
Browse files Browse the repository at this point in the history
  • Loading branch information
ilgrosso committed Mar 30, 2020
1 parent ba3e90e commit 3edc749
Show file tree
Hide file tree
Showing 15 changed files with 68 additions and 90 deletions.
5 changes: 0 additions & 5 deletions core/logic/pom.xml
Expand Up @@ -96,11 +96,6 @@ under the License.
<version>${project.version}</version>
<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>
Expand Down
12 changes: 4 additions & 8 deletions core/persistence-jpa/pom.xml
Expand Up @@ -62,14 +62,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>
Expand Down
5 changes: 0 additions & 5 deletions core/provisioning-java/pom.xml
Expand Up @@ -110,11 +110,6 @@ under the License.
<version>${project.version}</version>
<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>
Expand Down
6 changes: 1 addition & 5 deletions core/rest-cxf/src/main/resources/restCXFContext.xml
Expand Up @@ -78,10 +78,7 @@ under the License.
<bean id="validationInInterceptor" class="org.apache.cxf.jaxrs.validation.JAXRSBeanValidationInInterceptor">
<property name="provider" ref="validationProvider"/>
</bean>
<bean id="validationOutInterceptor" class="org.apache.cxf.jaxrs.validation.JAXRSBeanValidationOutInterceptor">
<property name="provider" ref="validationProvider"/>
</bean>


<bean id="gzipInInterceptor" class="org.apache.cxf.transport.common.gzip.GZIPInInterceptor"/>
<bean id="gzipOutInterceptor" class="org.apache.cxf.transport.common.gzip.GZIPOutInterceptor">
<property name="threshold" value="0"/>
Expand Down Expand Up @@ -157,7 +154,6 @@ under the License.
</jaxrs:inInterceptors>
<jaxrs:outInterceptors>
<ref bean="gzipOutInterceptor"/>
<ref bean="validationOutInterceptor"/>
</jaxrs:outInterceptors>
<jaxrs:providers>
<ref bean="dateParamConverterProvider"/>
Expand Down
Expand Up @@ -41,10 +41,7 @@ under the License.
<bean id="validationInInterceptor" class="org.apache.cxf.jaxrs.validation.JAXRSBeanValidationInInterceptor">
<property name="provider" ref="validationProvider"/>
</bean>
<bean id="validationOutInterceptor" class="org.apache.cxf.jaxrs.validation.JAXRSBeanValidationOutInterceptor">
<property name="provider" ref="validationProvider"/>
</bean>


<bean id="gzipInInterceptor" class="org.apache.cxf.transport.common.gzip.GZIPInInterceptor"/>
<bean id="gzipOutInterceptor" class="org.apache.cxf.transport.common.gzip.GZIPOutInterceptor">
<property name="threshold" value="0"/>
Expand Down Expand Up @@ -76,7 +73,6 @@ under the License.
</jaxrs:inInterceptors>
<jaxrs:outInterceptors>
<ref bean="gzipOutInterceptor"/>
<ref bean="validationOutInterceptor"/>
</jaxrs:outInterceptors>
<jaxrs:providers>
<ref bean="jsonProvider"/>
Expand Down
5 changes: 5 additions & 0 deletions fit/build-tools/pom.xml
Expand Up @@ -66,6 +66,11 @@ under the License.
<artifactId>api-ldap-codec-standalone</artifactId>
</dependency>

<dependency>
<groupId>javax.xml.ws</groupId>
<artifactId>jaxws-api</artifactId>
<version>2.2.11</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
Expand Down
Expand Up @@ -23,21 +23,23 @@ under the License.
<subsystem name="webservices"/>
<subsystem name="jaxrs"/>
<subsystem name="jaxws"/>
<subsystem name="jsf"/>
</exclude-subsystems>
<dependencies>
<module name="org.apache.xalan"/>
<module name="org.reactivestreams"/>
<module name="javax.jws.api"/>
</dependencies>
<exclusions>
<module name="javax.ws.soap.api"/>
<module name="javax.ws.rs.api"/>
<module name="org.apache.cxf"/>
<module name="org.apache.cxf.impl"/>
<module name="org.hibernate"/>
<module name="org.slf4j"/>
<module name="org.slf4j.impl"/>
<module name="org.apache.log4j"/>
<module name="org.jboss.log4j.logmanager"/>
<module name="com.h2database.h2"/>
</exclusions>
</deployment>
</jboss-deployment-structure>
52 changes: 14 additions & 38 deletions fit/core-reference/pom.xml
Expand Up @@ -1511,13 +1511,19 @@ under the License.
</profile>

<profile>
<id>glassfish-it</id>
<id>payara-it</id>

<dependencies>
<dependency>
<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>
Expand All @@ -1526,41 +1532,6 @@ under the License.
</dependency>
</dependencies>

<build>
<defaultGoal>clean verify</defaultGoal>

<plugins>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<container>
<containerId>glassfish5x</containerId>
<zipUrlInstaller>
<url>http://download.oracle.com/glassfish/5.0/release/glassfish-5.0.zip</url>
<downloadDir>${settings.localRepository}/org/codehaus/cargo/cargo-container-archives</downloadDir>
<extractDir>${project.build.directory}/cargo/extract</extractDir>
</zipUrlInstaller>
<log>${cargo.log}</log>
<output>${cargo.output}</output>
</container>
</configuration>
</plugin>
</plugins>
</build>
</profile>

<profile>
<id>payara-it</id>

<dependencies>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
</dependencies>

<build>
<defaultGoal>clean verify</defaultGoal>

Expand All @@ -1573,13 +1544,18 @@ under the License.
<container>
<containerId>payara</containerId>
<zipUrlInstaller>
<url>https://repo1.maven.org/maven2/fish/payara/distributions/payara/5.194/payara-5.194.zip</url>
<url>https://repo1.maven.org/maven2/fish/payara/distributions/payara/5.201/payara-5.201.zip</url>
<downloadDir>${settings.localRepository}/org/codehaus/cargo/cargo-container-archives</downloadDir>
<extractDir>${project.build.directory}/cargo/extract</extractDir>
</zipUrlInstaller>
<log>${cargo.log}</log>
<output>${cargo.output}</output>
</container>
<configuration>
<properties>
<cargo.glassfish.removeDefaultDatasource>false</cargo.glassfish.removeDefaultDatasource>
</properties>
</configuration>
</configuration>
</plugin>
</plugins>
Expand Down
Expand Up @@ -78,10 +78,7 @@ under the License.
<bean id="validationInInterceptor" class="org.apache.cxf.jaxrs.validation.JAXRSBeanValidationInInterceptor">
<property name="provider" ref="validationProvider"/>
</bean>
<bean id="validationOutInterceptor" class="org.apache.cxf.jaxrs.validation.JAXRSBeanValidationOutInterceptor">
<property name="provider" ref="validationProvider"/>
</bean>


<bean id="gzipInInterceptor" class="org.apache.cxf.transport.common.gzip.GZIPInInterceptor"/>
<bean id="gzipOutInterceptor" class="org.apache.cxf.transport.common.gzip.GZIPOutInterceptor">
<property name="threshold" value="0"/>
Expand Down Expand Up @@ -171,7 +168,6 @@ under the License.
</jaxrs:inInterceptors>
<jaxrs:outInterceptors>
<ref bean="gzipOutInterceptor"/>
<ref bean="validationOutInterceptor"/>
</jaxrs:outInterceptors>
<jaxrs:providers>
<ref bean="dateParamConverterProvider"/>
Expand Down
2 changes: 1 addition & 1 deletion fit/core-reference/src/main/resources/log4j2.xml
Expand Up @@ -184,7 +184,7 @@ under the License.
<appender-ref ref="mainFile"/>
<appender-ref ref="main"/>
</asyncLogger>
<asyncLogger name="org.hibernate.validator" additivity="false" level="ERROR">
<asyncLogger name="org.apache.bval" additivity="false" level="ERROR">
<appender-ref ref="mainFile"/>
<appender-ref ref="main"/>
</asyncLogger>
Expand Down
3 changes: 2 additions & 1 deletion fit/core-reference/src/main/webapp/WEB-INF/glassfish-web.xml
Expand Up @@ -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>
</glassfish-web-app>
Expand Up @@ -29,6 +29,8 @@ under the License.
<module name="org.reactivestreams"/>
</dependencies>
<exclusions>
<module name="javax.mail.api"/>
<module name="javax.activation.api"/>
<module name="javax.validation.api"/>
<module name="org.hibernate.validator"/>
<module name="org.hibernate.validator.cdi"/>
Expand Down
13 changes: 4 additions & 9 deletions pom.xml
Expand Up @@ -413,7 +413,7 @@ under the License.

<openjpa.version>3.1.1</openjpa.version>
<hikaricp.version>3.4.2</hikaricp.version>
<hibernate-validator.version>6.0.18.Final</hibernate-validator.version>
<bval.version>2.0.3</bval.version>

<jasypt.version>1.9.3</jasypt.version>

Expand Down Expand Up @@ -849,14 +849,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>
Expand Down
Expand Up @@ -60,6 +60,34 @@ Be sure to put the corresponding JDBC driver JAR file under `$CATALINA_HOME/lib`

===== Payara Server 5

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]
Expand All @@ -70,8 +98,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]
====
Expand Down
5 changes: 0 additions & 5 deletions src/site/xdoc/building.xml
Expand Up @@ -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
Expand Down

0 comments on commit 3edc749

Please sign in to comment.