Skip to content
Snippets Groups Projects
Commit be7edcb1 authored by Felix Reichenbach's avatar Felix Reichenbach
Browse files

OZG-7846 use empty Optional instead of null in method argument and move empty check

parent 74beb0df
No related branches found
No related tags found
1 merge request!13Ozg 7846 filter for form engine
......@@ -83,15 +83,15 @@ public class AggregationManagerRunner implements CommandLineRunner {
var identifier = transformationProperties.getIdentifier();
var aggregationMappings = transformationProperties.getAggregationMappings();
if (Objects.isNull(aggregationMappings) || aggregationMappings.isEmpty()) {
runWithTransformation(transformationService.load(identifier, null), null);
runWithTransformation(transformationService.load(identifier, null), Optional.empty());
} else {
aggregationMappings.stream()
.forEach(aggregationMapping -> runWithTransformation(transformationService.load(identifier, aggregationMapping),
aggregationMapping.getFormIdentifier()));
Optional.of(aggregationMapping.getFormIdentifier())));
}
}
void runWithTransformation(Transformation transformation, FormIdentifier formIdentifier) {
void runWithTransformation(Transformation transformation, Optional<FormIdentifier> formIdentifier) {
try (Execution execution = new Execution(transformation)) {
ThreadContext.put(MDC_EXECUTION, execution.id.toString());
loadVorgaengeIntoRepository(Stream.concat(
......@@ -107,32 +107,32 @@ public class AggregationManagerRunner implements CommandLineRunner {
batches.map(this::transformBatchToDocumentEntries).forEach(this::loadDocumentEntriesIntoRepository);
}
Stream<Batch> extractBatchesOfVorgaengeFromDataSource(Execution execution, FormIdentifier formIdentifier) {
Stream<Batch> extractBatchesOfVorgaengeFromDataSource(Execution execution, Optional<FormIdentifier> formIdentifier) {
return extractBatchesFromDataSource(execution, page -> getVorgaengeFromDataSource(page, formIdentifier));
}
List<OzgCloudVorgang> getVorgaengeFromDataSource(Page page, FormIdentifier formIdentifier) {
List<OzgCloudVorgang> getVorgaengeFromDataSource(Page page, Optional<FormIdentifier> formIdentifier) {
return vorgangService.find(buildFindByFormEngineQuery(formIdentifier), page).stream()
.map(vorgangStub -> vorgangService.getById(vorgangStub.getId()))
.toList();
}
OzgCloudVorgangQuery buildFindByFormEngineQuery(FormIdentifier formIdentifier) {
OzgCloudVorgangQuery buildFindByFormEngineQuery(Optional<FormIdentifier> formIdentifier) {
return OzgCloudVorgangQuery.builder()
.form(mapToFormIdentification(formIdentifier))
.build();
}
private Optional<FormIdentification> mapToFormIdentification(FormIdentifier formIdentifier) {
return Optional.ofNullable(formIdentifier)
private Optional<FormIdentification> mapToFormIdentification(Optional<FormIdentifier> formIdentifier) {
return formIdentifier
.map(identifier -> FormIdentification.builder()
.formId(identifier.getFormId())
.formEngineName(identifier.getFormEngineName())
.build());
}
Stream<Batch> extractBatchesOfDeletedVorgaengeFromDataSource(Execution execution, FormIdentifier formIdentifier) {
return Objects.isNull(formIdentifier) ? extractBatchesFromDataSource(execution, getPagedDeletedVorgaenge(vorgangService.findDeleted()))
Stream<Batch> extractBatchesOfDeletedVorgaengeFromDataSource(Execution execution, Optional<FormIdentifier> formIdentifier) {
return formIdentifier.isEmpty() ? extractBatchesFromDataSource(execution, getPagedDeletedVorgaenge(vorgangService.findDeleted()))
: Stream.empty();
}
......
......@@ -29,6 +29,7 @@ import static org.mockito.Mockito.*;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.UUID;
import java.util.function.Function;
import java.util.stream.Stream;
......@@ -134,8 +135,8 @@ class AggregationManagerRunnerTest {
void shouldRunWithTransformationForEachTransformation() {
runner.run();
verify(runner).runWithTransformation(firstTransformation, AggregationMappingTestFactory.FORM_IDENTIFIER);
verify(runner).runWithTransformation(secondTransformation, AggregationMappingTestFactory.FORM_IDENTIFIER);
verify(runner).runWithTransformation(firstTransformation, Optional.of(AggregationMappingTestFactory.FORM_IDENTIFIER));
verify(runner).runWithTransformation(secondTransformation, Optional.of(AggregationMappingTestFactory.FORM_IDENTIFIER));
}
}
......@@ -161,7 +162,7 @@ class AggregationManagerRunnerTest {
void shouldCallRunWithTransformation() {
runner.run();
verify(runner).runWithTransformation(transformation, null);
verify(runner).runWithTransformation(transformation, Optional.empty());
}
}
......@@ -187,7 +188,7 @@ class AggregationManagerRunnerTest {
void shouldCallRunWithTransformation() {
runner.run();
verify(runner).runWithTransformation(transformation, null);
verify(runner).runWithTransformation(transformation, Optional.empty());
}
}
}
......@@ -198,7 +199,7 @@ class AggregationManagerRunnerTest {
@Mock
private Transformation transformation;
private final ArgumentMatcher<Execution> hasTransformation = execution -> execution.getTransformation().equals(transformation);
private final FormIdentifier formIdentifier = FormIdentifierTestFactory.create();
private final Optional<FormIdentifier> formIdentifier = Optional.of(FormIdentifierTestFactory.create());
@Mock
private Batch batchOfVorgaenge;
@Mock
......@@ -283,7 +284,7 @@ class AggregationManagerRunnerTest {
@Nested
class TestExtractBatchesOfVorgaengeFromDataSource {
private final FormIdentifier formIdentifier = FormIdentifierTestFactory.create();
private final Optional<FormIdentifier> formIdentifier = Optional.of(FormIdentifierTestFactory.create());
@Mock
private Execution execution;
@Captor
......@@ -326,7 +327,7 @@ class AggregationManagerRunnerTest {
class TestGetVorgaengeFromDataSource {
private final Page page = Page.builder().offset(10).limit(2).build();
private final FormIdentifier formIdentifier = FormIdentifierTestFactory.create();
private final Optional<FormIdentifier> formIdentifier = Optional.of(FormIdentifierTestFactory.create());
private final OzgCloudVorgangQuery query = OzgCloudVorgangQuery.builder().build();
@BeforeEach
......@@ -373,18 +374,20 @@ class AggregationManagerRunnerTest {
class TestBuildFindByFormEngineQuery {
@Nested
class TestOnFormIdentifierNull {
class TestOnEmptyFormIdentifier {
@Test
void shouldReturnFindAllQueryOnNullFormIdentifier() {
var query = runner.buildFindByFormEngineQuery(null);
void shouldReturnFindAllQueryOnEmptyFormIdentifier() {
var query = runner.buildFindByFormEngineQuery(Optional.empty());
assertThat(query).usingRecursiveComparison().isEqualTo(OzgCloudVorgangQuery.builder().build());
}
}
@Nested
class TestOnFormIdentifierNotNull {
private final FormIdentifier formIdentifier = FormIdentifierTestFactory.create();
class TestOnFormIdentifierNotEmpty {
private final Optional<FormIdentifier> formIdentifier = Optional.of(FormIdentifierTestFactory.create());
@Test
void shouldSetFormIdInQuery() {
......@@ -416,7 +419,7 @@ class AggregationManagerRunnerTest {
private Batch batch;
@Nested
class TestOnNullFormIdentifier {
class TestOnEmptyFormIdentifier {
@BeforeEach
void init() {
......@@ -427,14 +430,14 @@ class AggregationManagerRunnerTest {
@Test
void shouldFindDeleted() {
runner.extractBatchesOfDeletedVorgaengeFromDataSource(execution, null);
runner.extractBatchesOfDeletedVorgaengeFromDataSource(execution, Optional.empty());
verify(vorgangService).findDeleted();
}
@Test
void shouldGetPagedDeletedVorgaenge() {
runner.extractBatchesOfDeletedVorgaengeFromDataSource(execution, null);
runner.extractBatchesOfDeletedVorgaengeFromDataSource(execution, Optional.empty());
verify(runner).getPagedDeletedVorgaenge(deletedVorgaengeCaptor.capture());
assertThat(deletedVorgaengeCaptor.getValue()).usingRecursiveFieldByFieldElementComparator()
......@@ -443,23 +446,23 @@ class AggregationManagerRunnerTest {
@Test
void shouldExtractWithDataRetrievalFunction() {
runner.extractBatchesOfDeletedVorgaengeFromDataSource(execution, null);
runner.extractBatchesOfDeletedVorgaengeFromDataSource(execution, Optional.empty());
verify(runner).extractBatchesFromDataSource(execution, functionToRetrieveData);
}
@Test
void shouldReturnExtractedBatches() {
var extracted = runner.extractBatchesOfDeletedVorgaengeFromDataSource(execution, null);
var extracted = runner.extractBatchesOfDeletedVorgaengeFromDataSource(execution, Optional.empty());
assertThat(extracted).containsExactly(batch);
}
}
@Nested
class TestOnFormIdentifierNotNull {
class TestOnFormIdentifierNotEmpty {
private final FormIdentifier formIdentifier = FormIdentifierTestFactory.create();
private final Optional<FormIdentifier> formIdentifier = Optional.of(FormIdentifierTestFactory.create());
@Test
void shouldReturnEmptyStream() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment