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

OZG-6842 Refacore OzgCloudVorgangQueryMapper

parent 8d26e7be
No related branches found
No related tags found
No related merge requests found
...@@ -19,10 +19,7 @@ public interface OzgCloudVorgangQueryMapper { ...@@ -19,10 +19,7 @@ public interface OzgCloudVorgangQueryMapper {
default GrpcQuery toGrpc(OzgCloudVorgangQuery query) { default GrpcQuery toGrpc(OzgCloudVorgangQuery query) {
var queryBuilder = GrpcQuery.newBuilder(); var queryBuilder = GrpcQuery.newBuilder();
query.getAktenzeichen().map(this::toAktenzeichenExpression).ifPresent(queryBuilder::addExpressions); addPropertiesToExpressions(query, queryBuilder);
query.getForm().map(this::toFormExpression).ifPresent(queryBuilder::addExpressions);
query.getStatus().map(this::toStatusExpression).ifPresent(queryBuilder::addExpressions);
query.getOrganisationsEinheitId().map(this::toOrganisationsEinheitIdExpression).ifPresent(queryBuilder::addExpressions);
if (queryBuilder.getExpressionsList().isEmpty()) { if (queryBuilder.getExpressionsList().isEmpty()) {
return query.getQuery().map(this::nestedQueryToGrpc).orElseGet(queryBuilder::build); return query.getQuery().map(this::nestedQueryToGrpc).orElseGet(queryBuilder::build);
...@@ -32,6 +29,13 @@ public interface OzgCloudVorgangQueryMapper { ...@@ -32,6 +29,13 @@ public interface OzgCloudVorgangQueryMapper {
return queryBuilder.setLogicalOperator(GrpcLogicalOperator.AND).build(); 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) { private GrpcVorgangQueryExpression toAktenzeichenExpression(String aktenzeichen) {
return getEqualExpressionBuilder() return getEqualExpressionBuilder()
.setPath("aktenzeichen") .setPath("aktenzeichen")
...@@ -87,5 +91,5 @@ public interface OzgCloudVorgangQueryMapper { ...@@ -87,5 +91,5 @@ public interface OzgCloudVorgangQueryMapper {
@Mapping(target = "expressionsOrBuilderList", ignore = true) @Mapping(target = "expressionsOrBuilderList", ignore = true)
@Mapping(target = "expressionsList", source = "expressions") @Mapping(target = "expressionsList", source = "expressions")
GrpcQuery nestedQueryToGrpc(Query query1); GrpcQuery nestedQueryToGrpc(Query query);
} }
...@@ -11,6 +11,7 @@ import org.mapstruct.factory.Mappers; ...@@ -11,6 +11,7 @@ import org.mapstruct.factory.Mappers;
import de.ozgcloud.apilib.vorgang.FormIdentificationTestFactory; import de.ozgcloud.apilib.vorgang.FormIdentificationTestFactory;
import de.ozgcloud.apilib.vorgang.OzgCloudVorgangQuery; import de.ozgcloud.apilib.vorgang.OzgCloudVorgangQuery;
import de.ozgcloud.apilib.vorgang.OzgCloudVorgangQuery.Query;
import de.ozgcloud.apilib.vorgang.OzgCloudVorgangQueryTestFactory; import de.ozgcloud.apilib.vorgang.OzgCloudVorgangQueryTestFactory;
import de.ozgcloud.apilib.vorgang.QueryTestFactory; import de.ozgcloud.apilib.vorgang.QueryTestFactory;
import de.ozgcloud.vorgang.common.GrpcQueryOperator; import de.ozgcloud.vorgang.common.GrpcQueryOperator;
...@@ -70,11 +71,11 @@ class OzgCloudVorgangQueryMapperTest { ...@@ -70,11 +71,11 @@ class OzgCloudVorgangQueryMapperTest {
@Nested @Nested
class OnNestedQueryAndOptionals { class OnNestedQueryAndOptionals {
private final OzgCloudVorgangQuery query = OzgCloudVorgangQueryTestFactory.create(); private final OzgCloudVorgangQuery.OzgCloudVorgangQueryBuilder queryBuilder = OzgCloudVorgangQueryTestFactory.createBuilder();
@Test @Test
void shouldMapToGrpcQuery() { void shouldMapToGrpcQuery() {
var grpcQuery = mapper.toGrpc(query); var grpcQuery = mapper.toGrpc(queryBuilder.build());
assertThat(grpcQuery).usingRecursiveComparison().isEqualTo(GrpcQueryTestFactory.createBuilder().clearExpressions() assertThat(grpcQuery).usingRecursiveComparison().isEqualTo(GrpcQueryTestFactory.createBuilder().clearExpressions()
.addAllExpressions(List.of(aktenzeichenExpression, formExpression, statusExpression, organisationsEinheitIdExpression)) .addAllExpressions(List.of(aktenzeichenExpression, formExpression, statusExpression, organisationsEinheitIdExpression))
...@@ -85,11 +86,11 @@ class OzgCloudVorgangQueryMapperTest { ...@@ -85,11 +86,11 @@ class OzgCloudVorgangQueryMapperTest {
@Test @Test
void shouldMapToDoubleNestedGrpcQuery() { void shouldMapToDoubleNestedGrpcQuery() {
var grpcQuery = mapper.toGrpc(OzgCloudVorgangQueryTestFactory.createBuilder() var nestedQuery = QueryTestFactory.createBuilder()
.query(Optional.of(QueryTestFactory.createBuilder()
.nestedQuery(QueryTestFactory.create()) .nestedQuery(QueryTestFactory.create())
.build())) .build();
.build());
var grpcQuery = mapper.toGrpc(queryBuilder.query(Optional.of(nestedQuery)).build());
assertThat(grpcQuery).usingRecursiveComparison().isEqualTo(GrpcQueryTestFactory.createBuilder().clearExpressions() assertThat(grpcQuery).usingRecursiveComparison().isEqualTo(GrpcQueryTestFactory.createBuilder().clearExpressions()
.addAllExpressions(List.of(aktenzeichenExpression, formExpression, statusExpression, organisationsEinheitIdExpression)) .addAllExpressions(List.of(aktenzeichenExpression, formExpression, statusExpression, organisationsEinheitIdExpression))
...@@ -103,7 +104,7 @@ class OzgCloudVorgangQueryMapperTest { ...@@ -103,7 +104,7 @@ class OzgCloudVorgangQueryMapperTest {
} }
@Nested @Nested
class OnOnlyNestedQuery { class OnNoExplicitProperties {
private final OzgCloudVorgangQuery.OzgCloudVorgangQueryBuilder queryBuilder = OzgCloudVorgangQueryTestFactory.createBuilder() private final OzgCloudVorgangQuery.OzgCloudVorgangQueryBuilder queryBuilder = OzgCloudVorgangQueryTestFactory.createBuilder()
.aktenzeichen(Optional.empty()) .aktenzeichen(Optional.empty())
.form(Optional.empty()) .form(Optional.empty())
...@@ -119,9 +120,11 @@ class OzgCloudVorgangQueryMapperTest { ...@@ -119,9 +120,11 @@ class OzgCloudVorgangQueryMapperTest {
@Test @Test
void shouldMapToNestedGrpcQuery() { void shouldMapToNestedGrpcQuery() {
var grpcQuery = mapper.toGrpc(queryBuilder.query(Optional.of(QueryTestFactory.createBuilder() Query nestedQuery = QueryTestFactory.createBuilder()
.nestedQuery(QueryTestFactory.create()).build())) .nestedQuery(QueryTestFactory.create())
.build()); .build();
var grpcQuery = mapper.toGrpc(queryBuilder.query(Optional.of(nestedQuery)).build());
assertThat(grpcQuery).usingRecursiveComparison().isEqualTo(GrpcQueryTestFactory.createBuilder() assertThat(grpcQuery).usingRecursiveComparison().isEqualTo(GrpcQueryTestFactory.createBuilder()
.setNestedQuery(GrpcQueryTestFactory.create()) .setNestedQuery(GrpcQueryTestFactory.create())
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment