From cc8e7e14ab69d917ba676279974e75f3d36daf8a Mon Sep 17 00:00:00 2001
From: OZG-Cloud Team <noreply@ozg-sh.de>
Date: Fri, 27 Nov 2020 09:23:15 +0100
Subject: [PATCH] OZG-30 - connect to EingangMapper, refactor packaging

---
 .gitignore                                    |  2 +-
 .../intelliform/FileUploadResponse.java       | 13 ----------
 .../intelliform/SystemStatController.java     | 15 ------------
 .../{model => formdata}/Antragsteller.java    |  2 +-
 .../AntragstellerMapper.java                  |  4 +---
 .../{model => formdata}/FormData.java         |  2 +-
 .../FormDataController.java}                  | 24 +++++++++++++++----
 .../FormDataMapper.java}                      |  5 ++--
 .../{model => formdata}/FormHeader.java       |  2 +-
 .../FormHeaderMapper.java                     |  4 +---
 .../XmlToJavaMapsMapper.java                  |  2 +-
 .../formdata/ZustaendigeStelle.java           |  5 ++++
 .../intelliform/model/ZustaendigeStelle.java  |  5 ----
 .../intelliform/vorgang/EingangMapper.java    |  2 +-
 .../intelliform/vorgang/VorgangService.java   |  2 +-
 .../intelliform/FileUploadControllerTest.java |  4 +++-
 .../converter/IntelliFormMapperTest.java      | 11 +++++----
 17 files changed, 46 insertions(+), 58 deletions(-)
 delete mode 100644 src/main/java/de/itvsh/ozg/adapter/intelliform/FileUploadResponse.java
 delete mode 100644 src/main/java/de/itvsh/ozg/adapter/intelliform/SystemStatController.java
 rename src/main/java/de/itvsh/ozg/adapter/intelliform/{model => formdata}/Antragsteller.java (87%)
 rename src/main/java/de/itvsh/ozg/adapter/intelliform/{converter => formdata}/AntragstellerMapper.java (93%)
 rename src/main/java/de/itvsh/ozg/adapter/intelliform/{model => formdata}/FormData.java (87%)
 rename src/main/java/de/itvsh/ozg/adapter/intelliform/{FileUploadController.java => formdata/FormDataController.java} (51%)
 rename src/main/java/de/itvsh/ozg/adapter/intelliform/{converter/IntelliFormMapper.java => formdata/FormDataMapper.java} (95%)
 rename src/main/java/de/itvsh/ozg/adapter/intelliform/{model => formdata}/FormHeader.java (82%)
 rename src/main/java/de/itvsh/ozg/adapter/intelliform/{converter => formdata}/FormHeaderMapper.java (79%)
 rename src/main/java/de/itvsh/ozg/adapter/intelliform/{converter => formdata}/XmlToJavaMapsMapper.java (96%)
 create mode 100644 src/main/java/de/itvsh/ozg/adapter/intelliform/formdata/ZustaendigeStelle.java
 delete mode 100644 src/main/java/de/itvsh/ozg/adapter/intelliform/model/ZustaendigeStelle.java

diff --git a/.gitignore b/.gitignore
index 549e00a2..5eac309e 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 a39a93cb..00000000
--- 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 ce07d6ba..00000000
--- 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 f7b3ca4e..db9e2ca0 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 dfd3d7e3..931eef61 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 56b4b088..2d599716 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 fa909999..068c3432 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 d40b2188..ba7ed2a7 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 5e6692a3..29149521 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 63309ac2..90bd312e 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 f96c625d..2fdfc024 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 00000000..3ba3a78d
--- /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 39df26be..00000000
--- 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 c994c319..0d914aa9 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 225b4c5c..c042681e 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 bf102f31..d8380df6 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 a03bd7fc..add85e78 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
-- 
GitLab