From 298ee563abfbf52ba19240aec2bb6c182b0740d5 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Fri, 11 Oct 2024 09:42:23 +0200 Subject: [PATCH] OZG-6842 Refacore OzgCloudVorgangQueryMapper --- .../grpc/OzgCloudVorgangQueryMapper.java | 14 +++++++---- .../grpc/OzgCloudVorgangQueryMapperTest.java | 25 +++++++++++-------- 2 files changed, 23 insertions(+), 16 deletions(-) diff --git a/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangQueryMapper.java b/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangQueryMapper.java index 26f9482..41117bb 100644 --- a/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangQueryMapper.java +++ b/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangQueryMapper.java @@ -19,10 +19,7 @@ public interface OzgCloudVorgangQueryMapper { default GrpcQuery toGrpc(OzgCloudVorgangQuery query) { var queryBuilder = GrpcQuery.newBuilder(); - query.getAktenzeichen().map(this::toAktenzeichenExpression).ifPresent(queryBuilder::addExpressions); - query.getForm().map(this::toFormExpression).ifPresent(queryBuilder::addExpressions); - query.getStatus().map(this::toStatusExpression).ifPresent(queryBuilder::addExpressions); - query.getOrganisationsEinheitId().map(this::toOrganisationsEinheitIdExpression).ifPresent(queryBuilder::addExpressions); + addPropertiesToExpressions(query, queryBuilder); if (queryBuilder.getExpressionsList().isEmpty()) { return query.getQuery().map(this::nestedQueryToGrpc).orElseGet(queryBuilder::build); @@ -32,6 +29,13 @@ public interface OzgCloudVorgangQueryMapper { return queryBuilder.setLogicalOperator(GrpcLogicalOperator.AND).build(); } + private void addPropertiesToExpressions(OzgCloudVorgangQuery query, GrpcQuery.Builder queryBuilder) { + query.getAktenzeichen().map(this::toAktenzeichenExpression).ifPresent(queryBuilder::addExpressions); + query.getForm().map(this::toFormExpression).ifPresent(queryBuilder::addExpressions); + query.getStatus().map(this::toStatusExpression).ifPresent(queryBuilder::addExpressions); + query.getOrganisationsEinheitId().map(this::toOrganisationsEinheitIdExpression).ifPresent(queryBuilder::addExpressions); + } + private GrpcVorgangQueryExpression toAktenzeichenExpression(String aktenzeichen) { return getEqualExpressionBuilder() .setPath("aktenzeichen") @@ -87,5 +91,5 @@ public interface OzgCloudVorgangQueryMapper { @Mapping(target = "expressionsOrBuilderList", ignore = true) @Mapping(target = "expressionsList", source = "expressions") - GrpcQuery nestedQueryToGrpc(Query query1); + GrpcQuery nestedQueryToGrpc(Query query); } diff --git a/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangQueryMapperTest.java b/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangQueryMapperTest.java index 124cbc3..3678a34 100644 --- a/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangQueryMapperTest.java +++ b/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/grpc/OzgCloudVorgangQueryMapperTest.java @@ -11,6 +11,7 @@ import org.mapstruct.factory.Mappers; import de.ozgcloud.apilib.vorgang.FormIdentificationTestFactory; import de.ozgcloud.apilib.vorgang.OzgCloudVorgangQuery; +import de.ozgcloud.apilib.vorgang.OzgCloudVorgangQuery.Query; import de.ozgcloud.apilib.vorgang.OzgCloudVorgangQueryTestFactory; import de.ozgcloud.apilib.vorgang.QueryTestFactory; import de.ozgcloud.vorgang.common.GrpcQueryOperator; @@ -70,11 +71,11 @@ class OzgCloudVorgangQueryMapperTest { @Nested class OnNestedQueryAndOptionals { - private final OzgCloudVorgangQuery query = OzgCloudVorgangQueryTestFactory.create(); + private final OzgCloudVorgangQuery.OzgCloudVorgangQueryBuilder queryBuilder = OzgCloudVorgangQueryTestFactory.createBuilder(); @Test void shouldMapToGrpcQuery() { - var grpcQuery = mapper.toGrpc(query); + var grpcQuery = mapper.toGrpc(queryBuilder.build()); assertThat(grpcQuery).usingRecursiveComparison().isEqualTo(GrpcQueryTestFactory.createBuilder().clearExpressions() .addAllExpressions(List.of(aktenzeichenExpression, formExpression, statusExpression, organisationsEinheitIdExpression)) @@ -85,11 +86,11 @@ class OzgCloudVorgangQueryMapperTest { @Test void shouldMapToDoubleNestedGrpcQuery() { - var grpcQuery = mapper.toGrpc(OzgCloudVorgangQueryTestFactory.createBuilder() - .query(Optional.of(QueryTestFactory.createBuilder() - .nestedQuery(QueryTestFactory.create()) - .build())) - .build()); + var nestedQuery = QueryTestFactory.createBuilder() + .nestedQuery(QueryTestFactory.create()) + .build(); + + var grpcQuery = mapper.toGrpc(queryBuilder.query(Optional.of(nestedQuery)).build()); assertThat(grpcQuery).usingRecursiveComparison().isEqualTo(GrpcQueryTestFactory.createBuilder().clearExpressions() .addAllExpressions(List.of(aktenzeichenExpression, formExpression, statusExpression, organisationsEinheitIdExpression)) @@ -103,7 +104,7 @@ class OzgCloudVorgangQueryMapperTest { } @Nested - class OnOnlyNestedQuery { + class OnNoExplicitProperties { private final OzgCloudVorgangQuery.OzgCloudVorgangQueryBuilder queryBuilder = OzgCloudVorgangQueryTestFactory.createBuilder() .aktenzeichen(Optional.empty()) .form(Optional.empty()) @@ -119,9 +120,11 @@ class OzgCloudVorgangQueryMapperTest { @Test void shouldMapToNestedGrpcQuery() { - var grpcQuery = mapper.toGrpc(queryBuilder.query(Optional.of(QueryTestFactory.createBuilder() - .nestedQuery(QueryTestFactory.create()).build())) - .build()); + Query nestedQuery = QueryTestFactory.createBuilder() + .nestedQuery(QueryTestFactory.create()) + .build(); + + var grpcQuery = mapper.toGrpc(queryBuilder.query(Optional.of(nestedQuery)).build()); assertThat(grpcQuery).usingRecursiveComparison().isEqualTo(GrpcQueryTestFactory.createBuilder() .setNestedQuery(GrpcQueryTestFactory.create()) -- GitLab