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