aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/at/gv/egiz/moazs/App2MzsServiceTest.java
diff options
context:
space:
mode:
authorChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-04-29 14:28:48 +0200
committerChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-04-29 14:37:08 +0200
commit9a038cf18d6ebd4c68218c20ebc174b779afa7fa (patch)
tree74a5ca5a464112de3c03bec79fbfce2a606556d8 /src/test/java/at/gv/egiz/moazs/App2MzsServiceTest.java
parentdf2cf5c818067110dc1dfe8506f146f64ae26fe5 (diff)
downloadmoa-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.java18
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);
};
}