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 /src/test/java/at/gv/egiz/moazs/App2MzsServiceTest.java | |
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 'src/test/java/at/gv/egiz/moazs/App2MzsServiceTest.java')
-rw-r--r-- | src/test/java/at/gv/egiz/moazs/App2MzsServiceTest.java | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/test/java/at/gv/egiz/moazs/App2MzsServiceTest.java b/src/test/java/at/gv/egiz/moazs/App2MzsServiceTest.java index 01b7745..5579f06 100644 --- a/src/test/java/at/gv/egiz/moazs/App2MzsServiceTest.java +++ b/src/test/java/at/gv/egiz/moazs/App2MzsServiceTest.java @@ -1,5 +1,8 @@ package at.gv.egiz.moazs; +import at.gv.e_government.reference.namespace.zustellung.msg.phase2._20181206_.DeliveryRequestStatusType; +import at.gv.e_government.reference.namespace.zustellung.msg.phase2._20181206_.DeliveryRequestStatusType.DeliveryRequestStatusTypeBuilder; +import at.gv.e_government.reference.namespace.zustellung.msg.phase2._20181206_.DeliveryRequestStatusType.Success.SuccessBuilder; import at.gv.e_government.reference.namespace.zustellung.msg.phase2._20181206_.ObjectFactory; import at.gv.egiz.moazs.pipeline.DeliveryPipeline; import at.gv.egiz.moazs.repository.DeliveryRepository; @@ -42,16 +45,19 @@ public class App2MzsServiceTest { @Autowired private DeliveryRepository repository; - private final ObjectFactory factory = new ObjectFactory(); - @Bean @Primary public DeliveryPipeline deliveryPipelineThatAlwaysSucceeds() { return appDeliveryId -> { - var status = factory.createDeliveryRequestStatusType(); - var success = factory.createDeliveryRequestStatusTypeSuccess(); - success.setAppDeliveryID(appDeliveryId); - status.setSuccess(success); + + var success = new SuccessBuilder() + .withAppDeliveryID(appDeliveryId) + .build(); + + var status = new DeliveryRequestStatusTypeBuilder() + .withSuccess(success) + .build(); + repository.add(status); }; } |