From 59c883d3cae1db52d771e4f2e91ff62d44bc76a7 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Mon, 26 Jun 2023 16:47:25 +0200
Subject: [PATCH] prj-42 fix after run test

---
 bescheid-manager/pom.xml                      |  8 ++++----
 .../java/de/ozgcloud/bescheid/Bescheid.java   |  3 +--
 .../bescheid/BescheidCreatedEvent.java        | 11 +++++++++++
 .../bescheid/BescheidEventListener.java       |  3 ++-
 .../de/ozgcloud/bescheid/BescheidService.java |  4 +++-
 .../binaryfile/BinaryFileRemoteService.java   |  3 ++-
 .../callcontext/CurrentUserService.java       |  2 +-
 .../dummy/DummyBescheidRemoteService.java     |  1 +
 ...Mapper.java => BescheidVorgangMapper.java} |  2 +-
 .../vorgang/VorgangRemoteService.java         |  6 +++---
 .../bescheid/vorgang/VorgangService.java      |  6 ++++--
 ...st.java => BescheidVorgangMapperTest.java} |  4 ++--
 .../vorgang/VorgangRemoteServiceTest.java     |  2 +-
 pluto-server/pom.xml                          | 19 ++++++++++++++-----
 .../ozg/pluto/PlutoServerApplication.java     |  2 +-
 .../src/main/resources/application.yml        |  6 ++++++
 16 files changed, 57 insertions(+), 25 deletions(-)
 create mode 100644 bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidCreatedEvent.java
 rename bescheid-manager/src/main/java/de/ozgcloud/bescheid/vorgang/{VorgangMapper.java => BescheidVorgangMapper.java} (97%)
 rename bescheid-manager/src/test/java/de/ozgcloud/bescheid/vorgang/{VorgangMapperTest.java => BescheidVorgangMapperTest.java} (88%)

diff --git a/bescheid-manager/pom.xml b/bescheid-manager/pom.xml
index 1763ef5a5..7ec0199f4 100644
--- a/bescheid-manager/pom.xml
+++ b/bescheid-manager/pom.xml
@@ -33,12 +33,12 @@
 			<artifactId>pluto-interface</artifactId>
 			<version>${pluto.version}</version>
 		</dependency>
-		
+
 		<dependency>
 			<groupId>de.itvsh.kop.common</groupId>
 			<artifactId>kop-common-lib</artifactId>
 		</dependency>
-		
+
 		<dependency>
 			<groupId>org.springframework.boot</groupId>
 			<artifactId>spring-boot-starter-freemarker</artifactId>
@@ -47,11 +47,11 @@
 			<groupId>net.devh</groupId>
 			<artifactId>grpc-client-spring-boot-starter</artifactId>
 		</dependency>
-			<dependency>
+		<dependency>
 			<groupId>org.springframework.security</groupId>
 			<artifactId>spring-security-core</artifactId>
 		</dependency>
-		
+
 		<dependency>
 			<groupId>org.mapstruct</groupId>
 			<artifactId>mapstruct</artifactId>
diff --git a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/Bescheid.java b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/Bescheid.java
index 6e1207d0e..05b9a03b0 100644
--- a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/Bescheid.java
+++ b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/Bescheid.java
@@ -8,7 +8,7 @@ import lombok.Builder;
 import lombok.Getter;
 import lombok.With;
 
