diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/historie/HistorieCommandHandler.java b/alfa-service/src/main/java/de/ozgcloud/alfa/historie/HistorieCommandHandler.java index 3da6312c0c7c5787c74fad6a9ba7270db2e15c52..094d44f852516d7b667376c26a3aa7c21c8768ef 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/historie/HistorieCommandHandler.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/historie/HistorieCommandHandler.java @@ -29,19 +29,13 @@ import java.util.function.Predicate; import org.apache.commons.collections.MapUtils; import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import de.ozgcloud.alfa.common.attacheditem.VorgangAttachedItem; -import de.ozgcloud.alfa.common.attacheditem.VorgangAttachedItemService; import de.ozgcloud.alfa.common.command.Command; import de.ozgcloud.alfa.common.command.CommandBodyMapper; import de.ozgcloud.alfa.common.command.CommandOrder; -import de.ozgcloud.alfa.common.command.CommandService; -import de.ozgcloud.alfa.common.command.CommandStatus; import de.ozgcloud.alfa.common.command.LegacyOrder; import de.ozgcloud.alfa.kommentar.Kommentar; -import de.ozgcloud.alfa.loeschanforderung.DeleteLoeschAnforderung; import de.ozgcloud.alfa.wiedervorlage.Wiedervorlage; /** @@ -61,16 +55,8 @@ class HistorieCommandHandler { private static final Predicate<Command> IS_CREATE_ATTACHED_ITEM = command -> command.getCommandOrder() == CommandOrder.CREATE_ATTACHED_ITEM; - @Autowired - private VorgangAttachedItemService vorgangAttachedItemService; - - @Autowired - private CommandService commandService; - public boolean isHistorieCommand(Command command) { return !isOutgoingPostfachNachrichtByOzgCloudNachrichtenManager(command) - && !isCreateLoeschAnforderungVorgangAttachedItem(command) - && !isLoeschAnforderungZuruecknehmenRevoked(command) && !isDeleteVorgangAttachedItem(command); } @@ -86,27 +72,6 @@ class HistorieCommandHandler { return isDirection(command, DIRECTION_OUTGOING); } - boolean isCreateLoeschAnforderungVorgangAttachedItem(Command command) { - return Optional.of(command) - .filter(IS_CREATE_ATTACHED_ITEM) - .map(Command::getBody) - .map(bodyMap -> MapUtils.getString(bodyMap, VorgangAttachedItem.FIELD_ITEM_NAME)) - .map(vorgangAttachedItemService::isLoeschAnforderung) - .orElse(false); - } - - boolean isLoeschAnforderungZuruecknehmenRevoked(Command command) { - if (command.getCommandOrder() != CommandOrder.LOESCH_ANFORDERUNG_ZURUECKNEHMEN) { - return false; - } - var changeStatusCommand = commandService.getById(getChangeStatusCommandId(command)); - return changeStatusCommand.getStatus() == CommandStatus.REVOKED; - } - - private String getChangeStatusCommandId(Command command) { - return MapUtils.getString(command.getBody(), DeleteLoeschAnforderung.CHANGE_STATUS_COMMAND_ID_FIELD); - } - boolean isDeleteVorgangAttachedItem(Command command) { return command.getCommandOrder() == CommandOrder.DELETE_ATTACHED_ITEM; } diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/historie/HistorieService.java b/alfa-service/src/main/java/de/ozgcloud/alfa/historie/HistorieService.java index e81a7602beb520373880b9c3ff9b60e430f0bfe1..dbf3cb8299a6d051e9d27cbb0ee1395111327f27 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/historie/HistorieService.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/historie/HistorieService.java @@ -25,16 +25,12 @@ package de.ozgcloud.alfa.historie; import java.util.HashSet; import java.util.List; -import java.util.Set; import java.util.stream.Stream; -import org.apache.commons.collections.MapUtils; import org.springframework.stereotype.Service; import de.ozgcloud.alfa.common.command.Command; -import de.ozgcloud.alfa.common.command.CommandOrder; import de.ozgcloud.alfa.common.command.CommandService; -import de.ozgcloud.alfa.loeschanforderung.DeleteLoeschAnforderung; import lombok.RequiredArgsConstructor; @RequiredArgsConstructor @@ -49,7 +45,6 @@ class HistorieService { var reduceBy = new HashSet<String>(); var commands = commandService.findFinishedCommands(vorgangId) .filter(historieCommandHandler::isHistorieCommand) - .map(command -> considerReduceByIds(reduceBy, command)) .map(historieCommandHandler::translateOrder).toList(); commands = commands.stream().filter(command -> !reduceBy.contains(command.getId())) @@ -70,27 +65,4 @@ class HistorieService { return processedCommands; } } - - private Command considerReduceByIds(Set<String> reduceBy, Command command) { - if (isLoeschAnforderungZuruecknehmenCommand(command)) { - reduceBy.addAll(getCommandBodyIds(command)); - } - return command; - } - - private boolean isLoeschAnforderungZuruecknehmenCommand(Command command) { - return command.getCommandOrder() == CommandOrder.LOESCH_ANFORDERUNG_ZURUECKNEHMEN; - } - - private Set<String> getCommandBodyIds(Command command) { - return Set.of(getDeleteAttachedItemCommandId(command), getChangeStatusCommandId(command)); - } - - private String getDeleteAttachedItemCommandId(Command command) { - return MapUtils.getString(command.getBody(), DeleteLoeschAnforderung.DELETE_ATTACHED_ITEM_COMMAND_ID_FIELD); - } - - private String getChangeStatusCommandId(Command command) { - return MapUtils.getString(command.getBody(), DeleteLoeschAnforderung.CHANGE_STATUS_COMMAND_ID_FIELD); - } } \ No newline at end of file diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/historie/HistorieCommandHandlerTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/historie/HistorieCommandHandlerTest.java index 1ef92ad05e6ac8dba3008de06a9ba844004f4c98..993b8bf42752ec8d92e2393400e4bb8b10427aa7 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/historie/HistorieCommandHandlerTest.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/historie/HistorieCommandHandlerTest.java @@ -24,7 +24,6 @@ package de.ozgcloud.alfa.historie; import static org.assertj.core.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; import java.util.Collections; @@ -41,14 +40,11 @@ import org.mockito.Spy; import de.ozgcloud.alfa.common.attacheditem.VorgangAttachedItem; import de.ozgcloud.alfa.common.attacheditem.VorgangAttachedItemService; -import de.ozgcloud.alfa.common.attacheditem.VorgangAttachedItemTestFactory; import de.ozgcloud.alfa.common.command.Command; import de.ozgcloud.alfa.common.command.CommandOrder; import de.ozgcloud.alfa.common.command.CommandService; -import de.ozgcloud.alfa.common.command.CommandStatus; import de.ozgcloud.alfa.common.command.CommandTestFactory; import de.ozgcloud.alfa.common.command.LegacyOrder; -import de.ozgcloud.alfa.loeschanforderung.DeleteLoeschAnforderung; import de.ozgcloud.alfa.postfach.PostfachMail; import de.ozgcloud.alfa.wiedervorlage.Wiedervorlage; @@ -76,19 +72,8 @@ class HistorieCommandHandlerTest { assertThat(result).isTrue(); } - @Test - void shouldCallIsLoeschAnforderungZuruecknehmenRevoked() { - var command = CommandTestFactory.create(); - - handler.isHistorieCommand(command); - - verify(handler).isLoeschAnforderungZuruecknehmenRevoked(command); - } - @Test void shouldReturnFalseOnLoeschAnforderungZuruecknehmenRevoked() { - doReturn(true).when(handler).isLoeschAnforderungZuruecknehmenRevoked(any()); - var result = handler.isHistorieCommand(CommandTestFactory.create()); assertThat(result).isFalse(); @@ -154,87 +139,6 @@ class HistorieCommandHandlerTest { } } - @Nested - class TestIsLoscheAnforderungVorgangAttachedItem { - - @Test - void shouldReturnFalse() { - when(vorgangAttachedItemService.isLoeschAnforderung(VorgangAttachedItemTestFactory.ITEM_NAME)).thenReturn(false); - - var result = handler.isCreateLoeschAnforderungVorgangAttachedItem(Command.builder().order(CommandOrder.CREATE_ATTACHED_ITEM.name()) - .body(Map.of( - VorgangAttachedItem.FIELD_ITEM_NAME, - VorgangAttachedItemTestFactory.ITEM_NAME)) - .build()); - - assertThat(result).isFalse(); - } - - @Test - void shouldReturnTrue() { - when(vorgangAttachedItemService.isLoeschAnforderung(VorgangAttachedItemTestFactory.ITEM_NAME)).thenReturn(true); - - var result = handler.isCreateLoeschAnforderungVorgangAttachedItem(Command.builder().order(CommandOrder.CREATE_ATTACHED_ITEM.name()) - .body(Map.of( - VorgangAttachedItem.FIELD_ITEM_NAME, - VorgangAttachedItemTestFactory.ITEM_NAME)) - .build()); - - assertThat(result).isTrue(); - } - } - - @DisplayName("Is loesch anforderung zuruecknehmen revoked") - @Nested - class TestIsLoeschAnforderungZuruecknehmenRevoked { - - @DisplayName("on matchin order") - @Nested - class TestOnMatchingOrder { - - private final Command loeschAnforderungZuruecknehmen = CommandTestFactory.createBuilder() - .order(CommandOrder.LOESCH_ANFORDERUNG_ZURUECKNEHMEN.name()) - .body(Map.of(DeleteLoeschAnforderung.CHANGE_STATUS_COMMAND_ID_FIELD, CommandTestFactory.ID)) - .build(); - - @Test - void shouldCallCommandService() { - when(commandService.getById(anyString())).thenReturn(CommandTestFactory.create()); - - handler.isLoeschAnforderungZuruecknehmenRevoked(loeschAnforderungZuruecknehmen); - - verify(commandService).getById(CommandTestFactory.ID); - } - - @Test - void shouldReturnTrueOnRevokedStatus() { - var revokedCommand = loeschAnforderungZuruecknehmen.toBuilder().status(CommandStatus.REVOKED).build(); - when(commandService.getById(anyString())).thenReturn(revokedCommand); - - var isRevoked = handler.isLoeschAnforderungZuruecknehmenRevoked(loeschAnforderungZuruecknehmen); - - assertThat(isRevoked).isTrue(); - } - - @Test - void shouldReturnFalseOnOtherStatus() { - var revokedCommand = loeschAnforderungZuruecknehmen.toBuilder().status(CommandStatus.FINISHED).build(); - when(commandService.getById(anyString())).thenReturn(revokedCommand); - - var isRevoked = handler.isLoeschAnforderungZuruecknehmenRevoked(loeschAnforderungZuruecknehmen); - - assertThat(isRevoked).isFalse(); - } - } - - @Test - void shouldReturnFalseOnNonMatchingOrder() { - var isRevoked = handler.isLoeschAnforderungZuruecknehmenRevoked(CommandTestFactory.create()); - - assertThat(isRevoked).isFalse(); - } - } - @DisplayName("translate order") @Nested class TestTranslateOrders {