diff --git a/common/src/main/java/de/ozgcloud/eingang/Application.java b/common/src/main/java/de/ozgcloud/eingang/Application.java index 9ba0845dd5e75092e6a599bfce3a771e0eb7b2ce..164da65a2a41320484d988faa3edd42bfd75dc05 100644 --- a/common/src/main/java/de/ozgcloud/eingang/Application.java +++ b/common/src/main/java/de/ozgcloud/eingang/Application.java @@ -23,6 +23,8 @@ */ package de.ozgcloud.eingang; +import java.util.TimeZone; + import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.scheduling.annotation.EnableScheduling; @@ -32,6 +34,7 @@ import org.springframework.scheduling.annotation.EnableScheduling; public class Application { public static void main(String[] args) { + TimeZone.setDefault(TimeZone.getTimeZone("UTC")); SpringApplication.run(Application.class, args); } } diff --git a/common/src/main/java/de/ozgcloud/eingang/common/formdata/FormHeader.java b/common/src/main/java/de/ozgcloud/eingang/common/formdata/FormHeader.java index 59c9ff40de61d79844db7c2abb904439e52cacc1..24b0e72766bf67f7702ea1974e7b2a2f69f1f22d 100644 --- a/common/src/main/java/de/ozgcloud/eingang/common/formdata/FormHeader.java +++ b/common/src/main/java/de/ozgcloud/eingang/common/formdata/FormHeader.java @@ -37,6 +37,7 @@ import lombok.ToString; public class FormHeader { private String requestId; + private String vorgangNummer; @Builder.Default private ZonedDateTime createdAt = ZonedDateTime.now(); private String formId; diff --git a/formcycle-adapter/formcycle-adapter-impl/src/main/java/de/ozgcloud/eingang/formcycle/VorgangNummerSupplier.java b/common/src/main/java/de/ozgcloud/eingang/common/vorgang/VorgangNummerSupplier.java similarity index 91% rename from formcycle-adapter/formcycle-adapter-impl/src/main/java/de/ozgcloud/eingang/formcycle/VorgangNummerSupplier.java rename to common/src/main/java/de/ozgcloud/eingang/common/vorgang/VorgangNummerSupplier.java index b7f953e975a88d6876e39f1a5b23b65ccd5af234..5d1468262c469c9595dabe39e5a7159a3f70a2de 100644 --- a/formcycle-adapter/formcycle-adapter-impl/src/main/java/de/ozgcloud/eingang/formcycle/VorgangNummerSupplier.java +++ b/common/src/main/java/de/ozgcloud/eingang/common/vorgang/VorgangNummerSupplier.java @@ -1,4 +1,4 @@ -package de.ozgcloud.eingang.formcycle; +package de.ozgcloud.eingang.common.vorgang; import java.time.Instant; import java.time.LocalDate; @@ -6,7 +6,7 @@ import java.time.LocalDate; import org.springframework.stereotype.Component; @Component -class VorgangNummerSupplier { +public class VorgangNummerSupplier { static final String BASE30_ALPHABET = "23456789ABCDEFGHJKMNPQRSTVWXYZ"; static final int SUFFIX_LENGTH = 6; diff --git a/common/src/test/java/de/ozgcloud/eingang/common/formdata/DeleteOnCloseInputStreamTest.java b/common/src/test/java/de/ozgcloud/eingang/common/formdata/DeleteOnCloseInputStreamTest.java index 62d595e591d0d0622488016f14d7304ecd5c7df9..b7b7515b27ad056e865630a26e923d3f863c8f59 100644 --- a/common/src/test/java/de/ozgcloud/eingang/common/formdata/DeleteOnCloseInputStreamTest.java +++ b/common/src/test/java/de/ozgcloud/eingang/common/formdata/DeleteOnCloseInputStreamTest.java @@ -3,17 +3,26 @@ package de.ozgcloud.eingang.common.formdata; import static org.assertj.core.api.Assertions.*; import java.io.File; +import java.io.IOException; import org.junit.jupiter.api.Test; -import org.mockito.InjectMocks; import de.itvsh.kop.common.errorhandling.TechnicalException; class DeleteOnCloseInputStreamTest { - @InjectMocks private DeleteOnCloseInputStream stream; + @Test + void shouldDeleteFileOnClose() throws IOException { + File file = File.createTempFile("Test", "test"); + stream = new DeleteOnCloseInputStream(file); + + stream.close(); + + assertThat(file).doesNotExist(); + } + @Test void shouldThrowException() { var notExists = new File("notExists"); diff --git a/common/src/test/java/de/ozgcloud/eingang/common/formdata/FormHeaderTestFactory.java b/common/src/test/java/de/ozgcloud/eingang/common/formdata/FormHeaderTestFactory.java index 676210d6754ed4aab7dbc4891d7190277313b1ab..cf79e40328ceddd314d9841b7e95ceb0b0731a1c 100644 --- a/common/src/test/java/de/ozgcloud/eingang/common/formdata/FormHeaderTestFactory.java +++ b/common/src/test/java/de/ozgcloud/eingang/common/formdata/FormHeaderTestFactory.java @@ -35,6 +35,7 @@ public class FormHeaderTestFactory { public static final String FORM_NAME = "formName"; public static final String FORM_ID = "formId"; public static final String REQUEST_ID = "requestId"; + public static final String VORGANG_NUMMER = "ABCD-1234"; public static final ZonedDateTime CREATED_AT = ZonedDateTime.now(); public static FormHeader create() { @@ -44,6 +45,7 @@ public class FormHeaderTestFactory { public static FormHeader.FormHeaderBuilder createBuilder() { return FormHeader.builder() .requestId(REQUEST_ID) + .vorgangNummer(VORGANG_NUMMER) .createdAt(CREATED_AT) .formId(FORM_ID) .formName(FORM_NAME) diff --git a/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/ozgcloud/eingang/formcycle/VorgangNummerSupplierTest.java b/common/src/test/java/de/ozgcloud/eingang/common/vorgang/VorgangNummerSupplierTest.java similarity index 97% rename from formcycle-adapter/formcycle-adapter-impl/src/test/java/de/ozgcloud/eingang/formcycle/VorgangNummerSupplierTest.java rename to common/src/test/java/de/ozgcloud/eingang/common/vorgang/VorgangNummerSupplierTest.java index 568e82353a6de66daf3195c3cbf429ffbd9cb567..d474cd190edfb39454d96c98a67d2d1a0886690d 100644 --- a/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/ozgcloud/eingang/formcycle/VorgangNummerSupplierTest.java +++ b/common/src/test/java/de/ozgcloud/eingang/common/vorgang/VorgangNummerSupplierTest.java @@ -1,4 +1,4 @@ -package de.ozgcloud.eingang.formcycle; +package de.ozgcloud.eingang.common.vorgang; import static org.assertj.core.api.Assertions.*; import static org.mockito.Mockito.*; diff --git a/common/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension b/common/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension new file mode 100644 index 0000000000000000000000000000000000000000..79b126e6cdb86bec1f4f08c205de8961bde1934a --- /dev/null +++ b/common/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension @@ -0,0 +1 @@ +org.mockito.junit.jupiter.MockitoExtension \ No newline at end of file diff --git a/common/src/test/resources/junit-platform.properties b/common/src/test/resources/junit-platform.properties new file mode 100644 index 0000000000000000000000000000000000000000..1cebb76d5a58ac034b2627d12411d82d1e85821e --- /dev/null +++ b/common/src/test/resources/junit-platform.properties @@ -0,0 +1 @@ +junit.jupiter.extensions.autodetection.enabled = true \ No newline at end of file diff --git a/enterprise-adapter/src/main/java/de/ozgcloud/eingang/enterprise/entry/EntryController.java b/enterprise-adapter/src/main/java/de/ozgcloud/eingang/enterprise/entry/EntryController.java index 47febc1e961826ab9d176bd5c1a89f18ecb8d0c6..20b6563bd1a8f6dd48a55340a4f803b05b9e542d 100644 --- a/enterprise-adapter/src/main/java/de/ozgcloud/eingang/enterprise/entry/EntryController.java +++ b/enterprise-adapter/src/main/java/de/ozgcloud/eingang/enterprise/entry/EntryController.java @@ -1,6 +1,7 @@ package de.ozgcloud.eingang.enterprise.entry; import java.io.IOException; +import java.time.ZonedDateTime; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.Resource; @@ -13,6 +14,9 @@ import org.springframework.web.bind.annotation.RequestPart; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseStatus; +import de.ozgcloud.eingang.common.formdata.FormData; +import de.ozgcloud.eingang.common.vorgang.VorgangNummerSupplier; +import de.ozgcloud.eingang.enterprise.entry.EntryResponse.ResponseVorgang; import de.ozgcloud.eingang.semantik.SemantikAdapter; @Controller @@ -20,17 +24,41 @@ import de.ozgcloud.eingang.semantik.SemantikAdapter; @RequestMapping("antrag") public class EntryController { + private static final String STARTING_STATUS = "NEU"; + @Autowired private EntryDataMapper mapper; @Autowired private SemantikAdapter semantikAdapter; + @Autowired + private VorgangNummerSupplier vorgangNummerSupplier; @ResponseStatus(HttpStatus.ACCEPTED) @PostMapping(consumes = "multipart/form-data", produces = MediaType.APPLICATION_JSON_VALUE) - public void receiveAntrag(@RequestPart Resource formData) throws IOException { + public EntryResponse receiveAntrag(@RequestPart Resource formData) throws IOException { var mapped = mapper.mapEntryData(formData.getInputStream()); + mapped = addVorgangNummer(mapped); + + var vorgangId = semantikAdapter.processFormData(mapped); + + return buildResponse(mapped, vorgangId); + } + + private FormData addVorgangNummer(FormData formData) { + var header = formData.getHeader().toBuilder().vorgangNummer(vorgangNummerSupplier.get()).build(); + return formData.toBuilder().header(header).build(); + } - semantikAdapter.processFormData(mapped); + EntryResponse buildResponse(FormData formData, String vorgangId) { + return EntryResponse.builder() + .transactionId(formData.getHeader().getRequestId()) + .vorgang(ResponseVorgang.builder() + .vorgangId(vorgangId) + .vorgangNummer(formData.getHeader().getVorgangNummer()) + .status(STARTING_STATUS) + .statusSince(ZonedDateTime.now().withNano(0)) + .build()) + .build(); } } diff --git a/enterprise-adapter/src/main/java/de/ozgcloud/eingang/enterprise/entry/EntryResponse.java b/enterprise-adapter/src/main/java/de/ozgcloud/eingang/enterprise/entry/EntryResponse.java new file mode 100644 index 0000000000000000000000000000000000000000..840df7a6d5b14b01f38bf6ef67d5a5b9e96b00bf --- /dev/null +++ b/enterprise-adapter/src/main/java/de/ozgcloud/eingang/enterprise/entry/EntryResponse.java @@ -0,0 +1,23 @@ +package de.ozgcloud.eingang.enterprise.entry; + +import java.time.ZonedDateTime; + +import lombok.Builder; +import lombok.Getter; + +@Builder +@Getter +class EntryResponse { + + private String transactionId; + private ResponseVorgang vorgang; + + @Builder + @Getter + static class ResponseVorgang { + private String vorgangId; + private String vorgangNummer; + private String status; + private ZonedDateTime statusSince; + } +} diff --git a/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/EntryControllerTest.java b/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/EntryControllerTest.java index 19708556d8ba45f7106e46064ba59c22ebd6a7ef..7086aee89422861a125508b3f5a619f87e8d00d5 100644 --- a/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/EntryControllerTest.java +++ b/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/EntryControllerTest.java @@ -16,6 +16,8 @@ import org.mockito.ArgumentCaptor; import org.mockito.Captor; import org.mockito.InjectMocks; import org.mockito.Mock; +import org.mockito.Spy; +import org.springframework.core.io.Resource; import org.springframework.mock.web.MockMultipartFile; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.ResultActions; @@ -24,11 +26,15 @@ import org.springframework.test.web.servlet.setup.MockMvcBuilders; import de.itvsh.kop.common.test.TestUtils; import de.ozgcloud.eingang.common.formdata.FormData; import de.ozgcloud.eingang.common.formdata.FormDataTestFactory; +import de.ozgcloud.eingang.common.formdata.FormHeader; +import de.ozgcloud.eingang.common.formdata.FormHeaderTestFactory; +import de.ozgcloud.eingang.common.vorgang.VorgangNummerSupplier; import de.ozgcloud.eingang.semantik.SemantikAdapter; import lombok.SneakyThrows; class EntryControllerTest { + @Spy @InjectMocks private EntryController controller; @@ -36,6 +42,8 @@ class EntryControllerTest { private EntryDataMapper mapper; @Mock private SemantikAdapter semantikAdapter; + @Mock + private VorgangNummerSupplier vorgangNummerSupplier; private MockMvc mockMvc; @@ -47,8 +55,22 @@ class EntryControllerTest { @Nested class ReceiveAntrag { + private final FormHeader header = FormHeaderTestFactory.createBuilder().vorgangNummer(null).build(); + private final FormData formData = FormDataTestFactory.createBuilder().header(header).build(); + @Captor private ArgumentCaptor<InputStream> streamCaptor; + @Captor + private ArgumentCaptor<FormData> formDataCaptor; + + private final EntryResponse response = EntryResponseTestFactory.create(); + + @BeforeEach + void init() { + when(mapper.mapEntryData(any())).thenReturn(formData); + doReturn(response).when(controller).buildResponse(any(), any()); + when(vorgangNummerSupplier.get()).thenReturn(FormHeaderTestFactory.VORGANG_NUMMER); + } @Test @SneakyThrows @@ -70,12 +92,25 @@ class EntryControllerTest { @Test void shouldCallSemantikAdapter() { - FormData formData = FormDataTestFactory.create(); - when(mapper.mapEntryData(any())).thenReturn(formData); + doPostRequest(); + + verify(semantikAdapter).processFormData(notNull()); + } + @Test + void shouldSetVorgangNummer() { doPostRequest(); - verify(semantikAdapter).processFormData(formData); + verify(semantikAdapter).processFormData(formDataCaptor.capture()); + assertThat(formDataCaptor.getValue().getHeader().getVorgangNummer()).isEqualTo(FormHeaderTestFactory.VORGANG_NUMMER); + } + + @Test + @SneakyThrows + void shouldReturnResponse() { + var response = controller.receiveAntrag(mock(Resource.class)); + + assertThat(response).isSameAs(this.response); } @SneakyThrows @@ -86,4 +121,18 @@ class EntryControllerTest { } } + @Nested + class BuildResponse { + + @Test + @SneakyThrows + void shouldCreateResponse() { + var response = controller.buildResponse(FormDataTestFactory.create(), ResponseVorgangTestFactory.VORGANG_ID); + + assertThat(response).usingRecursiveComparison() + .ignoringFields("vorgang.statusSince") + .isEqualTo(EntryResponseTestFactory.create()); + } + } + } diff --git a/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/EntryResponseTestFactory.java b/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/EntryResponseTestFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..b72c5b964049b6864305ebcbd626481f08c5cce9 --- /dev/null +++ b/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/EntryResponseTestFactory.java @@ -0,0 +1,16 @@ +package de.ozgcloud.eingang.enterprise.entry; + +import de.ozgcloud.eingang.common.formdata.FormHeaderTestFactory; + +class EntryResponseTestFactory { + + static final EntryResponse create() { + return createBuilder().build(); + } + + static final EntryResponse.EntryResponseBuilder createBuilder() { + return EntryResponse.builder() + .transactionId(FormHeaderTestFactory.REQUEST_ID) + .vorgang(ResponseVorgangTestFactory.create()); + } +} diff --git a/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/ResponseVorgangTestFactory.java b/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/ResponseVorgangTestFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..021642935a5410133666d9b3b04d1702516b2e66 --- /dev/null +++ b/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/ResponseVorgangTestFactory.java @@ -0,0 +1,24 @@ +package de.ozgcloud.eingang.enterprise.entry; + +import java.time.ZonedDateTime; +import java.util.UUID; + +import de.ozgcloud.eingang.common.formdata.FormHeaderTestFactory; +import de.ozgcloud.eingang.enterprise.entry.EntryResponse.ResponseVorgang; + +public class ResponseVorgangTestFactory { + + final static String VORGANG_ID = UUID.randomUUID().toString(); + + static ResponseVorgang create() { + return createBuilder().build(); + } + + static ResponseVorgang.ResponseVorgangBuilder createBuilder() { + return ResponseVorgang.builder() + .vorgangId(VORGANG_ID) + .vorgangNummer(FormHeaderTestFactory.VORGANG_NUMMER) + .status("NEU") + .statusSince(ZonedDateTime.now()); + } +} diff --git a/formcycle-adapter/formcycle-adapter-impl/pom.xml b/formcycle-adapter/formcycle-adapter-impl/pom.xml index b042a9d64955ef6827e4f94a0669fa132180c3dc..0eec81b38b2b59561b8f1375f64542519ed66ca0 100644 --- a/formcycle-adapter/formcycle-adapter-impl/pom.xml +++ b/formcycle-adapter/formcycle-adapter-impl/pom.xml @@ -50,11 +50,13 @@ <groupId>de.itvsh.ozg.pluto</groupId> <artifactId>pluto-utils</artifactId> <type>test-jar</type> + <scope>test</scope> </dependency> <dependency> <groupId>de.itvsh.kop.eingangsadapter</groupId> <artifactId>common</artifactId> <type>test-jar</type> + <scope>test</scope> </dependency> <!--spring--> diff --git a/formcycle-adapter/formcycle-adapter-impl/src/main/java/de/ozgcloud/eingang/formcycle/FormDataController.java b/formcycle-adapter/formcycle-adapter-impl/src/main/java/de/ozgcloud/eingang/formcycle/FormDataController.java index dbae0279f05c805c2a90cbbebfb8176ad203e513..b467456464ff81be104e520df101cb4597cf09bc 100644 --- a/formcycle-adapter/formcycle-adapter-impl/src/main/java/de/ozgcloud/eingang/formcycle/FormDataController.java +++ b/formcycle-adapter/formcycle-adapter-impl/src/main/java/de/ozgcloud/eingang/formcycle/FormDataController.java @@ -47,6 +47,7 @@ import de.ozgcloud.eingang.common.formdata.IncomingFileGroup; import de.ozgcloud.eingang.common.formdata.ServiceKonto; import de.ozgcloud.eingang.common.formdata.ServiceKonto.PostfachAddress; import de.ozgcloud.eingang.common.formdata.StringBasedIdentifier; +import de.ozgcloud.eingang.common.vorgang.VorgangNummerSupplier; import de.ozgcloud.eingang.semantik.SemantikAdapter; import de.ozgcloud.eingang.semantik.enginebased.FilesMapperHelper; import lombok.RequiredArgsConstructor; diff --git a/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/ozgcloud/eingang/formcycle/FormDataControllerTest.java b/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/ozgcloud/eingang/formcycle/FormDataControllerTest.java index 529668d934ee727e571ce437e92a5b877624639c..1e9430b99f44ee7befc31568c96d3fe940622868 100644 --- a/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/ozgcloud/eingang/formcycle/FormDataControllerTest.java +++ b/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/ozgcloud/eingang/formcycle/FormDataControllerTest.java @@ -53,6 +53,7 @@ import de.ozgcloud.eingang.common.formdata.FormHeader; import de.ozgcloud.eingang.common.formdata.IncomingFileGroupTestFactory; import de.ozgcloud.eingang.common.formdata.IncomingFileTestFactory; import de.ozgcloud.eingang.common.formdata.ServiceKonto.PostfachAddress; +import de.ozgcloud.eingang.common.vorgang.VorgangNummerSupplier; import de.ozgcloud.eingang.common.formdata.StringBasedIdentifier; import de.ozgcloud.eingang.formcycle.common.protobuf.ProtobufMessageConverter; import de.ozgcloud.eingang.semantik.SemantikAdapter; diff --git a/router/src/main/java/de/ozgcloud/eingang/router/VorgangRemoteService.java b/router/src/main/java/de/ozgcloud/eingang/router/VorgangRemoteService.java index 673c669553c99dd68de122f73cdfbec9ee90e5a1..0284bb67723f6534c65f5c8a6663d243afcc7c9b 100644 --- a/router/src/main/java/de/ozgcloud/eingang/router/VorgangRemoteService.java +++ b/router/src/main/java/de/ozgcloud/eingang/router/VorgangRemoteService.java @@ -106,7 +106,8 @@ public class VorgangRemoteService { uploadedAttachments = uploadAttachments(); uploadedRepresentations = uploadRepresentations(); - return finishCreation(); + finishCreation(); + return vorgangId; } String startCreation() { diff --git a/router/src/main/java/de/ozgcloud/eingang/router/VorgangService.java b/router/src/main/java/de/ozgcloud/eingang/router/VorgangService.java index c9250df82bca02981537461af4eed0e0ee271186..9d617ae52e65f0b17720abb50d13aac388ff430e 100644 --- a/router/src/main/java/de/ozgcloud/eingang/router/VorgangService.java +++ b/router/src/main/java/de/ozgcloud/eingang/router/VorgangService.java @@ -40,9 +40,10 @@ public class VorgangService { @Autowired private GrpcEingangMapper grpcEingangMapper; - public void createVorgang(FormData formData) { + public String createVorgang(FormData formData) { var eingang = grpcEingangMapper.toEingang(formData); var organisationsEinheitenId = Optional.ofNullable(formData.getZustaendigeStelle()).map(ZustaendigeStelle::getOrganisationseinheitenId); - remoteService.createVorgang(formData, eingang, organisationsEinheitenId); + + return remoteService.createVorgang(formData, eingang, organisationsEinheitenId); } } \ No newline at end of file diff --git a/router/src/test/java/de/ozgcloud/eingang/router/VorgangRemoteServiceTest.java b/router/src/test/java/de/ozgcloud/eingang/router/VorgangRemoteServiceTest.java index 8b1634ee12f084227bd6b5c68c4e38b79a0941bb..2f846096906aca51f4d3adf35fab0c910070d750 100644 --- a/router/src/test/java/de/ozgcloud/eingang/router/VorgangRemoteServiceTest.java +++ b/router/src/test/java/de/ozgcloud/eingang/router/VorgangRemoteServiceTest.java @@ -160,10 +160,10 @@ class VorgangRemoteServiceTest { } @Test - void shouldReturnMessage() { + void shouldReturnVorgangId() { var result = createVorgang(); - assertThat(result).isEqualTo(finishResponse.getMessage()); + assertThat(result).isEqualTo(vorgangId); } private String createVorgang() { diff --git a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/SemantikAdapter.java b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/SemantikAdapter.java index efee4d47f49fdda8145bd9f427fa9e2762018a82..74840e2f51139b08cf49bb19bb7016a71dfa2bd9 100644 --- a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/SemantikAdapter.java +++ b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/SemantikAdapter.java @@ -44,11 +44,11 @@ public class SemantikAdapter { @Autowired private VorgangService vorgangService; - public void processFormData(FormData formData) { + public String processFormData(FormData formData) { formData = parseByEngineAdapter(formData); formData = parseByFormAdapter(formData); - vorgangService.createVorgang(formData); + return vorgangService.createVorgang(formData); } private FormData parseByEngineAdapter(FormData formData) {