Skip to content
Snippets Groups Projects
Commit d4870cb2 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-4979 cleanup grpcOrder from code

parent 75f80043
No related branches found
No related tags found
No related merge requests found
Showing
with 25 additions and 111 deletions
......@@ -80,7 +80,7 @@
<dependency>
<groupId>de.ozgcloud.nachrichten</groupId>
<artifactId>nachrichten-manager-postfach-interface</artifactId>
<artifactId>nachrichten-manager-server</artifactId>
<version>${nachrichten-manager.version}</version>
</dependency>
<dependency>
......
......@@ -23,7 +23,6 @@
*/
package de.ozgcloud.vorgang.command;
import org.apache.commons.lang3.StringUtils;
import org.mapstruct.CollectionMappingStrategy;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
......@@ -33,13 +32,16 @@ import org.mapstruct.NullValuePropertyMappingStrategy;
import de.ozgcloud.command.Command;
import de.ozgcloud.vorgang.common.grpc.GrpcObjectMapper;
import de.ozgcloud.vorgang.grpc.command.GrpcCommand;
import de.ozgcloud.vorgang.grpc.command.GrpcOrder;
@Mapper(uses = { CommandBodyMapper.class, GrpcObjectMapper.class }, //
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE, //
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS, //
collectionMappingStrategy = CollectionMappingStrategy.ADDER_PREFERRED)
interface GrpcCommandMapper {
@Mapping(target = "redirectRequest", ignore = true)
@Mapping(target = "orderStringBytes", ignore = true)
@Mapping(target = "createdResourceBytes", ignore = true)
@Mapping(target = "mergeFrom", ignore = true)
@Mapping(target = "clearField", ignore = true)
@Mapping(target = "clearOneof", ignore = true)
......@@ -53,7 +55,6 @@ interface GrpcCommandMapper {
@Mapping(target = "errorMessageBytes", ignore = true)
@Mapping(target = "finishedAtBytes", ignore = true)
@Mapping(target = "idBytes", ignore = true)
@Mapping(target = "orderValue", ignore = true)
@Mapping(target = "relationIdBytes", ignore = true)
@Mapping(target = "statusBytes", ignore = true)
@Mapping(target = "unknownFields", ignore = true)
......@@ -61,19 +62,7 @@ interface GrpcCommandMapper {
@Mapping(target = "allFields", ignore = true)
@Mapping(target = "bodyObj", source = "bodyObject")
@Mapping(target = "order", expression = "java(mapEnumOrder(vorgangCommand))")
@Mapping(target = "orderString", source = "order")
GrpcCommand toGrpc(Command vorgangCommand);
default GrpcOrder mapEnumOrder(Command vorgangCommand) {
if (StringUtils.isNoneBlank(vorgangCommand.getOrder())) {
try {
return GrpcOrder.valueOf(vorgangCommand.getOrder());
} catch (IllegalArgumentException e) {
return GrpcOrder.UNDEFINED;
}
}
return GrpcOrder.UNDEFINED;
}
}
\ No newline at end of file
......@@ -30,7 +30,6 @@ import org.mapstruct.NullValueCheckStrategy;
import org.mapstruct.NullValuePropertyMappingStrategy;
import de.ozgcloud.vorgang.grpc.command.GrpcCommandResponse;
import de.ozgcloud.vorgang.grpc.command.GrpcOrder;
@Mapper(uses = CommandBodyMapper.class, //
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE, //
......@@ -50,11 +49,4 @@ public interface GrpcCommandResponseMapper {
@Mapping(target = "command.orderString", source = "command.order")
GrpcCommandResponse toGrpc(CommandResponse response);
default GrpcOrder orderMapping(String order) {
try {
return GrpcOrder.valueOf(order);
} catch (IllegalArgumentException e) {
return GrpcOrder.UNDEFINED;
}
}
}
......@@ -52,7 +52,6 @@ import de.ozgcloud.vorgang.grpc.command.GrpcFindCommandsRequest;
import de.ozgcloud.vorgang.grpc.command.GrpcGetCommandRequest;
import de.ozgcloud.vorgang.grpc.command.GrpcGetPendingCommandsRequest;
import de.ozgcloud.vorgang.grpc.command.GrpcGetPendingCommandsResponse;
import de.ozgcloud.vorgang.grpc.command.GrpcOrder;
import de.ozgcloud.vorgang.grpc.command.GrpcRevokeCommandRequest;
import de.ozgcloud.vorgang.grpc.command.GrpcSetCommandExecutedRequest;
import io.grpc.stub.StreamObserver;
......@@ -168,8 +167,7 @@ public class GrpcCommandService extends CommandServiceImplBase {
policyService.checkPermission(request.getVorgangId());
var statusList = request.getStatusList().stream().map(CommandStatus::valueOf).toList();
var order = Optional.of(request.getOrderString()).filter(StringUtils::isNotBlank).flatMap(Order::fromString)
.or(() -> fromGrpcOrder(request.getOrder()));
var order = Optional.of(request.getOrderString()).filter(StringUtils::isNotBlank).flatMap(Order::fromString);
var commands = commandService.findCommands(request.getVorgangId(), statusList, order);
......@@ -177,10 +175,6 @@ public class GrpcCommandService extends CommandServiceImplBase {
responseObserver.onCompleted();
}
Optional<Order> fromGrpcOrder(GrpcOrder grpcOrder) {
return Optional.of(grpcOrder).filter(order -> order != GrpcOrder.UNDEFINED).map(order -> Order.valueOf(order.name()));
}
private GrpcCommandsResponse buildCommandsResponse(Stream<Command> commands) {
return GrpcCommandsResponse.newBuilder().addAllCommand(commands.map(grpcCommandMapper::toGrpc).toList()).build();
}
......
......@@ -29,10 +29,8 @@ import org.apache.commons.lang3.StringUtils;
import org.mapstruct.CollectionMappingStrategy;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.MappingConstants;
import org.mapstruct.NullValueCheckStrategy;
import org.mapstruct.NullValuePropertyMappingStrategy;
import org.mapstruct.ValueMapping;
import org.springframework.beans.factory.annotation.Autowired;
import de.ozgcloud.vorgang.callcontext.CallContext;
......@@ -42,7 +40,6 @@ import de.ozgcloud.vorgang.common.grpc.GrpcObjectMapper;
import de.ozgcloud.vorgang.files.FileIdMapper;
import de.ozgcloud.vorgang.grpc.command.GrpcCallContext;
import de.ozgcloud.vorgang.grpc.command.GrpcCreateCommandRequest;
import de.ozgcloud.vorgang.grpc.command.GrpcOrder;
import de.ozgcloud.vorgang.grpc.command.GrpcUser;
import de.ozgcloud.vorgang.vorgang.redirect.RedirectRequestMapper;
......@@ -57,22 +54,10 @@ public abstract class GrpcCreateCommandRequestMapper {
@Mapping(target = "bodyObject", source = "bodyObj")
@Mapping(target = "body", source = "bodyList")
@Mapping(target = "order", expression = "java(mapOrder(grpcRequest))")
@Mapping(target = "order", source = "orderString")
@Mapping(target = "callContext", expression = "java(fromHeaderOrCall(grpcRequest.getCallContext()))")
abstract CreateCommandRequest fromGrpc(GrpcCreateCommandRequest grpcRequest);
String mapOrder(GrpcCreateCommandRequest request) {
if (StringUtils.isBlank(request.getOrderString())) {
return map(request.getOrder()).name();
} else {
return request.getOrderString();
}
}
@ValueMapping(source = "UNRECOGNIZED", target = MappingConstants.NULL)
@ValueMapping(source = "UNDEFINED", target = MappingConstants.NULL)
abstract Order map(GrpcOrder grpcOrder);
CallContext fromHeaderOrCall(GrpcCallContext callContext) {
return userService.findUser().map(user -> CallContext.builder()
.client(user.getClientName())
......
......@@ -53,7 +53,6 @@ import de.ozgcloud.vorgang.grpc.command.GrpcCreateCommandRequest;
import de.ozgcloud.vorgang.grpc.command.GrpcGetCommandRequest;
import de.ozgcloud.vorgang.grpc.command.GrpcGetPendingCommandsRequest;
import de.ozgcloud.vorgang.grpc.command.GrpcGetPendingCommandsResponse;
import de.ozgcloud.vorgang.grpc.command.GrpcOrder;
import de.ozgcloud.vorgang.grpc.command.GrpcRevokeCommandRequest;
import de.ozgcloud.vorgang.vorgang.Vorgang;
import de.ozgcloud.vorgang.vorgang.Vorgang.Status;
......@@ -178,7 +177,7 @@ class CommandITCase {
void buildRequest() {
request = GrpcCreateCommandRequestTestFactory.createBuilder()
.setVorgangId(persistedVorgang.getId()).setRelationId(persistedVorgang.getId())
.setOrder(GrpcOrder.SEND_POSTFACH_MAIL)
.setOrderString("SEND_POSTFACH_MAIL")
.clearBody().addBody(GrpcCommandBodyField.newBuilder().setName("mailBody").build())
.build();
}
......
......@@ -23,7 +23,7 @@
*/
package de.ozgcloud.vorgang.command;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.*;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
......@@ -31,11 +31,10 @@ import org.mapstruct.factory.Mappers;
import de.ozgcloud.vorgang.grpc.command.GrpcCommandResponse;
import de.ozgcloud.vorgang.grpc.command.GrpcCommandResponse.GrpcResponseCode;
import de.ozgcloud.vorgang.grpc.command.GrpcOrder;
class CommandResponseMapperTest {
private GrpcCommandResponseMapper mapper = Mappers.getMapper(GrpcCommandResponseMapper.class);
private final GrpcCommandResponseMapper mapper = Mappers.getMapper(GrpcCommandResponseMapper.class);
@Nested
class TestCommandResponseToGrpcCommandResponse {
......@@ -132,15 +131,5 @@ class CommandResponseMapperTest {
assertThat(grpcResponse.getCommand().getRelationId()).isEqualTo(CommandTestFactory.RELATION_ID);
}
@Test
void shouldMapCommandOrder() {
CommandResponse response = CommandResponseTestFactory.create();
GrpcCommandResponse grpcResponse = mapper.toGrpc(response);
assertThat(grpcResponse.getCommand().getOrder()).isEqualTo(GrpcOrder.VORGANG_ANNEHMEN);
}
}
}
......@@ -30,11 +30,10 @@ import org.junit.jupiter.api.Test;
import org.mapstruct.factory.Mappers;
import de.ozgcloud.vorgang.grpc.command.GrpcCommand;
import de.ozgcloud.vorgang.grpc.command.GrpcOrder;
class GrpcCommandMapperTest {
private GrpcCommandMapper mapper = Mappers.getMapper(GrpcCommandMapper.class);
private final GrpcCommandMapper mapper = Mappers.getMapper(GrpcCommandMapper.class);
@Nested
class TestCommandToGrpcCommand {
......@@ -48,16 +47,7 @@ class GrpcCommandMapperTest {
assertThat(grpcCommand.getCreatedBy()).isEqualTo(CommandTestFactory.CREATED_BY);
assertThat(grpcCommand.getStatus()).isEqualTo(CommandTestFactory.STATUS.toString());
assertThat(grpcCommand.getRelationId()).isEqualTo(CommandTestFactory.RELATION_ID);
assertThat(grpcCommand.getOrder()).isNotNull();
}
@Test
void shouldMapNonEnumOrders() {
var orderString = "non-enum";
var grpcCommand = mapper.toGrpc(CommandTestFactory.createBuilder().order(orderString).build());
assertThat(grpcCommand.getOrder()).isEqualTo(GrpcOrder.UNDEFINED);
assertThat(grpcCommand.getOrderString()).isEqualTo(orderString);
assertThat(grpcCommand.getOrderString()).hasToString(CommandTestFactory.ORDER.name());
}
}
......
......@@ -26,7 +26,6 @@ import de.ozgcloud.vorgang.clientattribute.ClientAttributeReadPermitted;
import de.ozgcloud.vorgang.common.grpc.GrpcObjectMapper;
import de.ozgcloud.vorgang.grpc.command.CommandServiceGrpc.CommandServiceBlockingStub;
import de.ozgcloud.vorgang.grpc.command.GrpcCreateCommandRequest;
import de.ozgcloud.vorgang.grpc.command.GrpcOrder;
import de.ozgcloud.vorgang.vorgang.Vorgang;
import de.ozgcloud.vorgang.vorgang.VorgangTestFactory;
import net.devh.boot.grpc.client.inject.GrpcClient;
......@@ -49,7 +48,7 @@ class GrpcCommandServiceITCase {
@MockBean
private ClientAttributeReadPermitted readIsPermitted;
private GrpcObjectMapper grpcObjectMapper = Mappers.getMapper(GrpcObjectMapper.class);
private final GrpcObjectMapper grpcObjectMapper = Mappers.getMapper(GrpcObjectMapper.class);
@Nested
class TestCreateCommand {
......@@ -66,7 +65,7 @@ class GrpcCommandServiceITCase {
request = GrpcCreateCommandRequestTestFactory.createBuilder()
.setVorgangId(vorgang.getId()).setRelationId(vorgang.getId())
.setOrder(GrpcOrder.CREATE_ATTACHED_ITEM)
.setOrderString("CREATE_ATTACHED_ITEM")
.setBodyObj(grpcObjectMapper.fromMap(VorgangAttachedItemTestFactory.asMap())).build();
when(readIsPermitted.test(any())).thenReturn(true);
......
......@@ -61,7 +61,6 @@ import de.ozgcloud.vorgang.grpc.command.GrpcFindCommandsRequest;
import de.ozgcloud.vorgang.grpc.command.GrpcGetCommandRequest;
import de.ozgcloud.vorgang.grpc.command.GrpcGetPendingCommandsRequest;
import de.ozgcloud.vorgang.grpc.command.GrpcGetPendingCommandsResponse;
import de.ozgcloud.vorgang.grpc.command.GrpcOrder;
import de.ozgcloud.vorgang.grpc.command.GrpcRevokeCommandRequest;
import de.ozgcloud.vorgang.grpc.command.GrpcSetCommandExecutedRequest;
import de.ozgcloud.vorgang.vorgang.VorgangTestFactory;
......@@ -259,7 +258,7 @@ class GrpcCommandServiceTest {
@Nested
class TestProceedRevokeCommand {
private PersistedCommand command = CommandTestFactory.create();
private final PersistedCommand command = CommandTestFactory.create();
@BeforeEach
void init() {
......@@ -389,16 +388,9 @@ class GrpcCommandServiceTest {
verify(commandService).findCommands(VorgangTestFactory.ID, Collections.singletonList(CommandStatus.FINISHED), Optional.empty());
}
@Test
void shouldCallServiceWithOrder() {
callFindCommands(requestBuilder.setOrder(GrpcOrder.VORGANG_ABSCHLIESSEN).build());
verify(commandService).findCommands(VorgangTestFactory.ID, Collections.emptyList(), Optional.of(Order.VORGANG_ABSCHLIESSEN));
}
@Test
void shouldPreferOrderString() {
callFindCommands(requestBuilder.setOrder(GrpcOrder.UNDEFINED).setOrderString(Order.VORGANG_ABSCHLIESSEN.name()).build());
callFindCommands(requestBuilder.setOrderString(Order.VORGANG_ABSCHLIESSEN.name()).build());
verify(commandService).findCommands(VorgangTestFactory.ID, Collections.emptyList(), Optional.of(Order.VORGANG_ABSCHLIESSEN));
}
......
......@@ -106,26 +106,14 @@ class GrpcCreateCommandRequestMapperTest {
assertThat(request.getRelationId()).isEqualTo(GrpcCreateCommandRequestTestFactory.RELATION_ID);
}
@Nested
class shouldMapOrder {
@Test
void fromOrderStringField() {
GrpcCreateCommandRequest grpcRequest = GrpcCreateCommandRequestTestFactory.createBuilder().clearOrder().build();
GrpcCreateCommandRequest grpcRequest = GrpcCreateCommandRequestTestFactory.create();
CreateCommandRequest request = mapper.fromGrpc(grpcRequest);
assertThat(request.getOrder()).isEqualTo(GrpcCreateCommandRequestTestFactory.ORDER.name());
assertThat(request.getOrder()).isEqualTo(GrpcCreateCommandRequestTestFactory.ORDER);
}
@Test
void fromOrderField() {
GrpcCreateCommandRequest grpcRequest = GrpcCreateCommandRequestTestFactory.createBuilder().clearOrderString().build();
CreateCommandRequest request = mapper.fromGrpc(grpcRequest);
assertThat(request.getOrder()).isEqualTo(GrpcCreateCommandRequestTestFactory.ORDER.name());
}
}
}
}
\ No newline at end of file
......@@ -25,14 +25,13 @@ package de.ozgcloud.vorgang.command;
import de.ozgcloud.vorgang.grpc.command.GrpcCallContext;
import de.ozgcloud.vorgang.grpc.command.GrpcCreateCommandRequest;
import de.ozgcloud.vorgang.grpc.command.GrpcOrder;
import de.ozgcloud.vorgang.vorgang.VorgangTestFactory;
public class GrpcCreateCommandRequestTestFactory {
private static final GrpcCallContext CALLCONTEXT = GrpcCallContextTestFactory.create();
static final String RELATION_ID = CommandTestFactory.RELATION_ID;
static final GrpcOrder ORDER = GrpcOrder.VORGANG_ANNEHMEN;
static final String ORDER = "VORGANG_ANNEHMEN";
static final long RELATION_VERSION = VorgangTestFactory.VERSION;
public static GrpcCreateCommandRequest create() {
......@@ -43,8 +42,7 @@ public class GrpcCreateCommandRequestTestFactory {
return GrpcCreateCommandRequest.newBuilder()
.setCallContext(CALLCONTEXT)
.setRelationId(RELATION_ID)
.setOrder(ORDER)
.setOrderString(ORDER.name())
.setOrderString(ORDER)
.setRelationVersion(RELATION_VERSION)
.setVorgangId(VorgangTestFactory.ID);
}
......
......@@ -61,7 +61,6 @@ import de.ozgcloud.vorgang.files.GridFsTestFactory;
import de.ozgcloud.vorgang.files.OzgFileTestFactory;
import de.ozgcloud.vorgang.grpc.command.GrpcCommandResponse;
import de.ozgcloud.vorgang.grpc.command.GrpcCreateCommandRequest;
import de.ozgcloud.vorgang.grpc.command.GrpcOrder;
import de.ozgcloud.vorgang.grpc.command.GrpcRedirectRequest;
import de.ozgcloud.vorgang.vorgang.EingangTestFactory;
import de.ozgcloud.vorgang.vorgang.IncomingFileGroupTestFactory;
......@@ -205,7 +204,7 @@ class ForwardVorgangITCase {
private GrpcCreateCommandRequest buildCommandRequest() {
return GrpcCreateCommandRequestTestFactory.createBuilder()
.clearOrderString()
.clearOrder().setOrder(GrpcOrder.REDIRECT_VORGANG)
.setOrderString("REDIRECT_VORGANG")
.clearRelationId().setRelationId(VorgangTestFactory.ID)
.setRelationVersion(VorgangTestFactory.VERSION)
.setRedirectRequest(buildRedirectRequest())
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment