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 1549e776d9e91448516e8371edde310ecfa36c94
Author: Matthieu Baechler <[email protected]>
AuthorDate: Fri Oct 25 11:23:15 2019 +0200

    JAMES-2813 give DTOConvert methods more explicit names
---
 .../main/java/org/apache/james/json/DTOConverter.java    |  4 ++--
 .../org/apache/james/json/JsonGenericSerializer.java     |  4 ++--
 json/src/test/java/org/apache/DTOConverterTest.java      | 12 ++++++------
 json/src/test/java/org/apache/dto/FirstDTO.java          |  2 +-
 json/src/test/java/org/apache/dto/SecondDTO.java         |  2 +-
 json/src/test/java/org/apache/dto/TestModules.java       |  4 ++--
 .../james/mailbox/quota/cassandra/dto/DTOTest.java       |  2 ++
 .../james/dlp/eventsourcing/cassandra/DTOTest.java       |  4 ++++
 .../apache/james/jmap/cassandra/filtering/DTOTest.java   |  5 +++++
 .../rabbitmq/view/cassandra/configuration/DTOTest.java   |  3 +++
 .../task/eventsourcing/distributed/TaskEventDTO.scala    | 16 ++++++++--------
 11 files changed, 36 insertions(+), 22 deletions(-)

diff --git a/json/src/main/java/org/apache/james/json/DTOConverter.java 
b/json/src/main/java/org/apache/james/json/DTOConverter.java
index d49b623..80b9390 100644
--- a/json/src/main/java/org/apache/james/json/DTOConverter.java
+++ b/json/src/main/java/org/apache/james/json/DTOConverter.java
@@ -50,7 +50,7 @@ public class DTOConverter<T, U extends DTO> {
     }
 
     @SuppressWarnings("unchecked")
