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 {
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);
}
......@@ -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()
var nestedQuery = QueryTestFactory.createBuilder()
.nestedQuery(QueryTestFactory.create())
.build()))
.build());
.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())
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment