aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-06-28 09:20:02 +0200
committerChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-06-28 09:20:02 +0200
commit7eb6db5c837db22055b51988031920599a7e7270 (patch)
tree16defb166a7c65aac1bd927be48d6b79de2d2021 /src
parent52306ddf6e786bd1ceaba09cbe37b42778b715fe (diff)
downloadmoa-zs-7eb6db5c837db22055b51988031920599a7e7270.tar.gz
moa-zs-7eb6db5c837db22055b51988031920599a7e7270.tar.bz2
moa-zs-7eb6db5c837db22055b51988031920599a7e7270.zip
Refactor: Deduplicate Code by Simplifying MarshallerConfig
- Move JaxbM initialization into Marshaller such that it can be used in tests without Spring's Application Context. - Remove SpringRunner from Mzs2MsgConverter Test, which makes the test run faster.
Diffstat (limited to 'src')
-rw-r--r--src/main/java/at/gv/egiz/moazs/config/MarshallerConfig.java47
-rw-r--r--src/main/java/at/gv/egiz/moazs/scheme/Marshaller.java15
-rw-r--r--src/test/java/at/gv/egiz/moazs/Mzs2MsgConverterTest.java18
3 files changed, 22 insertions, 58 deletions
diff --git a/src/main/java/at/gv/egiz/moazs/config/MarshallerConfig.java b/src/main/java/at/gv/egiz/moazs/config/MarshallerConfig.java
index bde33c1..38f4c1a 100644
--- a/src/main/java/at/gv/egiz/moazs/config/MarshallerConfig.java
+++ b/src/main/java/at/gv/egiz/moazs/config/MarshallerConfig.java
@@ -13,56 +13,13 @@ import java.util.HashMap;
public class MarshallerConfig {
@Bean
- public NamespacePrefixMapper msgMapper() {
- return new MoaZSPrefixMapper(false);
- }
-
- @Bean
- public NamespacePrefixMapper mzsMapper() {
- return new MoaZSPrefixMapper(true);
- }
-
- @Bean
- public Jaxb2Marshaller mzsJaxbMarshaller() {
- Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
-
- marshaller.setClassesToBeBound(
- at.gv.zustellung.app2mzs.xsd.ObjectFactory.class,
- at.gv.zustellung.app2mzs.xsd.persondata.ObjectFactory.class,
- at.gv.zustellung.msg.xsd.ObjectFactory.class);
-
- var map = new HashMap<String, Object>();
- map.put(javax.xml.bind.Marshaller.JAXB_FORMATTED_OUTPUT, true);
- map.put("com.sun.xml.bind.namespacePrefixMapper", mzsMapper());
- marshaller.setMarshallerProperties(map);
-
- return marshaller;
- }
-
- @Bean
- public Jaxb2Marshaller msgJaxbMarshaller() {
- Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
-
- marshaller.setClassesToBeBound(
- at.gv.zustellung.msg.xsd.ObjectFactory.class,
- at.gv.zustellung.msg.xsd.persondata.ObjectFactory.class);
-
- var map = new HashMap<String, Object>();
- map.put(javax.xml.bind.Marshaller.JAXB_FORMATTED_OUTPUT, true);
- map.put("com.sun.xml.bind.namespacePrefixMapper", msgMapper());
- marshaller.setMarshallerProperties(map);
-
- return marshaller;
- }
-
- @Bean
public Marshaller mzsMarshaller() {
- return new Marshaller(mzsJaxbMarshaller());
+ return new Marshaller(true);
}
@Bean
public Marshaller msgMarshaller() {
- return new Marshaller(msgJaxbMarshaller());
+ return new Marshaller(false);
}
diff --git a/src/main/java/at/gv/egiz/moazs/scheme/Marshaller.java b/src/main/java/at/gv/egiz/moazs/scheme/Marshaller.java
index 3c82419..83ace5c 100644
--- a/src/main/java/at/gv/egiz/moazs/scheme/Marshaller.java
+++ b/src/main/java/at/gv/egiz/moazs/scheme/Marshaller.java
@@ -7,6 +7,7 @@ import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import java.io.InputStream;
import java.io.StringWriter;
+import java.util.HashMap;
/**
* @author xerx593
@@ -16,8 +17,18 @@ public class Marshaller {
private final Jaxb2Marshaller jaxbMarshaller;
- public Marshaller(Jaxb2Marshaller marshaller) {
- this.jaxbMarshaller = marshaller;
+ public Marshaller(boolean isMzs) {
+ this.jaxbMarshaller = new Jaxb2Marshaller();
+
+ jaxbMarshaller.setClassesToBeBound(
+ at.gv.zustellung.app2mzs.xsd.ObjectFactory.class,
+ at.gv.zustellung.app2mzs.xsd.persondata.ObjectFactory.class,
+ at.gv.zustellung.msg.xsd.ObjectFactory.class);
+
+ var map = new HashMap<String, Object>();
+ map.put(javax.xml.bind.Marshaller.JAXB_FORMATTED_OUTPUT, true);
+ map.put("com.sun.xml.bind.namespacePrefixMapper", new MoaZSPrefixMapper(isMzs));
+ jaxbMarshaller.setMarshallerProperties(map);
}
public <T> String marshallXml(final T obj) {
diff --git a/src/test/java/at/gv/egiz/moazs/Mzs2MsgConverterTest.java b/src/test/java/at/gv/egiz/moazs/Mzs2MsgConverterTest.java
index de72148..f18ddbe 100644
--- a/src/test/java/at/gv/egiz/moazs/Mzs2MsgConverterTest.java
+++ b/src/test/java/at/gv/egiz/moazs/Mzs2MsgConverterTest.java
@@ -4,13 +4,10 @@ import at.gv.egiz.moazs.scheme.Marshaller;
import at.gv.egiz.moazs.scheme.Mzs2MsgConverter;
import at.gv.zustellung.app2mzs.xsd.DeliveryRequestType;
import at.gv.zustellung.msg.xsd.ObjectFactory;
+import org.junit.Before;
import org.junit.Test;
-import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.junit4.SpringRunner;
import javax.xml.bind.JAXBElement;
import java.io.BufferedInputStream;
@@ -19,23 +16,22 @@ import java.io.IOException;
import static org.assertj.core.api.Assertions.assertThat;
-@RunWith(SpringRunner.class)
-@SpringBootTest
public class Mzs2MsgConverterTest {
private final String basePath = "src/test/resources/at/gv/egiz/moazs/Mzs2MsgConverterTest/";
private final static Logger logger = LoggerFactory.getLogger(Mzs2MsgConverterTest.class);
- @Autowired
private Mzs2MsgConverter converter;
-
- @Autowired
private Marshaller mzsMarshaller;
-
- @Autowired
private Marshaller msgMarshaller;
+ @Before
+ public void setUp() {
+ converter = new Mzs2MsgConverter();
+ mzsMarshaller = new Marshaller(true);
+ msgMarshaller = new Marshaller(false);
+ }
@Test
public void testCanConvertValidMzsRequestToMsgRequest() throws IOException {