-    public Optional<U> convert(T domainObject) {
+    public Optional<U> toDTO(T domainObject) {
         return Optional
             .ofNullable(domainClassToModule.get(domainObject.getClass()))
             .map(module -> (DTOModule<T, U>) module)
@@ -58,7 +58,7 @@ public class DTOConverter<T, U extends DTO> {
     }
 
     @SuppressWarnings("unchecked")
-    public Optional<T> convert(U dto) {
+    public Optional<T> toDomainObject(U dto) {
         String type = dto.getType();
         return Optional
             .ofNullable(typeToModule.get(type))
diff --git 
a/json/src/main/java/org/apache/james/json/JsonGenericSerializer.java 
b/json/src/main/java/org/apache/james/json/JsonGenericSerializer.java
index 0cf11dc..6ebb443 100644
--- a/json/src/main/java/org/apache/james/json/JsonGenericSerializer.java
+++ b/json/src/main/java/org/apache/james/json/JsonGenericSerializer.java
@@ -120,7 +120,7 @@ public class JsonGenericSerializer<T, U extends DTO> {
     }
 
     public String serialize(T domainObject) throws JsonProcessingException {
-        U dto = dtoConverter.convert(domainObject)
+        U dto = dtoConverter.toDTO(domainObject)
             .orElseThrow(() -> new UnknownTypeException("unknown type " + 
domainObject.getClass()));
         return objectMapper.writeValueAsString(dto);
     }
@@ -128,7 +128,7 @@ public class JsonGenericSerializer<T, U extends DTO> {
 
     public T deserialize(String value) throws IOException {
         U dto = jsonToDTO(value);
-        return dtoConverter.convert(dto)
+        return dtoConverter.toDomainObject(dto)
             .orElseThrow(() -> new UnknownTypeException("unknown type " + 
dto.getType()));
     }
 
diff --git a/json/src/test/java/org/apache/DTOConverterTest.java 
b/json/src/test/java/org/apache/DTOConverterTest.java
index 6783b0e..1c34498 100644
--- a/json/src/test/java/org/apache/DTOConverterTest.java
+++ b/json/src/test/java/org/apache/DTOConverterTest.java
@@ -53,14 +53,14 @@ class DTOConverterTest {
     void shouldConvertFromKnownDTO() throws Exception {
         assertThat(DTOConverter
             .<BaseType, DTO>of(TestModules.FIRST_TYPE)
-            .convert(FIRST_DTO))
+            .toDomainObject(FIRST_DTO))
             .contains(FIRST);
     }
 
     @Test
     void shouldReturnEmptyWhenConvertingFromUnknownDTO() {
         assertThat(DTOConverter.of()
-            .convert(FIRST_DTO))
+            .toDomainObject(FIRST_DTO))
             .isEmpty();
     }
 
@@ -72,7 +72,7 @@ class DTOConverterTest {
                 TestModules.FIRST_TYPE,
                 TestModules.SECOND_TYPE);
 
-        assertThat(serializer.convert(domainObject))
+        assertThat(serializer.toDTO(domainObject))
             .hasValueSatisfying(result -> 
assertThat(result).isInstanceOf(dto.getClass()).isEqualToComparingFieldByField(dto));
     }
 
@@ -88,7 +88,7 @@ class DTOConverterTest {
                 TestModules.FIRST_TYPE,
                 TestModules.SECOND_TYPE);
 
-        assertThat(serializer.convert(dto))
+        assertThat(serializer.toDomainObject(dto))
             .hasValueSatisfying(result -> 
assertThat(result).isInstanceOf(domainObject.getClass()).isEqualToComparingFieldByField(domainObject));
     }
 
@@ -107,13 +107,13 @@ class DTOConverterTest {
     @Test
     void shouldConvertFromKnownDomainObject() throws Exception {
         assertThat(DTOConverter.<BaseType, DTO>of(TestModules.FIRST_TYPE)
-            .convert(FIRST))
+            .toDTO(FIRST))
             .hasValueSatisfying(result -> 
assertThat(result).isInstanceOf(FirstDTO.class).isEqualToComparingFieldByField(FIRST_DTO));
     }
 
     @Test
     void shouldReturnEmptyWhenConvertUnknownDomainObject() {
-        assertThat(DTOConverter.of().convert(FIRST))
+        assertThat(DTOConverter.of().toDTO(FIRST))
             .isEmpty();
     }
 }
diff --git a/json/src/test/java/org/apache/dto/FirstDTO.java 
b/json/src/test/java/org/apache/dto/FirstDTO.java
index b1bdf23..16c1041 100644
--- a/json/src/test/java/org/apache/dto/FirstDTO.java
+++ b/json/src/test/java/org/apache/dto/FirstDTO.java
@@ -72,6 +72,6 @@ public class FirstDTO implements DTO {
 
     @JsonIgnore
     public FirstDomainObject toDomainObject(DTOConverter<NestedType, DTO> 
converter) {
-        return new FirstDomainObject(id, ZonedDateTime.parse(time), payload, 
child.flatMap(converter::convert));
+        return new FirstDomainObject(id, ZonedDateTime.parse(time), payload, 
child.flatMap(converter::toDomainObject));
     }
 }
diff --git a/json/src/test/java/org/apache/dto/SecondDTO.java 
b/json/src/test/java/org/apache/dto/SecondDTO.java
index be66948..91204a8 100644
--- a/json/src/test/java/org/apache/dto/SecondDTO.java
+++ b/json/src/test/java/org/apache/dto/SecondDTO.java
@@ -65,6 +65,6 @@ public class SecondDTO implements DTO {
 
     @JsonIgnore
     public SecondDomainObject toDomainObject(DTOConverter<NestedType, DTO> 
converter) {
-        return new SecondDomainObject(UUID.fromString(id), payload, 
child.flatMap(converter::convert));
+        return new SecondDomainObject(UUID.fromString(id), payload, 
child.flatMap(converter::toDomainObject));
     }
 }
diff --git a/json/src/test/java/org/apache/dto/TestModules.java 
b/json/src/test/java/org/apache/dto/TestModules.java
index d7cb781..a8de0b3 100644
--- a/json/src/test/java/org/apache/dto/TestModules.java
+++ b/json/src/test/java/org/apache/dto/TestModules.java
@@ -55,7 +55,7 @@ public interface TestModules {
             domainObject.getId(),
             domainObject.getTime().toString(),
             domainObject.getPayload(),
-            domainObject.getChild().flatMap(NESTED_CONVERTERS::convert)))
+            domainObject.getChild().flatMap(NESTED_CONVERTERS::toDTO)))
         .typeName("first")
         .withFactory(TestModule::new);
 