-@Builder
+@Builder(toBuilder = true)
 @Getter
 public class Bescheid {
 
@@ -21,7 +21,6 @@ public class Bescheid {
 	private File bescheidFile;
 	@With
 	private FileId bescheidFileId;
-
 	private String contentType;
 	private long size;
 
diff --git a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidCreatedEvent.java b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidCreatedEvent.java
new file mode 100644
index 000000000..ca55f1ebd
--- /dev/null
+++ b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidCreatedEvent.java
@@ -0,0 +1,11 @@
+package de.ozgcloud.bescheid;
+
+import de.itvsh.ozg.pluto.command.Command;
+import de.itvsh.ozg.pluto.command.CommandExecutedEvent;
+
+class BescheidCreatedEvent extends CommandExecutedEvent {
+
+	public BescheidCreatedEvent(Command command) {
+		super(command.getId());
+	}
+}
diff --git a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidEventListener.java b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidEventListener.java
index 4e6d574a0..c29d9ae5b 100644
--- a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidEventListener.java
+++ b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidEventListener.java
@@ -58,6 +58,7 @@ class BescheidEventListener {
 		try {
 			prevContext = userService.startSecurityContext(command);
 			doCreateBescheidBiz(command);
+			eventPublisher.publishEvent(new BescheidCreatedEvent(command));
 		} catch (Exception e) {
 			LOG.error("Error on executing Create Bescheid Command. Command failed.", e);
 			eventPublisher.publishEvent(new CommandFailedEvent(command.getId(), buildErrorMessage(e)));
@@ -79,7 +80,7 @@ class BescheidEventListener {
 		var eventBody = command.getBodyObject();
 		var builder = BescheidRequest.builder();
 
-		Optional.ofNullable(eventBody.get(VORGANG_ID_BODYKEY)).map(String.class::cast).map(VorgangId::from).ifPresent(builder::vorgangId);
+		builder.vorgangId(VorgangId.from(command.getVorgangId()));
 		Optional.ofNullable(eventBody.get(BESCHEID_VOM_BODYKEY)).map(LocalDate.class::cast).ifPresent(builder::bescheidVom);
 		Optional.ofNullable(eventBody.get(GENEHMIGT_BODYKEY)).map(Boolean.class::cast).ifPresent(builder::genehmigt);
 		builder.createFor(UserId.from(command.getCreatedBy()));
diff --git a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidService.java b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidService.java
index b7e5768f8..2a3916a25 100644
--- a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidService.java
+++ b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidService.java
@@ -16,7 +16,9 @@ class BescheidService {
 	public Bescheid createBescheid(BescheidRequest request) {
 		var vorgang = vorgangService.getById(request.getVorgangId());
 
-		return remoteService.create(request, vorgang);
+		var bescheid = remoteService.create(request, vorgang);
+
+		return bescheid.toBuilder().vorgangId(request.getVorgangId()).build();
 	}
 
 }
diff --git a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/binaryfile/BinaryFileRemoteService.java b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/binaryfile/BinaryFileRemoteService.java
index f743ddebf..c96f4d660 100644
--- a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/binaryfile/BinaryFileRemoteService.java
+++ b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/binaryfile/BinaryFileRemoteService.java
@@ -25,6 +25,7 @@ import de.itvsh.ozg.pluto.grpc.command.GrpcCallContext;
 import de.ozgcloud.bescheid.Bescheid;
 import io.grpc.stub.CallStreamObserver;
 import io.grpc.stub.StreamObserver;
+import lombok.NonNull;
 import net.devh.boot.grpc.client.inject.GrpcClient;
 
 @Service
@@ -36,7 +37,7 @@ class BinaryFileRemoteService {
 	@GrpcClient("vorgang-manager")
 	private BinaryFileServiceStub binaryFileRemoteStub;
 
-	FileId uploadBescheidFile(Bescheid bescheid) {
+	FileId uploadBescheidFile(@NonNull Bescheid bescheid) {
 		try (var in = openFile(bescheid.getBescheidFile())) {
 			var resultFuture = GrpcFileUploadUtils.createSender(this::buildChunkRequest, in,
 					this::buildCallStreamObserver)
diff --git a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/common/callcontext/CurrentUserService.java b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/common/callcontext/CurrentUserService.java
index ee9ce7937..ee5f3c71d 100644
--- a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/common/callcontext/CurrentUserService.java
+++ b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/common/callcontext/CurrentUserService.java
@@ -37,7 +37,7 @@ import org.springframework.stereotype.Service;
 
 import de.itvsh.ozg.pluto.command.Command;
 
-@Service
+@Service("bescheid_currentUserService")
 public class CurrentUserService {
 
 	@Autowired
diff --git a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/dummy/DummyBescheidRemoteService.java b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/dummy/DummyBescheidRemoteService.java
index bf689b4f6..47eddc776 100644
--- a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/dummy/DummyBescheidRemoteService.java
+++ b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/dummy/DummyBescheidRemoteService.java
@@ -22,6 +22,7 @@ class DummyBescheidRemoteService implements BescheidRemoteService {
 
 		return Bescheid.builder()
 				.bescheidFile(file)
+				.bescheidFileName(DUMMY_BESCHEID_FILE_NAME)
 				.contentType(DUMMY_BESCHEID_CONTENT_TYPE)
 				.size(file.length())
 				.createdBy(request.getCreateFor())
diff --git a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/vorgang/VorgangMapper.java b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/vorgang/BescheidVorgangMapper.java
similarity index 97%
rename from bescheid-manager/src/main/java/de/ozgcloud/bescheid/vorgang/VorgangMapper.java
rename to bescheid-manager/src/main/java/de/ozgcloud/bescheid/vorgang/BescheidVorgangMapper.java
index 27c14d88b..ba666524f 100644
--- a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/vorgang/VorgangMapper.java
+++ b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/vorgang/BescheidVorgangMapper.java
@@ -15,7 +15,7 @@ import de.itvsh.ozg.pluto.vorgang.GrpcVorgangWithEingang;
 
 @Mapper(unmappedTargetPolicy = ReportingPolicy.ERROR, //
 		uses = FormDataEntryMapper.class)
-interface VorgangMapper {
+interface BescheidVorgangMapper {
 
 	@Mapping(target = "vorgangNummer", source = "nummer")
 	Vorgang mapVorgang(GrpcVorgangWithEingang vorgang);
diff --git a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/vorgang/VorgangRemoteService.java b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/vorgang/VorgangRemoteService.java
index 7a8613456..4868a8b7f 100644
--- a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/vorgang/VorgangRemoteService.java
+++ b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/vorgang/VorgangRemoteService.java
@@ -8,13 +8,13 @@ import de.itvsh.ozg.pluto.vorgang.VorgangServiceGrpc.VorgangServiceBlockingStub;
 import lombok.NonNull;
 import net.devh.boot.grpc.client.inject.GrpcClient;
 
-@Service
+@Service("bescheid_VorgangRemoteService")
 class VorgangRemoteService {
 
-	@GrpcClient("pluto")
+	@GrpcClient("vorgang-manager")
 	private VorgangServiceBlockingStub vorgangServiceStub;
 	@Autowired
-	private VorgangMapper mapper;
+	private BescheidVorgangMapper mapper;
 
 	public Vorgang getById(@NonNull VorgangId vorgangId) {
 		var request = GrpcFindVorgangWithEingangRequest.newBuilder().setId(vorgangId.toString()).build();
diff --git a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/vorgang/VorgangService.java b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/vorgang/VorgangService.java
index 0138aaa7b..c479421c3 100644
--- a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/vorgang/VorgangService.java
+++ b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/vorgang/VorgangService.java
@@ -3,13 +3,15 @@ package de.ozgcloud.bescheid.vorgang;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-@Service
+import lombok.NonNull;
+
+@Service("bescheid_VorgangService")
 public class VorgangService {
 
 	@Autowired
 	public VorgangRemoteService remoteService;
 
-	public Vorgang getById(VorgangId id) {
+	public Vorgang getById(@NonNull VorgangId id) {
 		return remoteService.getById(id);
 	}
 }
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/vorgang/VorgangMapperTest.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/vorgang/BescheidVorgangMapperTest.java
similarity index 88%
rename from bescheid-manager/src/test/java/de/ozgcloud/bescheid/vorgang/VorgangMapperTest.java
rename to bescheid-manager/src/test/java/de/ozgcloud/bescheid/vorgang/BescheidVorgangMapperTest.java
index 69ee79e2b..d430ba276 100644
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/vorgang/VorgangMapperTest.java
+++ b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/vorgang/BescheidVorgangMapperTest.java
@@ -6,10 +6,10 @@ import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 import org.mockito.InjectMocks;
 
-class VorgangMapperTest {
+class BescheidVorgangMapperTest {
 
 	@InjectMocks
-	private VorgangMapperImpl mapper;
+	private BescheidVorgangMapperImpl mapper;
 
 	@Nested
 	class TestMapVorgang {
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/vorgang/VorgangRemoteServiceTest.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/vorgang/VorgangRemoteServiceTest.java
index 99a7dadc6..2d8c3bd28 100644
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/vorgang/VorgangRemoteServiceTest.java
+++ b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/vorgang/VorgangRemoteServiceTest.java
@@ -25,7 +25,7 @@ class VorgangRemoteServiceTest {
 	@Mock
 	private VorgangServiceBlockingStub serviceStub;
 	@Mock
-	private VorgangMapper mapper;
+	private BescheidVorgangMapper mapper;
 
 	@Nested
 	class TestGetById {
diff --git a/pluto-server/pom.xml b/pluto-server/pom.xml
index 50eed855a..ac765c845 100644
--- a/pluto-server/pom.xml
+++ b/pluto-server/pom.xml
@@ -24,14 +24,16 @@
     unter der Lizenz sind dem Lizenztext zu entnehmen.
 
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 
 	<parent>
 		<groupId>de.itvsh.kop.common</groupId>
 		<artifactId>kop-common-parent</artifactId>
 		<version>1.8.0-SNAPSHOT</version>
-		<relativePath/>
+		<relativePath />
 	</parent>
 
 	<groupId>de.itvsh.ozg.pluto</groupId>
@@ -84,18 +86,25 @@
 			<version>${project.version}</version>
 			<scope>runtime</scope>
 		</dependency>
-		
+		<dependency>
+			<groupId>de.ozgcloud.bescheid</groupId>
+			<artifactId>bescheid-manager</artifactId>
+			<version>1.0.0-SNAPSHOT</version>
+			<scope>runtime</scope>
+		</dependency>
+
 		<dependency>
 			<groupId>de.itvsh.kop.zufi</groupId>
 			<artifactId>kop-zufi-api</artifactId>
 			<version>${kop.zufi.api.version}</version>
 		</dependency>
-		
+
 		<dependency>
 			<groupId>de.itvsh.kop.user</groupId>
 			<artifactId>user-manager-interface</artifactId>
 			<version>${user-manager-interface.version}</version>
-			<!-- TODO Nur proto sources verwenden um quarkus Abhaenigkeiten zu vermeiden. Ebenso im notification-manager -->
+			<!-- TODO Nur proto sources verwenden um quarkus Abhaenigkeiten zu
+			vermeiden. Ebenso im notification-manager -->
 			<exclusions>
 				<exclusion>
 					<groupId>io.grpc</groupId>
diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/PlutoServerApplication.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/PlutoServerApplication.java
index ae857dbf0..cfd467fea 100644
--- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/PlutoServerApplication.java
+++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/PlutoServerApplication.java
@@ -42,7 +42,7 @@ import org.springframework.security.task.DelegatingSecurityContextAsyncTaskExecu
 
 import io.mongock.runner.springboot.EnableMongock;
 
-@SpringBootApplication(scanBasePackages = "de.itvsh.*")
+@SpringBootApplication(scanBasePackages = { "de.itvsh.*", "de.ozgcloud" })
 @EnableAsync
 @EnableScheduling
 @EnableAspectJAutoProxy(proxyTargetClass = true)
diff --git a/pluto-server/src/main/resources/application.yml b/pluto-server/src/main/resources/application.yml
index add4cf1f3..108278d3d 100644
--- a/pluto-server/src/main/resources/application.yml
+++ b/pluto-server/src/main/resources/application.yml
@@ -24,11 +24,17 @@ grpc:
     pluto:
       address: self:self
       negotiationType: PLAINTEXT
+    vorgang-manager:
+      address: self:self
+      negotiationType: PLAINTEXT
     user-manager:
       negotiationType: TLS  
     email:
       address: self:self
       negotiationType: PLAINTEXT
+    nachrichten-manager:
+      address: self:self
+      negotiationType: PLAINTEXT
 
 pluto:
   redirect:
-- 
GitLab