diff options
author | Christof Rabensteiner <christof.rabensteiner@iaik.tugraz.at> | 2019-04-29 14:28:48 +0200 |
---|---|---|
committer | Christof Rabensteiner <christof.rabensteiner@iaik.tugraz.at> | 2019-04-29 14:37:08 +0200 |
commit | 9a038cf18d6ebd4c68218c20ebc174b779afa7fa (patch) | |
tree | 74a5ca5a464112de3c03bec79fbfce2a606556d8 /pom.xml | |
parent | df2cf5c818067110dc1dfe8506f146f64ae26fe5 (diff) | |
download | moa-zs-9a038cf18d6ebd4c68218c20ebc174b779afa7fa.tar.gz moa-zs-9a038cf18d6ebd4c68218c20ebc174b779afa7fa.tar.bz2 moa-zs-9a038cf18d6ebd4c68218c20ebc174b779afa7fa.zip |
Make JAXB Objects Immutable and Add Builder Utility
- Use Immutable-XJC from https://github.com/sabomichal/immutable-xjc
- Update existing JAXB-object manipulations to use the Builder
- Remove jaxbMarshallerTest (as it relies on mutable JAXB interfaces)
Reason for making JAXB objects immutable: I put JAXB objects in the
repository. Depending on the configuration, the repository can be a
simple hashmap; in that case I might end up sharing JAXB objects
between threads. Immutable shared object should make life a little
simpler.
Diffstat (limited to 'pom.xml')
-rw-r--r-- | pom.xml | 14 |
1 files changed, 13 insertions, 1 deletions
@@ -26,6 +26,7 @@ <jwsapi.version>1.1</jwsapi.version> <jedisclient.version>2.9.3</jedisclient.version> <guava.version>27.1-jre</guava.version> + <immutable-xjc-plugin.version>1.5</immutable-xjc-plugin.version> </properties> <dependencies> @@ -96,6 +97,13 @@ <groupId>org.apache.cxf</groupId> <artifactId>cxf-codegen-plugin</artifactId> <version>${cxf.version}</version> + <dependencies> + <dependency> + <groupId>com.github.sabomichal</groupId> + <artifactId>immutable-xjc-plugin</artifactId> + <version>${immutable-xjc-plugin.version}</version> + </dependency> + </dependencies> <executions> <execution> <id>generate-sources</id> @@ -106,8 +114,12 @@ <wsdlOption> <wsdl>${project.basedir}/src/main/resources/mzs/app2mzs.wsdl</wsdl> <wsdlLocation>classpath:wsdl/app2mzs.wsdl</wsdlLocation> + <extraargs> + <extraarg>-xjc-immutable</extraarg> + <extraarg>-xjc-imm-builder</extraarg> + </extraargs> </wsdlOption> - <wsdlOption> + <wsdlOption> <wsdl>${project.basedir}/src/main/resources/zusemsg/app2zuse_p2.wsdl</wsdl> <wsdlLocation>classpath:wsdl/app2zuse_p2.wsdl</wsdlLocation> </wsdlOption> |