You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2019/11/20 07:31:59 UTC
[james-project] 16/41: JAMES-2813 simplifies
TasksSerializationModule code
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 <ma...@apache.org>
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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org