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