diff --git a/.gitignore b/.gitignore index 549e00a2a96fa9d7c5dbc9859664a78d980158c2..5eac309eb12804bd32cbfbfab681ec2cae2724df 100644 --- a/.gitignore +++ b/.gitignore @@ -30,4 +30,4 @@ build/ !**/src/test/**/build/ ### VS Code ### -.vscode/ +.vscode/ \ No newline at end of file diff --git a/src/main/java/de/itvsh/ozg/adapter/intelliform/FileUploadResponse.java b/src/main/java/de/itvsh/ozg/adapter/intelliform/FileUploadResponse.java deleted file mode 100644 index a39a93cbbbad39210f56e91e1047070983f84e9a..0000000000000000000000000000000000000000 --- a/src/main/java/de/itvsh/ozg/adapter/intelliform/FileUploadResponse.java +++ /dev/null @@ -1,13 +0,0 @@ -package de.itvsh.ozg.adapter.intelliform; - -import lombok.Builder; -import lombok.Getter; -import lombok.ToString; - -@Getter -@ToString -@Builder -public class FileUploadResponse { - - String message; -} diff --git a/src/main/java/de/itvsh/ozg/adapter/intelliform/SystemStatController.java b/src/main/java/de/itvsh/ozg/adapter/intelliform/SystemStatController.java deleted file mode 100644 index ce07d6ba1d2492e7f86f344bd08a2dd620ed4f8e..0000000000000000000000000000000000000000 --- a/src/main/java/de/itvsh/ozg/adapter/intelliform/SystemStatController.java +++ /dev/null @@ -1,15 +0,0 @@ -package de.itvsh.ozg.adapter.intelliform; - -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -@RequestMapping("/api/adapter/intelliform/sysstat") -public class SystemStatController { - - @GetMapping - public String getStatus() { - return "OK"; - } -} diff --git a/src/main/java/de/itvsh/ozg/adapter/intelliform/model/Antragsteller.java b/src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/Antragsteller.java similarity index 87% rename from src/main/java/de/itvsh/ozg/adapter/intelliform/model/Antragsteller.java rename to src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/Antragsteller.java index f7b3ca4e2200f480eb412f2af9e7924a31f95493..db9e2ca0c0b62e33b0ba209818f680d60715fca3 100644 --- a/src/main/java/de/itvsh/ozg/adapter/intelliform/model/Antragsteller.java +++ b/src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/Antragsteller.java @@ -1,4 +1,4 @@ -package de.itvsh.ozg.adapter.intelliform.model; +package de.itvsh.ozg.adapter.intelliform.formdata; import java.util.Map; diff --git a/src/main/java/de/itvsh/ozg/adapter/intelliform/converter/AntragstellerMapper.java b/src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/AntragstellerMapper.java similarity index 93% rename from src/main/java/de/itvsh/ozg/adapter/intelliform/converter/AntragstellerMapper.java rename to src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/AntragstellerMapper.java index dfd3d7e37857c15cec8761b31b1ed9c5d68b0ce1..931eef61f0f5bf2e2903df8cdb7a29a4aeccc56d 100644 --- a/src/main/java/de/itvsh/ozg/adapter/intelliform/converter/AntragstellerMapper.java +++ b/src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/AntragstellerMapper.java @@ -1,12 +1,10 @@ -package de.itvsh.ozg.adapter.intelliform.converter; +package de.itvsh.ozg.adapter.intelliform.formdata; import java.util.Arrays; import java.util.Map; import org.springframework.stereotype.Component; -import de.itvsh.ozg.adapter.intelliform.model.Antragsteller; - @Component public class AntragstellerMapper { diff --git a/src/main/java/de/itvsh/ozg/adapter/intelliform/model/FormData.java b/src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/FormData.java similarity index 87% rename from src/main/java/de/itvsh/ozg/adapter/intelliform/model/FormData.java rename to src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/FormData.java index 56b4b088419d8e689a4dbc48b3096c5c53330d90..2d599716166db8ac548f7bc46d2996057b9a2c48 100644 --- a/src/main/java/de/itvsh/ozg/adapter/intelliform/model/FormData.java +++ b/src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/FormData.java @@ -1,4 +1,4 @@ -package de.itvsh.ozg.adapter.intelliform.model; +package de.itvsh.ozg.adapter.intelliform.formdata; import java.util.Map; import java.util.UUID; diff --git a/src/main/java/de/itvsh/ozg/adapter/intelliform/FileUploadController.java b/src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/FormDataController.java similarity index 51% rename from src/main/java/de/itvsh/ozg/adapter/intelliform/FileUploadController.java rename to src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/FormDataController.java index fa909999f18b78f17fd1b0217dd523623d641531..068c3432b456f522cacee30690d1f902b95b29b4 100644 --- a/src/main/java/de/itvsh/ozg/adapter/intelliform/FileUploadController.java +++ b/src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/FormDataController.java @@ -1,5 +1,10 @@ -package de.itvsh.ozg.adapter.intelliform; +package de.itvsh.ozg.adapter.intelliform.formdata; +import java.io.IOException; + +import javax.xml.parsers.ParserConfigurationException; + +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -7,22 +12,33 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; +import org.xml.sax.SAXException; +import de.itvsh.ozg.adapter.intelliform.vorgang.VorgangService; import lombok.extern.log4j.Log4j2; @RestController @RequestMapping("/api/formDatas") @Log4j2 -public class FileUploadController { +public class FormDataController { + + @Autowired + private VorgangService vorgangService; + + @Autowired + private FormDataMapper formDataMapper; @PostMapping @ResponseStatus(code = HttpStatus.CREATED) public void handleFileUpload( // @RequestParam("xmlFormData") MultipartFile xmlFormData, // - @RequestParam("attachments") MultipartFile[] files) { + @RequestParam("attachments") MultipartFile[] files) + throws SAXException, IOException, ParserConfigurationException { LOG.info("Received files: " + files.length); -// return FileUploadResponse.builder().message("Success").build(); + FormData result = formDataMapper.convert(xmlFormData.getInputStream()); + + vorgangService.createVorgang(result); } } diff --git a/src/main/java/de/itvsh/ozg/adapter/intelliform/converter/IntelliFormMapper.java b/src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/FormDataMapper.java similarity index 95% rename from src/main/java/de/itvsh/ozg/adapter/intelliform/converter/IntelliFormMapper.java rename to src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/FormDataMapper.java index d40b2188a7daf3976a59f9210a2677cbc5d18594..ba7ed2a7eeba6294951164eaf74a0de108df9276 100644 --- a/src/main/java/de/itvsh/ozg/adapter/intelliform/converter/IntelliFormMapper.java +++ b/src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/FormDataMapper.java @@ -1,4 +1,4 @@ -package de.itvsh.ozg.adapter.intelliform.converter; +package de.itvsh.ozg.adapter.intelliform.formdata; import java.io.IOException; import java.io.InputStream; @@ -14,12 +14,11 @@ import org.springframework.stereotype.Component; import org.w3c.dom.Document; import org.xml.sax.SAXException; -import de.itvsh.ozg.adapter.intelliform.model.FormData; import lombok.RequiredArgsConstructor; @Component @RequiredArgsConstructor -public class IntelliFormMapper { +public class FormDataMapper { @Autowired private final FormHeaderMapper formHeaderMapper; diff --git a/src/main/java/de/itvsh/ozg/adapter/intelliform/model/FormHeader.java b/src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/FormHeader.java similarity index 82% rename from src/main/java/de/itvsh/ozg/adapter/intelliform/model/FormHeader.java rename to src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/FormHeader.java index 5e6692a33301b3ff5a23d69d082f6e7b3f6999d0..2914952165c85990e17074f7ae36431fa8a7c98e 100644 --- a/src/main/java/de/itvsh/ozg/adapter/intelliform/model/FormHeader.java +++ b/src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/FormHeader.java @@ -1,4 +1,4 @@ -package de.itvsh.ozg.adapter.intelliform.model; +package de.itvsh.ozg.adapter.intelliform.formdata; import lombok.Builder; import lombok.Getter; diff --git a/src/main/java/de/itvsh/ozg/adapter/intelliform/converter/FormHeaderMapper.java b/src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/FormHeaderMapper.java similarity index 79% rename from src/main/java/de/itvsh/ozg/adapter/intelliform/converter/FormHeaderMapper.java rename to src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/FormHeaderMapper.java index 63309ac2eaacaa114ff45d7d5806eae8aa7f278d..90bd312e7e03d38a68900faa5f8c08b01ca23071 100644 --- a/src/main/java/de/itvsh/ozg/adapter/intelliform/converter/FormHeaderMapper.java +++ b/src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/FormHeaderMapper.java @@ -1,10 +1,8 @@ -package de.itvsh.ozg.adapter.intelliform.converter; +package de.itvsh.ozg.adapter.intelliform.formdata; import org.springframework.stereotype.Component; import org.w3c.dom.Document; -import de.itvsh.ozg.adapter.intelliform.model.FormHeader; - @Component public class FormHeaderMapper { diff --git a/src/main/java/de/itvsh/ozg/adapter/intelliform/converter/XmlToJavaMapsMapper.java b/src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/XmlToJavaMapsMapper.java similarity index 96% rename from src/main/java/de/itvsh/ozg/adapter/intelliform/converter/XmlToJavaMapsMapper.java rename to src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/XmlToJavaMapsMapper.java index f96c625d5cb29c69e304b63433dc8274eed3a3d3..2fdfc0241fc023fb666edf319410eeddf39f7729 100644 --- a/src/main/java/de/itvsh/ozg/adapter/intelliform/converter/XmlToJavaMapsMapper.java +++ b/src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/XmlToJavaMapsMapper.java @@ -1,4 +1,4 @@ -package de.itvsh.ozg.adapter.intelliform.converter; +package de.itvsh.ozg.adapter.intelliform.formdata; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/ZustaendigeStelle.java b/src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/ZustaendigeStelle.java new file mode 100644 index 0000000000000000000000000000000000000000..3ba3a78d92c4dbee3e893d8b1df171c96a73b2c7 --- /dev/null +++ b/src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/ZustaendigeStelle.java @@ -0,0 +1,5 @@ +package de.itvsh.ozg.adapter.intelliform.formdata; + +public class ZustaendigeStelle { + +} diff --git a/src/main/java/de/itvsh/ozg/adapter/intelliform/model/ZustaendigeStelle.java b/src/main/java/de/itvsh/ozg/adapter/intelliform/model/ZustaendigeStelle.java deleted file mode 100644 index 39df26bef9ae394bb640f2ac1534e8dc4b0d8c33..0000000000000000000000000000000000000000 --- a/src/main/java/de/itvsh/ozg/adapter/intelliform/model/ZustaendigeStelle.java +++ /dev/null @@ -1,5 +0,0 @@ -package de.itvsh.ozg.adapter.intelliform.model; - -public class ZustaendigeStelle { - -} diff --git a/src/main/java/de/itvsh/ozg/adapter/intelliform/vorgang/EingangMapper.java b/src/main/java/de/itvsh/ozg/adapter/intelliform/vorgang/EingangMapper.java index c994c319d13c75f1b4b13a850dcedc5a9841775c..0d914aa98f0e22b55bd050dde84d8309cb56d199 100644 --- a/src/main/java/de/itvsh/ozg/adapter/intelliform/vorgang/EingangMapper.java +++ b/src/main/java/de/itvsh/ozg/adapter/intelliform/vorgang/EingangMapper.java @@ -10,7 +10,7 @@ import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.ReportingPolicy; -import de.itvsh.ozg.adapter.intelliform.model.FormData; +import de.itvsh.ozg.adapter.intelliform.formdata.FormData; import de.itvsh.ozg.pluto.vorgang.Eingang; import de.itvsh.ozg.pluto.vorgang.Field; import de.itvsh.ozg.pluto.vorgang.SubForm; diff --git a/src/main/java/de/itvsh/ozg/adapter/intelliform/vorgang/VorgangService.java b/src/main/java/de/itvsh/ozg/adapter/intelliform/vorgang/VorgangService.java index 225b4c5c4a340c048e743c812c8d9e7e7d13ec5a..c042681e4a4ed0b730dae6f8ed3c9c4b68193657 100644 --- a/src/main/java/de/itvsh/ozg/adapter/intelliform/vorgang/VorgangService.java +++ b/src/main/java/de/itvsh/ozg/adapter/intelliform/vorgang/VorgangService.java @@ -3,7 +3,7 @@ package de.itvsh.ozg.adapter.intelliform.vorgang; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import de.itvsh.ozg.adapter.intelliform.model.FormData; +import de.itvsh.ozg.adapter.intelliform.formdata.FormData; @Service public class VorgangService { diff --git a/src/test/java/de/itvsh/ozg/adapter/intelliform/FileUploadControllerTest.java b/src/test/java/de/itvsh/ozg/adapter/intelliform/FileUploadControllerTest.java index bf102f31316a70c99c47d5a62c91b8ed9ed44d7a..d8380df687086aba0866f7157e34058f19da8257 100644 --- a/src/test/java/de/itvsh/ozg/adapter/intelliform/FileUploadControllerTest.java +++ b/src/test/java/de/itvsh/ozg/adapter/intelliform/FileUploadControllerTest.java @@ -17,11 +17,13 @@ import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.ResultActions; import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import de.itvsh.ozg.adapter.intelliform.formdata.FormDataController; + @ExtendWith(MockitoExtension.class) class FileUploadControllerTest { @InjectMocks - private FileUploadController controller; + private FormDataController controller; private MockMvc mvc; diff --git a/src/test/java/de/itvsh/ozg/adapter/intelliform/converter/IntelliFormMapperTest.java b/src/test/java/de/itvsh/ozg/adapter/intelliform/converter/IntelliFormMapperTest.java index a03bd7fcd27b599c77514b68a697b9f824a2b509..add85e7891c72f448ca51b16a8b592ec8c3255c3 100644 --- a/src/test/java/de/itvsh/ozg/adapter/intelliform/converter/IntelliFormMapperTest.java +++ b/src/test/java/de/itvsh/ozg/adapter/intelliform/converter/IntelliFormMapperTest.java @@ -14,16 +14,19 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.xml.sax.SAXException; -import de.itvsh.ozg.adapter.intelliform.model.FormData; -import de.itvsh.ozg.adapter.intelliform.model.FormHeader; +import de.itvsh.ozg.adapter.intelliform.formdata.AntragstellerMapper; +import de.itvsh.ozg.adapter.intelliform.formdata.FormData; +import de.itvsh.ozg.adapter.intelliform.formdata.FormHeader; +import de.itvsh.ozg.adapter.intelliform.formdata.FormHeaderMapper; +import de.itvsh.ozg.adapter.intelliform.formdata.FormDataMapper; class IntelliFormMapperTest { - private IntelliFormMapper intelliFormMapper; + private FormDataMapper intelliFormMapper; @BeforeEach void init() { - intelliFormMapper = new IntelliFormMapper(new FormHeaderMapper(), new AntragstellerMapper()); + intelliFormMapper = new FormDataMapper(new FormHeaderMapper(), new AntragstellerMapper()); } @Test