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 ro...@apache.org on 2016/12/15 16:12:56 UTC

[06/10] james-project git commit: MAILBOX-283 Serialize/deserialize messageId in Jackson

MAILBOX-283 Serialize/deserialize messageId in Jackson


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/ecb45d8b
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/ecb45d8b
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/ecb45d8b

Branch: refs/heads/master
Commit: ecb45d8bd4012b88cbb498ae66cf08f66b5f4eb3
Parents: 6b9e90a
Author: Antoine Duprat <ad...@apache.org>
Authored: Mon Dec 12 14:46:34 2016 +0100
Committer: Raphael Ouazana <ra...@linagora.com>
Committed: Thu Dec 15 17:11:27 2016 +0100

----------------------------------------------------------------------
 ...istributedMailboxDelegatingListenerTest.java | 10 +++--
 .../store/json/JacksonEventSerializer.java      | 43 ++++++++++++++++----
 .../mailbox/store/json/JsonEventSerializer.java |  5 ++-
 .../store/json/MessagePackEventSerializer.java  |  5 ++-
 .../dto/MessageMetaDataDataTransferObject.java  |  9 ++--
 ...elegatingMailboxListenerIntegrationTest.java | 10 +++--
 .../mailbox/store/json/EventSerializerTest.java | 14 +++++--
 .../store/json/JsonEventSerializerTest.java     |  4 +-
 .../json/MessagePackEventSerializerTest.java    |  4 +-
 9 files changed, 77 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb45d8b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/event/distributed/CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/event/distributed/CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/event/distributed/CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest.java
index b00e8b0..bda23c5 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/event/distributed/CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/event/distributed/CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest.java
@@ -30,6 +30,7 @@ import org.apache.james.mailbox.cassandra.modules.CassandraRegistrationModule;
 import org.apache.james.mailbox.mock.MockMailboxSession;
 import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.mailbox.model.TestId;
+import org.apache.james.mailbox.model.TestMessageId;
 import org.apache.james.mailbox.store.TestIdDeserializer;
 import org.apache.james.mailbox.store.event.EventFactory;
 import org.apache.james.mailbox.store.event.distributed.DistantMailboxPathRegister;