@@ -67,7 +67,7 @@ public interface TestModules {
             typeName,
             domainObject.getId().toString(),
             domainObject.getPayload(),
-            domainObject.getChild().flatMap(NESTED_CONVERTERS::convert)))
+            domainObject.getChild().flatMap(NESTED_CONVERTERS::toDTO)))
         .typeName("second")
         .withFactory(TestModule::new);
 
diff --git 
a/mailbox/plugin/quota-mailing-cassandra/src/test/java/org/apache/james/mailbox/quota/cassandra/dto/DTOTest.java
 
b/mailbox/plugin/quota-mailing-cassandra/src/test/java/org/apache/james/mailbox/quota/cassandra/dto/DTOTest.java
index 394bf6f..3e3d824 100644
--- 
a/mailbox/plugin/quota-mailing-cassandra/src/test/java/org/apache/james/mailbox/quota/cassandra/dto/DTOTest.java
+++ 
b/mailbox/plugin/quota-mailing-cassandra/src/test/java/org/apache/james/mailbox/quota/cassandra/dto/DTOTest.java
@@ -44,6 +44,7 @@ import org.junit.jupiter.api.Test;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.jsontype.NamedType;
 import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
 
 class DTOTest {
@@ -104,6 +105,7 @@ class DTOTest {
         objectMapper = new ObjectMapper();
         objectMapper.registerModule(new Jdk8Module());
         objectMapper.setSerializationInclusion(JsonInclude.Include.NON_ABSENT);
+        objectMapper.registerSubtypes(new 
NamedType(QuotaThresholdChangedEventDTO.class, "quota-threshold-change"));
     }
 
     @Test
diff --git 
a/server/data/data-cassandra/src/test/java/org/apache/james/dlp/eventsourcing/cassandra/DTOTest.java
 
b/server/data/data-cassandra/src/test/java/org/apache/james/dlp/eventsourcing/cassandra/DTOTest.java
index 3357ba8..062b132 100644
--- 
a/server/data/data-cassandra/src/test/java/org/apache/james/dlp/eventsourcing/cassandra/DTOTest.java
+++ 
b/server/data/data-cassandra/src/test/java/org/apache/james/dlp/eventsourcing/cassandra/DTOTest.java
@@ -37,6 +37,7 @@ import org.junit.jupiter.api.Test;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.jsontype.NamedType;
 import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
 import com.google.common.collect.ImmutableList;
 
@@ -92,6 +93,9 @@ public class DTOTest {
         objectMapper = new ObjectMapper();
         objectMapper.registerModule(new Jdk8Module());
         objectMapper.setSerializationInclusion(JsonInclude.Include.NON_ABSENT);
+        objectMapper.registerSubtypes(
+            new NamedType(DLPConfigurationItemsRemovedDTO.class, 
"dlp-configuration-clear"),
+            new NamedType(DLPConfigurationItemAddedDTO.class, 
"dlp-configuration-store"));
     }
 
     @Test
diff --git 
a/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/filtering/DTOTest.java
 
b/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/filtering/DTOTest.java
index fbfddb9..a3e4d29 100644
--- 
a/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/filtering/DTOTest.java
+++ 
b/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/filtering/DTOTest.java
@@ -33,6 +33,8 @@ import org.apache.james.eventsourcing.EventId;
 import org.apache.james.jmap.api.filtering.impl.FilteringAggregateId;
 import org.apache.james.jmap.api.filtering.impl.RuleSetDefined;
 import org.apache.james.util.ClassLoaderUtils;
+
+import com.fasterxml.jackson.databind.jsontype.NamedType;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
@@ -68,6 +70,9 @@ public class DTOTest {
         objectMapper = new ObjectMapper();
         objectMapper.registerModule(new Jdk8Module());
         objectMapper.registerModule(new GuavaModule());
+        objectMapper.registerSubtypes(
+            new NamedType(FilteringRuleSetDefinedDTO.class, 
"filtering-rule-set-defined"));
+
     }
 
     @Test
diff --git 
a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/view/cassandra/configuration/DTOTest.java
 
b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/view/cassandra/configuration/DTOTest.java
index 4bf2658..be2c32a 100644
--- 
a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/view/cassandra/configuration/DTOTest.java
+++ 
b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/view/cassandra/configuration/DTOTest.java
@@ -26,6 +26,7 @@ import static org.assertj.core.api.Assertions.assertThat;
 
 import java.time.Duration;
 
+import com.fasterxml.jackson.databind.jsontype.NamedType;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
@@ -56,6 +57,8 @@ class DTOTest {
         objectMapper.registerModule(new Jdk8Module());
         objectMapper.registerModule(new JavaTimeModule());
         objectMapper.setSerializationInclusion(JsonInclude.Include.NON_ABSENT);
+        objectMapper.registerSubtypes(
+            new NamedType(ConfigurationChangedDTO.class, 
"cassandra-mail-queue-view-configuration"));
     }
 
     @Test
diff --git 
a/server/task/task-distributed/src/main/scala/org/apache/james/task/eventsourcing/distributed/TaskEventDTO.scala
 
b/server/task/task-distributed/src/main/scala/org/apache/james/task/eventsourcing/distributed/TaskEventDTO.scala
index 51761ad..ce4184c 100644
--- 
a/server/task/task-distributed/src/main/scala/org/apache/james/task/eventsourcing/distributed/TaskEventDTO.scala
+++ 
b/server/task/task-distributed/src/main/scala/org/apache/james/task/eventsourcing/distributed/TaskEventDTO.scala
@@ -91,7 +91,7 @@ case class CompletedDTO(@JsonProperty("type") typeName: 
String,
                         @JsonProperty("additionalInformation") 
getAdditionalInformation: Optional[AdditionalInformationDTO])
   extends TaskEventDTO(typeName, aggregateId, eventId) {
   def toDomainObject(additionalInformationConverter: 
AdditionalInformationConverter): Completed = {
-    val additionalInformation: 
Optional[TaskExecutionDetails.AdditionalInformation] = 
getAdditionalInformation.map(additionalInformationConverter.convert(_).orElseThrow())
+    val additionalInformation: 
Optional[TaskExecutionDetails.AdditionalInformation] = 
getAdditionalInformation.map(additionalInformationConverter.toDomainObject(_).orElseThrow())
     Completed(domainAggregateId, domainEventId, domainResult, 
additionalInformation.asScala)
   }
   private def domainResult: Task.Result = getResult match {
@@ -102,7 +102,7 @@ case class CompletedDTO(@JsonProperty("type") typeName: 
String,
 
 object CompletedDTO {
   def fromDomainObject(dtoConverter: AdditionalInformationConverter)(event: 
Completed, typeName: String): CompletedDTO = {
-    val additionalInformationDTO: Optional[AdditionalInformationDTO] = 
event.additionalInformation.asJava.map(dtoConverter.convert(_).orElseThrow())
+    val additionalInformationDTO: Optional[AdditionalInformationDTO] = 
event.additionalInformation.asJava.map(dtoConverter.toDTO(_).orElseThrow())
     CompletedDTO(typeName, event.aggregateId.taskId.asString(), 
event.eventId.serialize(), resultToString(event.result), 
additionalInformationDTO)
   }
 
@@ -120,14 +120,14 @@ case class FailedDTO(@JsonProperty("type") typeName: 
String,
                      @JsonProperty("exception") getException: Optional[String])
   extends TaskEventDTO(typeName, aggregateId, eventId) {
   def toDomainObject(additionalInformationConverter: 
AdditionalInformationConverter): Failed = {
-    val additionalInformation: 
Optional[TaskExecutionDetails.AdditionalInformation] = 
getAdditionalInformation.map(additionalInformationConverter.convert(_).orElseThrow())
+    val additionalInformation: 
Optional[TaskExecutionDetails.AdditionalInformation] = 
getAdditionalInformation.map(additionalInformationConverter.toDomainObject(_).orElseThrow())
     Failed(domainAggregateId, domainEventId, additionalInformation.asScala, 
getErrorMessage.asScala, getException.asScala)
   }
 }
 
 object FailedDTO {
   def fromDomainObject(dtoConverter: AdditionalInformationConverter)(event: 
Failed, typeName: String): FailedDTO = {
-    val additionalInformationDTO: Optional[AdditionalInformationDTO] = 
event.additionalInformation.asJava.map(dtoConverter.convert(_).orElseThrow())
+    val additionalInformationDTO: Optional[AdditionalInformationDTO] = 
event.additionalInformation.asJava.map(dtoConverter.toDTO(_).orElseThrow())
     FailedDTO(typeName, event.aggregateId.taskId.asString(), 
event.eventId.serialize(), additionalInformationDTO, event.errorMessage.asJava, 
event.exception.asJava)
   }
 }
@@ -138,14 +138,14 @@ case class CancelledDTO(@JsonProperty("type") typeName: 
String,
                         @JsonProperty("additionalInformation") 
getAdditionalInformation: Optional[AdditionalInformationDTO])
   extends TaskEventDTO(typeName, aggregateId, eventId) {
   def toDomainObject(additionalInformationConverter: 
AdditionalInformationConverter): Cancelled = {
-    val additionalInformation: 
Optional[TaskExecutionDetails.AdditionalInformation] = 
getAdditionalInformation.map(additionalInformationConverter.convert(_).orElseThrow())
+    val additionalInformation: 
Optional[TaskExecutionDetails.AdditionalInformation] = 
getAdditionalInformation.map(additionalInformationConverter.toDomainObject(_).orElseThrow())
     Cancelled(domainAggregateId, domainEventId, additionalInformation.asScala)
   }
 }
 
 object CancelledDTO {
   def fromDomainObject(additionalInformationConverter: 
AdditionalInformationConverter)(event: Cancelled, typeName: String): 
CancelledDTO = {
-    val additionalInformationDTO: Optional[AdditionalInformationDTO] = 
event.additionalInformation.asJava.map(additionalInformationConverter.convert(_).orElseThrow())
+    val additionalInformationDTO: Optional[AdditionalInformationDTO] = 
event.additionalInformation.asJava.map(additionalInformationConverter.toDTO(_).orElseThrow())
     CancelledDTO(typeName, event.aggregateId.taskId.asString(), 
event.eventId.serialize(), additionalInformationDTO)
   }
 }
@@ -156,7 +156,7 @@ case class 
AdditionalInformationUpdatedDTO(@JsonProperty("type") typeName: Strin
                      @JsonProperty("additionalInformation") 
getAdditionalInformation: AdditionalInformationDTO)
   extends TaskEventDTO(typeName, aggregateId, eventId) {
   def toDomainObject(additionalInformationConverter: 
AdditionalInformationConverter): AdditionalInformationUpdated = {
-    val additionalInformation = 
additionalInformationConverter.convert(getAdditionalInformation)
+    val additionalInformation = 
additionalInformationConverter.toDomainObject(getAdditionalInformation)
         .orElseThrow()
     AdditionalInformationUpdated(domainAggregateId, domainEventId, 
additionalInformation)
   }
@@ -164,7 +164,7 @@ case class 
AdditionalInformationUpdatedDTO(@JsonProperty("type") typeName: Strin
 
 object AdditionalInformationUpdatedDTO {
   def fromDomainObject(additionalInformationConverter: 
AdditionalInformationConverter)(event: AdditionalInformationUpdated, typeName: 
String): AdditionalInformationUpdatedDTO = {
-    val additionalInformationDTO = 
additionalInformationConverter.convert(event.additionalInformation)
+    val additionalInformationDTO = 
additionalInformationConverter.toDTO(event.additionalInformation)
         .orElseThrow()
     AdditionalInformationUpdatedDTO(typeName, 
event.aggregateId.taskId.asString(), event.eventId.serialize(), 
additionalInformationDTO)
   }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to