This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 51a21c55f104287501d5c649326a88cd1adfda2c Author: Matthieu Baechler <[email protected]> AuthorDate: Thu Oct 17 16:54:08 2019 +0200 JAMES-2813 simplifies TasksSerializationModule code --- .../distributed/TasksSerializationModule.java | 46 +++++++++++----------- .../distributed/DistributedTaskManagerTest.java | 2 +- .../RabbitMQTerminationSubscriberTest.java | 2 +- .../distributed/TaskEventsSerializationTest.java | 2 +- 4 files changed, 26 insertions(+), 26 deletions(-) diff --git a/server/task/task-distributed/src/main/java/org/apache/james/task/eventsourcing/distributed/TasksSerializationModule.java b/server/task/task-distributed/src/main/java/org/apache/james/task/eventsourcing/distributed/TasksSerializationModule.java index 5e06f1c..2e56172 100644 --- a/server/task/task-distributed/src/main/java/org/apache/james/task/eventsourcing/distributed/TasksSerializationModule.java +++ b/server/task/task-distributed/src/main/java/org/apache/james/task/eventsourcing/distributed/TasksSerializationModule.java @@ -20,7 +20,6 @@ package org.apache.james.task.eventsourcing.distributed; import java.util.Set; -import java.util.function.BiFunction; import java.util.stream.Stream; import org.apache.james.eventsourcing.eventstore.cassandra.dto.EventDTOModule; @@ -33,17 +32,16 @@ import org.apache.james.task.eventsourcing.Completed; import org.apache.james.task.eventsourcing.Created; import org.apache.james.task.eventsourcing.Failed; import org.apache.james.task.eventsourcing.Started; -import org.apache.james.task.eventsourcing.TaskEvent; import com.github.steveash.guavate.Guavate; public interface TasksSerializationModule { @FunctionalInterface - interface TaskSerializationModuleFactory<T extends TaskEvent, U extends TaskEventDTO> { - EventDTOModule<T, U> create(JsonTaskSerializer taskSerializer, JsonTaskAdditionalInformationSerializer additionalInformationSerializer); + interface TaskSerializationModuleFactory { + EventDTOModule<?, ?> create(JsonTaskSerializer taskSerializer, JsonTaskAdditionalInformationSerializer additionalInformationSerializer); } - TaskSerializationModuleFactory<Created, CreatedDTO> CREATED = (jsonTaskSerializer, jsonTaskAdditionalInformationSerializer) -> EventDTOModule + TaskSerializationModuleFactory CREATED = (jsonTaskSerializer, additionalInformationSerializer) -> EventDTOModule .forEvent(Created.class) .convertToDTO(CreatedDTO.class) .toDomainObjectConverter(dto -> dto.toDomainObject(jsonTaskSerializer)) @@ -51,7 +49,7 @@ public interface TasksSerializationModule { .typeName("task-manager-created") .withFactory(EventDTOModule::new); - TaskSerializationModuleFactory<Started, StartedDTO> STARTED = (jsonTaskSerializer, jsonTaskAdditionalInformationSerializer) -> EventDTOModule + TaskSerializationModuleFactory STARTED = (jsonTaskSerializer, additionalInformationSerializer) -> EventDTOModule .forEvent(Started.class) .convertToDTO(StartedDTO.class) .toDomainObjectConverter(StartedDTO::toDomainObject) @@ -59,7 +57,7 @@ public interface TasksSerializationModule { .typeName("task-manager-started") .withFactory(EventDTOModule::new); - TaskSerializationModuleFactory<CancelRequested, CancelRequestedDTO> CANCEL_REQUESTED = (jsonTaskSerializer, jsonTaskAdditionalInformationSerializer) -> EventDTOModule + TaskSerializationModuleFactory CANCEL_REQUESTED = (jsonTaskSerializer, additionalInformationSerializer) -> EventDTOModule .forEvent(CancelRequested.class) .convertToDTO(CancelRequestedDTO.class) .toDomainObjectConverter(CancelRequestedDTO::toDomainObject) @@ -67,40 +65,42 @@ public interface TasksSerializationModule { .typeName("task-manager-cancel-requested") .withFactory(EventDTOModule::new); - TaskSerializationModuleFactory<Completed, CompletedDTO> COMPLETED = (jsonTaskSerializer, jsonTaskAdditionalInformationSerializer) -> EventDTOModule + TaskSerializationModuleFactory COMPLETED = (jsonTaskSerializer, additionalInformationSerializer) -> EventDTOModule .forEvent(Completed.class) .convertToDTO(CompletedDTO.class) - .toDomainObjectConverter(dto -> dto.toDomainObject(jsonTaskAdditionalInformationSerializer)) - .toDTOConverter((event, typeName) -> CompletedDTO.fromDomainObject(jsonTaskAdditionalInformationSerializer, event, typeName)) + .toDomainObjectConverter(dto -> dto.toDomainObject(additionalInformationSerializer)) + .toDTOConverter((event, typeName) -> CompletedDTO.fromDomainObject(additionalInformationSerializer, event, typeName)) .typeName("task-manager-completed") .withFactory(EventDTOModule::new); - TaskSerializationModuleFactory<Failed, FailedDTO> FAILED = (jsonTaskSerializer, jsonTaskAdditionalInformationSerializer) -> EventDTOModule + TaskSerializationModuleFactory FAILED = (jsonTaskSerializer, additionalInformationSerializer) -> EventDTOModule .forEvent(Failed.class) .convertToDTO(FailedDTO.class) - .toDomainObjectConverter(dto -> dto.toDomainObject(jsonTaskAdditionalInformationSerializer)) - .toDTOConverter((event, typeName) -> FailedDTO.fromDomainObject(jsonTaskAdditionalInformationSerializer, event, typeName)) + .toDomainObjectConverter(dto -> dto.toDomainObject(additionalInformationSerializer)) + .toDTOConverter((event, typeName) -> FailedDTO.fromDomainObject(additionalInformationSerializer, event, typeName)) .typeName("task-manager-failed") .withFactory(EventDTOModule::new); - TaskSerializationModuleFactory<Cancelled, CancelledDTO> CANCELLED = (jsonTaskSerializer, jsonTaskAdditionalInformationSerializer) -> EventDTOModule + TaskSerializationModuleFactory CANCELLED = (jsonTaskSerializer, additionalInformationSerializer) -> EventDTOModule .forEvent(Cancelled.class) .convertToDTO(CancelledDTO.class) - .toDomainObjectConverter(dto -> dto.toDomainObject(jsonTaskAdditionalInformationSerializer)) - .toDTOConverter((event, typeName) -> CancelledDTO.fromDomainObject(jsonTaskAdditionalInformationSerializer, event, typeName)) + .toDomainObjectConverter(dto -> dto.toDomainObject(additionalInformationSerializer)) + .toDTOConverter((event, typeName) -> CancelledDTO.fromDomainObject(additionalInformationSerializer, event, typeName)) .typeName("task-manager-cancelled") .withFactory(EventDTOModule::new); - TaskSerializationModuleFactory<AdditionalInformationUpdated, AdditionalInformationUpdatedDTO> UPDATED = (jsonTaskSerializer, jsonTaskAdditionalInformationSerializer) -> EventDTOModule + TaskSerializationModuleFactory UPDATED = (jsonTaskSerializer, additionalInformationSerializer) -> EventDTOModule .forEvent(AdditionalInformationUpdated.class) .convertToDTO(AdditionalInformationUpdatedDTO.class) - .toDomainObjectConverter(dto -> dto.toDomainObject(jsonTaskAdditionalInformationSerializer)) - .toDTOConverter((event, typeName) -> AdditionalInformationUpdatedDTO.fromDomainObject(jsonTaskAdditionalInformationSerializer, event, typeName)) + .toDomainObjectConverter(dto -> dto.toDomainObject(additionalInformationSerializer)) + .toDTOConverter((event, typeName) -> AdditionalInformationUpdatedDTO.fromDomainObject(additionalInformationSerializer, event, typeName)) .typeName("task-manager-updated") .withFactory(EventDTOModule::new); - BiFunction<JsonTaskSerializer, JsonTaskAdditionalInformationSerializer, Set<EventDTOModule<?, ?>>> MODULES = (jsonTaskSerializer, jsonTaskAdditionalInformationSerializer) -> Stream - .of(CREATED, STARTED, CANCEL_REQUESTED, CANCELLED, COMPLETED, FAILED, UPDATED) - .map(moduleFactory -> moduleFactory.create(jsonTaskSerializer, jsonTaskAdditionalInformationSerializer)) - .collect(Guavate.toImmutableSet()); + static Set<EventDTOModule<?, ?>> list(JsonTaskSerializer jsonTaskSerializer, JsonTaskAdditionalInformationSerializer jsonTaskAdditionalInformationSerializer) { + return Stream + .of(CREATED, STARTED, CANCEL_REQUESTED, CANCELLED, COMPLETED, FAILED, UPDATED) + .map(moduleFactory -> moduleFactory.create(jsonTaskSerializer, jsonTaskAdditionalInformationSerializer)) + .collect(Guavate.toImmutableSet()); + } } diff --git a/server/task/task-distributed/src/test/java/org/apache/james/task/eventsourcing/distributed/DistributedTaskManagerTest.java b/server/task/task-distributed/src/test/java/org/apache/james/task/eventsourcing/distributed/DistributedTaskManagerTest.java index d6ed9d3..2b60b6e 100644 --- a/server/task/task-distributed/src/test/java/org/apache/james/task/eventsourcing/distributed/DistributedTaskManagerTest.java +++ b/server/task/task-distributed/src/test/java/org/apache/james/task/eventsourcing/distributed/DistributedTaskManagerTest.java @@ -108,7 +108,7 @@ class DistributedTaskManagerTest implements TaskManagerContract { private static final Hostname HOSTNAME = new Hostname("foo"); private static final Hostname HOSTNAME_2 = new Hostname("bar"); - private static final Set<EventDTOModule<?, ?>> MODULES = TasksSerializationModule.MODULES.apply(TASK_SERIALIZER, JSON_TASK_ADDITIONAL_INFORMATION_SERIALIZER).stream().collect(Guavate.toImmutableSet()); + private static final Set<EventDTOModule<?, ?>> MODULES = TasksSerializationModule.list(TASK_SERIALIZER, JSON_TASK_ADDITIONAL_INFORMATION_SERIALIZER).stream().collect(Guavate.toImmutableSet()); private static final JsonEventSerializer EVENT_SERIALIZER = new JsonEventSerializer(MODULES); diff --git a/server/task/task-distributed/src/test/java/org/apache/james/task/eventsourcing/distributed/RabbitMQTerminationSubscriberTest.java b/server/task/task-distributed/src/test/java/org/apache/james/task/eventsourcing/distributed/RabbitMQTerminationSubscriberTest.java index e826690..c736c50 100644 --- a/server/task/task-distributed/src/test/java/org/apache/james/task/eventsourcing/distributed/RabbitMQTerminationSubscriberTest.java +++ b/server/task/task-distributed/src/test/java/org/apache/james/task/eventsourcing/distributed/RabbitMQTerminationSubscriberTest.java @@ -46,7 +46,7 @@ import reactor.core.publisher.Flux; class RabbitMQTerminationSubscriberTest implements TerminationSubscriberContract { private static final JsonTaskSerializer TASK_SERIALIZER = new JsonTaskSerializer(); private static final JsonTaskAdditionalInformationSerializer JSON_TASK_ADDITIONAL_INFORMATION_SERIALIZER = new JsonTaskAdditionalInformationSerializer(); - private static final Set<EventDTOModule<?, ?>> MODULES = TasksSerializationModule.MODULES.apply(TASK_SERIALIZER, JSON_TASK_ADDITIONAL_INFORMATION_SERIALIZER).stream().collect(Guavate.toImmutableSet()); + private static final Set<EventDTOModule<?, ?>> MODULES = TasksSerializationModule.list(TASK_SERIALIZER, JSON_TASK_ADDITIONAL_INFORMATION_SERIALIZER).stream().collect(Guavate.toImmutableSet()); private static final JsonEventSerializer SERIALIZER = new JsonEventSerializer(MODULES); @RegisterExtension diff --git a/server/task/task-distributed/src/test/java/org/apache/james/task/eventsourcing/distributed/TaskEventsSerializationTest.java b/server/task/task-distributed/src/test/java/org/apache/james/task/eventsourcing/distributed/TaskEventsSerializationTest.java index 5d53c4b..bcb2a6d 100644 --- a/server/task/task-distributed/src/test/java/org/apache/james/task/eventsourcing/distributed/TaskEventsSerializationTest.java +++ b/server/task/task-distributed/src/test/java/org/apache/james/task/eventsourcing/distributed/TaskEventsSerializationTest.java @@ -59,7 +59,7 @@ class TaskEventsSerializationTest { private static final JsonTaskSerializer TASK_SERIALIZER = new JsonTaskSerializer(TestTaskDTOModules.COMPLETED_TASK_MODULE, TestTaskDTOModules.MEMORY_REFERENCE_WITH_COUNTER_TASK_MODULE.apply(new MemoryReferenceWithCounterTaskStore())); private static final JsonTaskAdditionalInformationSerializer TASK_ADDITIONNAL_INFORMATION_SERIALIZER = new JsonTaskAdditionalInformationSerializer(MemoryReferenceWithCounterTaskAdditionalInformationDTO.SERIALIZATION_MODULE); - private static final Set<EventDTOModule<?, ?>> MODULES = TasksSerializationModule.MODULES.apply(TASK_SERIALIZER, TASK_ADDITIONNAL_INFORMATION_SERIALIZER); + private static final Set<EventDTOModule<?, ?>> MODULES = TasksSerializationModule.list(TASK_SERIALIZER, TASK_ADDITIONNAL_INFORMATION_SERIALIZER); private static final JsonEventSerializer SERIALIZER = new JsonEventSerializer(MODULES.stream().collect(Guavate.toImmutableSet())); private static final TaskAggregateId AGGREGATE_ID = new TaskAggregateId(TaskId.fromString("2c7f4081-aa30-11e9-bf6c-2d3b9e84aafd")); private static final EventId EVENT_ID = EventId.fromSerialized(42); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