@@ -78,7 +79,8 @@ public class CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest {
             SCHEDULER_PERIOD_IN_S);
         registeredDelegatingMailboxListener1 = new RegisteredDelegatingMailboxListener(
             new MessagePackEventSerializer(
-                new EventConverter(new MailboxConverter(new TestIdDeserializer()))
+                new EventConverter(new MailboxConverter(new TestIdDeserializer())),
+                new TestMessageId.Factory()
             ),
             publisherReceiver,
             publisherReceiver,
@@ -91,7 +93,8 @@ public class CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest {
             SCHEDULER_PERIOD_IN_S);
         registeredDelegatingMailboxListener2 = new RegisteredDelegatingMailboxListener(
             new MessagePackEventSerializer(
-                new EventConverter(new MailboxConverter(new TestIdDeserializer()))
+                new EventConverter(new MailboxConverter(new TestIdDeserializer())),
+                new TestMessageId.Factory()
             ),
             publisherReceiver,
             publisherReceiver,
@@ -104,7 +107,8 @@ public class CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest {
             SCHEDULER_PERIOD_IN_S);
         registeredDelegatingMailboxListener3 = new RegisteredDelegatingMailboxListener(
             new MessagePackEventSerializer(
-                new EventConverter(new MailboxConverter(new TestIdDeserializer()))
+                new EventConverter(new MailboxConverter(new TestIdDeserializer())),
+                new TestMessageId.Factory()
             ),
             publisherReceiver,
             publisherReceiver,

http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb45d8b/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/JacksonEventSerializer.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/JacksonEventSerializer.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/JacksonEventSerializer.java
index 17e4d44..c594ce1 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/JacksonEventSerializer.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/JacksonEventSerializer.java
@@ -23,6 +23,8 @@ import java.io.IOException;
 
 import org.apache.james.mailbox.MailboxListener;
 import org.apache.james.mailbox.MessageUid;
+import org.apache.james.mailbox.model.MessageId;
+import org.apache.james.mailbox.model.MessageId.Factory;
 import org.apache.james.mailbox.store.event.EventSerializer;
 import org.apache.james.mailbox.store.json.event.EventConverter;
 import org.apache.james.mailbox.store.json.event.dto.EventDataTransferObject;
@@ -57,12 +59,14 @@ public class JacksonEventSerializer implements EventSerializer {
         return eventConverter.retrieveEvent(eventDataTransferObject);
     }
 
-    public static ObjectMapper configureObjectMapper(ObjectMapper objectMapper) {
+    public static ObjectMapper configureObjectMapper(ObjectMapper objectMapper, MessageId.Factory messageIdFactory) {
         SimpleModule module = new SimpleModule();
         module.addDeserializer(MessageUid.class, new MessageUidDeserializer());
         module.addKeyDeserializer(MessageUid.class, new MessageUidKeyDeserializer());
         module.addSerializer(MessageUid.class, new MessageUidSerializer());
         module.addKeySerializer(MessageUid.class, new MessageUidKeySerializer());
+        module.addSerializer(MessageId.class, new MessageIdSerializer());
+        module.addDeserializer(MessageId.class, new MessageIdDeserializer(messageIdFactory));
         objectMapper.registerModule(module);
         return objectMapper;
     }
@@ -70,8 +74,8 @@ public class JacksonEventSerializer implements EventSerializer {
     public static class MessageUidDeserializer extends JsonDeserializer<MessageUid> {
 
         @Override
-        public MessageUid deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException {
-            return MessageUid.of(Long.parseLong(p.getValueAsString()));
+        public MessageUid deserialize(JsonParser parser, DeserializationContext context) throws IOException, JsonProcessingException {
+            return MessageUid.of(Long.parseLong(parser.getValueAsString()));
         }
         
     }
@@ -79,8 +83,8 @@ public class JacksonEventSerializer implements EventSerializer {
     public static class MessageUidSerializer extends JsonSerializer<MessageUid> {
 
         @Override
-        public void serialize(MessageUid value, JsonGenerator gen, SerializerProvider serializers) throws IOException, JsonProcessingException {
-            gen.writeString(String.valueOf(value.asLong()));
+        public void serialize(MessageUid value, JsonGenerator generator, SerializerProvider serializers) throws IOException, JsonProcessingException {
+            generator.writeString(String.valueOf(value.asLong()));
         }
         
     }
@@ -88,7 +92,7 @@ public class JacksonEventSerializer implements EventSerializer {
     public static class MessageUidKeyDeserializer extends KeyDeserializer {
 
         @Override
-        public Object deserializeKey(String key, DeserializationContext ctxt) throws IOException, JsonProcessingException {
+        public Object deserializeKey(String key, DeserializationContext context) throws IOException, JsonProcessingException {
             return MessageUid.of(Long.parseLong(key));
         }
         
@@ -97,8 +101,31 @@ public class JacksonEventSerializer implements EventSerializer {
     public static class MessageUidKeySerializer extends JsonSerializer<MessageUid> {
 
         @Override
-        public void serialize(MessageUid value, JsonGenerator gen, SerializerProvider serializers) throws IOException, JsonProcessingException {
-            gen.writeFieldName(String.valueOf(value.asLong()));
+        public void serialize(MessageUid value, JsonGenerator generator, SerializerProvider serializers) throws IOException, JsonProcessingException {
+            generator.writeFieldName(String.valueOf(value.asLong()));
+        }
+        
+    }
+
+    public static class MessageIdSerializer extends JsonSerializer<MessageId> {
+
+        @Override
+        public void serialize(MessageId value, JsonGenerator generator, SerializerProvider serializers) throws IOException, JsonProcessingException {
+            generator.writeString(String.valueOf(value.serialize()));
+        }
+        
+    }
+
+    public static class MessageIdDeserializer extends JsonDeserializer<MessageId> {
+        private final Factory factory;
+
+        public MessageIdDeserializer(MessageId.Factory factory) {
+            this.factory = factory;
+        }
+
+        @Override
+        public MessageId deserialize(JsonParser p, DeserializationContext context) throws IOException, JsonProcessingException {
+            return factory.fromString(p.getValueAsString());
         }
         
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb45d8b/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/JsonEventSerializer.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/JsonEventSerializer.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/JsonEventSerializer.java
index f932198..5ec4ff4 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/JsonEventSerializer.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/JsonEventSerializer.java
@@ -19,13 +19,14 @@
 
 package org.apache.james.mailbox.store.json;
 
+import org.apache.james.mailbox.model.MessageId;
 import org.apache.james.mailbox.store.json.event.EventConverter;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 
 public class JsonEventSerializer extends JacksonEventSerializer {
 
-    public JsonEventSerializer(EventConverter eventConverter) {
-        super(eventConverter, configureObjectMapper(new ObjectMapper()));
+    public JsonEventSerializer(EventConverter eventConverter, MessageId.Factory messageIdFactory) {
+        super(eventConverter, configureObjectMapper(new ObjectMapper(), messageIdFactory));
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb45d8b/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/MessagePackEventSerializer.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/MessagePackEventSerializer.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/MessagePackEventSerializer.java
index 0c9cf78..6f09e47 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/MessagePackEventSerializer.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/MessagePackEventSerializer.java
@@ -19,6 +19,7 @@
 
 package org.apache.james.mailbox.store.json;
 
+import org.apache.james.mailbox.model.MessageId;
 import org.apache.james.mailbox.store.json.event.EventConverter;
 import org.msgpack.jackson.dataformat.MessagePackFactory;
 
@@ -28,7 +29,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
  * MailboxMessage Pack ( http://msgpack.org/ ) Event Serializer
  */
 public class MessagePackEventSerializer extends JacksonEventSerializer {
-    public MessagePackEventSerializer(EventConverter eventConverter) {
-        super(eventConverter, configureObjectMapper(new ObjectMapper(new MessagePackFactory())));
+    public MessagePackEventSerializer(EventConverter eventConverter, MessageId.Factory messageIdFactory) {
+        super(eventConverter, configureObjectMapper(new ObjectMapper(new MessagePackFactory()), messageIdFactory));
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb45d8b/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MessageMetaDataDataTransferObject.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MessageMetaDataDataTransferObject.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MessageMetaDataDataTransferObject.java
index 94473ba..299f906 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MessageMetaDataDataTransferObject.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MessageMetaDataDataTransferObject.java
@@ -24,9 +24,9 @@ import java.text.SimpleDateFormat;
 import java.util.Date;
 
 import org.apache.james.mailbox.MessageUid;
+import org.apache.james.mailbox.model.MessageId;
 import org.apache.james.mailbox.model.MessageMetaData;
 import org.apache.james.mailbox.store.SimpleMessageMetaData;
-import org.apache.james.mailbox.store.mail.model.DefaultMessageId;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -44,6 +44,8 @@ public class MessageMetaDataDataTransferObject {
     private long size;
     @JsonProperty()
     private String date;
+    @JsonProperty
+    private MessageId messageId;
 
     private static final Logger LOG = LoggerFactory.getLogger(MessageMetaDataDataTransferObject.class);
 
@@ -81,15 +83,16 @@ public class MessageMetaDataDataTransferObject {
         this.flags = new FlagsDataTransferObject(metadata.getFlags());
         this.size = metadata.getSize();
         this.date = format(metadata.getInternalDate());
+        this.messageId = metadata.getMessageId();
     }
 
     @JsonIgnore
     public SimpleMessageMetaData getMetadata() {
         try {
-            return new SimpleMessageMetaData(MessageUid.of(uid), modseq, flags.getFlags(), size, parse(date), new DefaultMessageId()); //FIXME
+            return new SimpleMessageMetaData(MessageUid.of(uid), modseq, flags.getFlags(), size, parse(date), messageId);
         } catch(ParseException parseException) {
             LOG.error("Parse exception while parsing date while deserializing metadata upon event serialization. Using nowadays date instead.");
-            return new SimpleMessageMetaData(MessageUid.of(uid), modseq, flags.getFlags(), size, new Date(), new DefaultMessageId()); //FIXME
+            return new SimpleMessageMetaData(MessageUid.of(uid), modseq, flags.getFlags(), size, new Date(), messageId);
         }
 
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb45d8b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/distributed/BroadcastDelegatingMailboxListenerIntegrationTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/distributed/BroadcastDelegatingMailboxListenerIntegrationTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/distributed/BroadcastDelegatingMailboxListenerIntegrationTest.java
index 1a60a80..daf5b2a 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/distributed/BroadcastDelegatingMailboxListenerIntegrationTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/distributed/BroadcastDelegatingMailboxListenerIntegrationTest.java
@@ -30,6 +30,7 @@ import org.apache.james.mailbox.mock.MockMailboxSession;
 import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.mailbox.model.MessageMetaData;
 import org.apache.james.mailbox.model.TestId;
+import org.apache.james.mailbox.model.TestMessageId;
 import org.apache.james.mailbox.store.TestIdDeserializer;
 import org.apache.james.mailbox.store.event.EventFactory;
 import org.apache.james.mailbox.store.json.MessagePackEventSerializer;
@@ -70,19 +71,22 @@ public class BroadcastDelegatingMailboxListenerIntegrationTest {
         broadcastDelegatingMailboxListener1 = new BroadcastDelegatingMailboxListener(publisherReceiver,
             publisherReceiver,
             new MessagePackEventSerializer(
-                new EventConverter(new MailboxConverter(new TestIdDeserializer()))
+                new EventConverter(new MailboxConverter(new TestIdDeserializer())),
+                new TestMessageId.Factory()
             ),
             TOPIC);
         broadcastDelegatingMailboxListener2 = new BroadcastDelegatingMailboxListener(publisherReceiver,
             publisherReceiver,
             new MessagePackEventSerializer(
-                new EventConverter(new MailboxConverter(new TestIdDeserializer()))
+                new EventConverter(new MailboxConverter(new TestIdDeserializer())),
+                new TestMessageId.Factory()
             ),
             TOPIC);
         broadcastDelegatingMailboxListener3 = new BroadcastDelegatingMailboxListener(publisherReceiver,
             publisherReceiver,
             new MessagePackEventSerializer(
-                new EventConverter(new MailboxConverter(new TestIdDeserializer()))
+                new EventConverter(new MailboxConverter(new TestIdDeserializer())),
+                new TestMessageId.Factory()
             ),
             TOPIC);
         eventCollectorMailbox1 = new EventCollector(MailboxListener.ListenerType.MAILBOX);

http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb45d8b/mailbox/store/src/test/java/org/apache/james/mailbox/store/json/EventSerializerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/json/EventSerializerTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/json/EventSerializerTest.java
index eeae749..6d92eff 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/json/EventSerializerTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/json/EventSerializerTest.java
@@ -30,13 +30,14 @@ import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.MessageUid;
 import org.apache.james.mailbox.mock.MockMailboxSession;
 import org.apache.james.mailbox.model.MailboxPath;
+import org.apache.james.mailbox.model.MessageId;
 import org.apache.james.mailbox.model.MessageMetaData;
 import org.apache.james.mailbox.model.TestId;
+import org.apache.james.mailbox.model.TestMessageId;
 import org.apache.james.mailbox.model.UpdatedFlags;
 import org.apache.james.mailbox.store.SimpleMessageMetaData;
 import org.apache.james.mailbox.store.event.EventFactory;
 import org.apache.james.mailbox.store.event.EventSerializer;
-import org.apache.james.mailbox.store.mail.model.DefaultMessageId;
 import org.apache.james.mailbox.store.mail.model.impl.SimpleMailbox;
 import org.junit.Before;
 import org.junit.Test;
@@ -50,7 +51,8 @@ public abstract class EventSerializerTest {
     public static final UpdatedFlags UPDATED_FLAGS = new UpdatedFlags(UID, MOD_SEQ, new Flags(), new Flags(Flags.Flag.SEEN));
     public static final Flags FLAGS = new Flags();
     public static final long SIZE = 45L;
-    public static final SimpleMessageMetaData MESSAGE_META_DATA = new SimpleMessageMetaData(UID, MOD_SEQ, FLAGS, SIZE, null, new DefaultMessageId());
+    private static final MessageId MESSAGE_ID = new TestMessageId.Factory().generate();
+    public static final SimpleMessageMetaData MESSAGE_META_DATA = new SimpleMessageMetaData(UID, MOD_SEQ, FLAGS, SIZE, null, MESSAGE_ID);
     public static final MailboxPath FROM = new MailboxPath("namespace", "user", "name");
     private EventSerializer serializer;
     private EventFactory eventFactory;
@@ -79,7 +81,9 @@ public abstract class EventSerializerTest {
         assertThat(deserializedEvent.getSession().getSessionId()).isEqualTo(event.getSession().getSessionId());
         assertThat(deserializedEvent).isInstanceOf(MailboxListener.Added.class);
         assertThat(((MailboxListener.Added)deserializedEvent).getUids()).containsOnly(UID);
-        assertThat(((MailboxListener.Added)deserializedEvent).getMetaData(UID)).isEqualTo(MESSAGE_META_DATA);
+        MessageMetaData messageMetaData = ((MailboxListener.Added)deserializedEvent).getMetaData(UID);
+        assertThat(messageMetaData).isEqualTo(MESSAGE_META_DATA);
+        assertThat(messageMetaData.getMessageId()).isEqualTo(MESSAGE_ID);
     }
 
     @Test
@@ -93,7 +97,9 @@ public abstract class EventSerializerTest {
         assertThat(deserializedEvent.getSession().getSessionId()).isEqualTo(event.getSession().getSessionId());
         assertThat(deserializedEvent).isInstanceOf(MailboxListener.Expunged.class);
         assertThat(((MailboxListener.Expunged)deserializedEvent).getUids()).containsOnly(UID);
-        assertThat(((MailboxListener.Expunged)deserializedEvent).getMetaData(UID)).isEqualTo(MESSAGE_META_DATA);
+        MessageMetaData messageMetaData = ((MailboxListener.Expunged)deserializedEvent).getMetaData(UID);
+        assertThat(messageMetaData).isEqualTo(MESSAGE_META_DATA);
+        assertThat(messageMetaData.getMessageId()).isEqualTo(MESSAGE_ID);
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb45d8b/mailbox/store/src/test/java/org/apache/james/mailbox/store/json/JsonEventSerializerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/json/JsonEventSerializerTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/json/JsonEventSerializerTest.java
index a0c37be..ac7a6c9 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/json/JsonEventSerializerTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/json/JsonEventSerializerTest.java
@@ -19,6 +19,7 @@
 
 package org.apache.james.mailbox.store.json;
 
+import org.apache.james.mailbox.model.TestMessageId;
 import org.apache.james.mailbox.store.TestIdDeserializer;
 import org.apache.james.mailbox.store.event.EventSerializer;
 import org.apache.james.mailbox.store.json.event.EventConverter;
@@ -30,6 +31,7 @@ public class JsonEventSerializerTest extends EventSerializerTest {
     EventSerializer createSerializer() {
         return new JsonEventSerializer(
             new EventConverter(
-                new MailboxConverter(new TestIdDeserializer())));
+                new MailboxConverter(new TestIdDeserializer())),
+            new TestMessageId.Factory());
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb45d8b/mailbox/store/src/test/java/org/apache/james/mailbox/store/json/MessagePackEventSerializerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/json/MessagePackEventSerializerTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/json/MessagePackEventSerializerTest.java
index 5da40ea..5273005 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/json/MessagePackEventSerializerTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/json/MessagePackEventSerializerTest.java
@@ -19,6 +19,7 @@
 
 package org.apache.james.mailbox.store.json;
 
+import org.apache.james.mailbox.model.TestMessageId;
 import org.apache.james.mailbox.store.TestIdDeserializer;
 import org.apache.james.mailbox.store.event.EventSerializer;
 import org.apache.james.mailbox.store.json.event.EventConverter;
@@ -30,6 +31,7 @@ public class MessagePackEventSerializerTest extends EventSerializerTest {
     EventSerializer createSerializer() {
         return new MessagePackEventSerializer(
             new EventConverter(
-                new MailboxConverter(new TestIdDeserializer())));
+                new MailboxConverter(new TestIdDeserializer())),
+            new TestMessageId.Factory());
     }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org