JAMES-2527 don't require new classes for creating DTO converters
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/a999bd60 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/a999bd60 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/a999bd60 Branch: refs/heads/master Commit: a999bd6043745bd8fdd1c42b748fb5fe51a3e948 Parents: 8659a18 Author: Matthieu Baechler <matth...@apache.org> Authored: Thu Aug 23 11:11:24 2018 +0200 Committer: Matthieu Baechler <matth...@apache.org> Committed: Fri Aug 24 11:19:26 2018 +0200 ---------------------------------------------------------------------- .../cassandra/dto/EventDTOModule.java | 78 ++++++++++++++++++-- .../cassandra/CassandraEventStoreExtension.java | 4 +- .../cassandra/JsonEventSerializerTest.java | 15 ++-- .../cassandra/dto/OtherTestEventDTOModule.java | 55 -------------- .../cassandra/dto/TestEventDTOModule.java | 56 -------------- .../cassandra/dto/TestEventDTOModules.java | 47 ++++++++++++ .../cassandra/dto/QuotaEventDTOModules.java | 34 +++++++++ .../QuotaThresholdChangedEventDTOModule.java | 54 -------------- .../mailbox/quota/cassandra/dto/DTOTest.java | 18 ++--- .../listeners/CassandraEventStoreExtension.java | 5 +- .../CassandraDLPConfigurationStoreModule.java | 7 +- .../mailbox/CassandraQuotaMailingModule.java | 4 +- .../DLPConfigurationItemAddedDTOModule.java | 53 ------------- .../DLPConfigurationItemsRemovedDTOModule.java | 53 ------------- .../cassandra/DLPConfigurationModules.java | 43 +++++++++++ ...tSourcingDLPConfigurationStoreExtension.java | 4 +- .../FilteringRuleSetDefineDTOModule.java | 52 ------------- .../FilteringRuleSetDefineDTOModules.java | 34 +++++++++ .../filtering/FilteringRuleSetDefinedDTO.java | 2 +- .../filtering/CassandraFilteringExtension.java | 3 +- 20 files changed, 261 insertions(+), 360 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/a999bd60/event-sourcing/event-store-cassandra/src/main/java/org/apache/james/eventsourcing/eventstore/cassandra/dto/EventDTOModule.java ---------------------------------------------------------------------- diff --git a/event-sourcing/event-store-cassandra/src/main/java/org/apache/james/eventsourcing/eventstore/cassandra/dto/EventDTOModule.java b/event-sourcing/event-store-cassandra/src/main/java/org/apache/james/eventsourcing/eventstore/cassandra/dto/EventDTOModule.java index feaa5ef..ba29e91 100644 --- a/event-sourcing/event-store-cassandra/src/main/java/org/apache/james/eventsourcing/eventstore/cassandra/dto/EventDTOModule.java +++ b/event-sourcing/event-store-cassandra/src/main/java/org/apache/james/eventsourcing/eventstore/cassandra/dto/EventDTOModule.java @@ -21,12 +21,80 @@ package org.apache.james.eventsourcing.eventstore.cassandra.dto; import org.apache.james.eventsourcing.Event; -public interface EventDTOModule { - String getType(); +public class EventDTOModule<T extends Event, U extends EventDTO> { - Class<? extends EventDTO> getDTOClass(); + public interface EventDTOConverter<T extends Event, U extends EventDTO> { + U convert(T event, String typeName); + } - Class<? extends Event> getEventClass(); + public static <U extends Event> Builder<U> forEvent(Class<U> eventType) { + return new Builder<>(eventType); + } - EventDTO toDTO(Event event); + public static class Builder<T extends Event> { + + private final Class<T> eventType; + + private Builder(Class<T> eventType) { + this.eventType = eventType; + } + + public <U extends EventDTO> RequireConversionFunctionBuilder<U> convertToDTO(Class<U> dtoType) { + return new RequireConversionFunctionBuilder<>(dtoType); + } + + public class RequireConversionFunctionBuilder<U extends EventDTO> { + + private final Class<U> dtoType; + + private RequireConversionFunctionBuilder(Class<U> dtoType) { + this.dtoType = dtoType; + } + + public RequireTypeNameBuilder convertWith(EventDTOConverter<T, U> converter) { + return new RequireTypeNameBuilder(converter); + } + + public class RequireTypeNameBuilder { + private final EventDTOConverter<T, U> converter; + + private RequireTypeNameBuilder(EventDTOConverter<T, U> converter) { + this.converter = converter; + } + + public EventDTOModule<T, U> typeName(String typeName) { + return new EventDTOModule<>(converter, eventType, dtoType, typeName); + } + } + } + + } + + private final EventDTOConverter<T, U> converter; + private final Class<T> eventType; + private final Class<U> dtoType; + private final String typeName; + + private EventDTOModule(EventDTOConverter<T, U> converter, Class<T> eventType, Class<U> dtoType, String typeName) { + this.converter = converter; + this.eventType = eventType; + this.dtoType = dtoType; + this.typeName = typeName; + } + + public String getType() { + return typeName; + } + + public Class<U> getDTOClass() { + return dtoType; + } + + public Class<T> getEventClass() { + return eventType; + } + + public EventDTO toDTO(T event) { + return converter.convert(event, typeName); + } } http://git-wip-us.apache.org/repos/asf/james-project/blob/a999bd60/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/CassandraEventStoreExtension.java ---------------------------------------------------------------------- diff --git a/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/CassandraEventStoreExtension.java b/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/CassandraEventStoreExtension.java index 73754a9..b913ef8 100644 --- a/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/CassandraEventStoreExtension.java +++ b/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/CassandraEventStoreExtension.java @@ -19,12 +19,12 @@ package org.apache.james.eventsourcing.eventstore.cassandra; -import org.apache.james.eventsourcing.eventstore.cassandra.dto.TestEventDTOModule; +import org.apache.james.eventsourcing.eventstore.cassandra.dto.TestEventDTOModules; import com.google.common.collect.ImmutableSet; public class CassandraEventStoreExtension extends CassandraGenericEventStoreExtension { public CassandraEventStoreExtension() { - super(ImmutableSet.of(new TestEventDTOModule())); + super(ImmutableSet.of(TestEventDTOModules.TEST_TYPE)); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/a999bd60/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/JsonEventSerializerTest.java ---------------------------------------------------------------------- diff --git a/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/JsonEventSerializerTest.java b/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/JsonEventSerializerTest.java index eadb69e..bfa669f 100644 --- a/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/JsonEventSerializerTest.java +++ b/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/JsonEventSerializerTest.java @@ -27,8 +27,7 @@ import org.apache.james.eventsourcing.EventId; import org.apache.james.eventsourcing.TestAggregateId; import org.apache.james.eventsourcing.TestEvent; import org.apache.james.eventsourcing.eventstore.cassandra.dto.OtherEvent; -import org.apache.james.eventsourcing.eventstore.cassandra.dto.OtherTestEventDTOModule; -import org.apache.james.eventsourcing.eventstore.cassandra.dto.TestEventDTOModule; +import org.apache.james.eventsourcing.eventstore.cassandra.dto.TestEventDTOModules; import org.junit.jupiter.api.Test; class JsonEventSerializerTest { @@ -43,7 +42,7 @@ class JsonEventSerializerTest { @Test void shouldDeserializeKnownEvent() throws Exception { - assertThat(new JsonEventSerializer(new TestEventDTOModule()) + assertThat(new JsonEventSerializer(TestEventDTOModules.TEST_TYPE) .deserialize(TEST_EVENT_JSON)) .isEqualTo(TEST_EVENT); } @@ -58,8 +57,8 @@ class JsonEventSerializerTest { @Test void serializeShouldHandleAllKnownEvents() throws Exception { JsonEventSerializer jsonEventSerializer = new JsonEventSerializer( - new TestEventDTOModule(), - new OtherTestEventDTOModule()); + TestEventDTOModules.TEST_TYPE, + TestEventDTOModules.OTHER_TEST_TYPE); assertThatJson( jsonEventSerializer.serialize(OTHER_EVENT)) @@ -73,8 +72,8 @@ class JsonEventSerializerTest { @Test void deserializeShouldHandleAllKnownEvents() throws Exception { JsonEventSerializer jsonEventSerializer = new JsonEventSerializer( - new TestEventDTOModule(), - new OtherTestEventDTOModule()); + TestEventDTOModules.TEST_TYPE, + TestEventDTOModules.OTHER_TEST_TYPE); assertThatJson( jsonEventSerializer.deserialize(OTHER_EVENT_JSON)) @@ -87,7 +86,7 @@ class JsonEventSerializerTest { @Test void shouldSerializeKnownEvent() throws Exception { - assertThatJson(new JsonEventSerializer(new TestEventDTOModule()) + assertThatJson(new JsonEventSerializer(TestEventDTOModules.TEST_TYPE) .serialize(TEST_EVENT)) .isEqualTo(TEST_EVENT_JSON); } http://git-wip-us.apache.org/repos/asf/james-project/blob/a999bd60/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/dto/OtherTestEventDTOModule.java ---------------------------------------------------------------------- diff --git a/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/dto/OtherTestEventDTOModule.java b/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/dto/OtherTestEventDTOModule.java deleted file mode 100644 index d025add..0000000 --- a/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/dto/OtherTestEventDTOModule.java +++ /dev/null @@ -1,55 +0,0 @@ -/**************************************************************** - * Licensed to the Apache Software Foundation (ASF) under one * - * or more contributor license agreements. See the NOTICE file * - * distributed with this work for additional information * - * regarding copyright ownership. The ASF licenses this file * - * to you under the Apache License, Version 2.0 (the * - * "License"); you may not use this file except in compliance * - * with the License. You may obtain a copy of the License at * - * * - * http://www.apache.org/licenses/LICENSE-2.0 * - * * - * Unless required by applicable law or agreed to in writing, * - * software distributed under the License is distributed on an * - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * - * KIND, either express or implied. See the License for the * - * specific language governing permissions and limitations * - * under the License. * - ****************************************************************/ - -package org.apache.james.eventsourcing.eventstore.cassandra.dto; - -import org.apache.james.eventsourcing.Event; -import org.testcontainers.shaded.com.google.common.base.Preconditions; - -public class OtherTestEventDTOModule implements EventDTOModule { - - public static final String OTHER_TYPE = "other-type"; - - @Override - public String getType() { - return OTHER_TYPE; - } - - @Override - public Class<? extends EventDTO> getDTOClass() { - return OtherTestEventDTO.class; - } - - @Override - public Class<? extends Event> getEventClass() { - return OtherEvent.class; - } - - @Override - public EventDTO toDTO(Event event) { - Preconditions.checkArgument(event instanceof OtherEvent); - OtherEvent otherEvent = (OtherEvent) event; - - return new OtherTestEventDTO( - OTHER_TYPE, - otherEvent.getPayload(), - otherEvent.eventId().serialize(), - otherEvent.getAggregateId().getId()); - } -} http://git-wip-us.apache.org/repos/asf/james-project/blob/a999bd60/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/dto/TestEventDTOModule.java ---------------------------------------------------------------------- diff --git a/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/dto/TestEventDTOModule.java b/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/dto/TestEventDTOModule.java deleted file mode 100644 index f0613ee..0000000 --- a/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/dto/TestEventDTOModule.java +++ /dev/null @@ -1,56 +0,0 @@ -/**************************************************************** - * Licensed to the Apache Software Foundation (ASF) under one * - * or more contributor license agreements. See the NOTICE file * - * distributed with this work for additional information * - * regarding copyright ownership. The ASF licenses this file * - * to you under the Apache License, Version 2.0 (the * - * "License"); you may not use this file except in compliance * - * with the License. You may obtain a copy of the License at * - * * - * http://www.apache.org/licenses/LICENSE-2.0 * - * * - * Unless required by applicable law or agreed to in writing, * - * software distributed under the License is distributed on an * - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * - * KIND, either express or implied. See the License for the * - * specific language governing permissions and limitations * - * under the License. * - ****************************************************************/ - -package org.apache.james.eventsourcing.eventstore.cassandra.dto; - -import org.apache.james.eventsourcing.Event; -import org.apache.james.eventsourcing.TestEvent; -import org.testcontainers.shaded.com.google.common.base.Preconditions; - -public class TestEventDTOModule implements EventDTOModule { - - public static final String TEST_TYPE = "TestType"; - - @Override - public String getType() { - return TEST_TYPE; - } - - @Override - public Class<? extends EventDTO> getDTOClass() { - return TestEventDTO.class; - } - - @Override - public Class<? extends Event> getEventClass() { - return TestEvent.class; - } - - @Override - public EventDTO toDTO(Event event) { - Preconditions.checkArgument(event instanceof TestEvent); - - TestEvent testEvent = (TestEvent) event; - return new TestEventDTO( - TEST_TYPE, - testEvent.getData(), - testEvent.eventId().serialize(), - testEvent.getAggregateId().getId()); - } -} http://git-wip-us.apache.org/repos/asf/james-project/blob/a999bd60/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/dto/TestEventDTOModules.java ---------------------------------------------------------------------- diff --git a/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/dto/TestEventDTOModules.java b/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/dto/TestEventDTOModules.java new file mode 100644 index 0000000..1040380 --- /dev/null +++ b/event-sourcing/event-store-cassandra/src/test/java/org/apache/james/eventsourcing/eventstore/cassandra/dto/TestEventDTOModules.java @@ -0,0 +1,47 @@ +/**************************************************************** + * Licensed to the Apache Software Foundation (ASF) under one * + * or more contributor license agreements. See the NOTICE file * + * distributed with this work for additional information * + * regarding copyright ownership. The ASF licenses this file * + * to you under the Apache License, Version 2.0 (the * + * "License"); you may not use this file except in compliance * + * with the License. You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, * + * software distributed under the License is distributed on an * + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * + * KIND, either express or implied. See the License for the * + * specific language governing permissions and limitations * + * under the License. * + ****************************************************************/ + +package org.apache.james.eventsourcing.eventstore.cassandra.dto; + +import org.apache.james.eventsourcing.TestEvent; + +public interface TestEventDTOModules { + + EventDTOModule<TestEvent, TestEventDTO> TEST_TYPE = + EventDTOModule + .forEvent(TestEvent.class) + .convertToDTO(TestEventDTO.class) + .convertWith((event, typeName) -> new TestEventDTO( + typeName, + event.getData(), + event.eventId().serialize(), + event.getAggregateId().getId())) + .typeName("TestType"); + + EventDTOModule<OtherEvent, OtherTestEventDTO> OTHER_TEST_TYPE = + EventDTOModule + .forEvent(OtherEvent.class) + .convertToDTO(OtherTestEventDTO.class) + .convertWith(((event, typeName) -> new OtherTestEventDTO( + typeName, + event.getPayload(), + event.eventId().serialize(), + event.getAggregateId().getId()))) + .typeName("other-type"); +} http://git-wip-us.apache.org/repos/asf/james-project/blob/a999bd60/mailbox/plugin/quota-mailing-cassandra/src/main/java/org/apache/james/mailbox/quota/cassandra/dto/QuotaEventDTOModules.java ---------------------------------------------------------------------- diff --git a/mailbox/plugin/quota-mailing-cassandra/src/main/java/org/apache/james/mailbox/quota/cassandra/dto/QuotaEventDTOModules.java b/mailbox/plugin/quota-mailing-cassandra/src/main/java/org/apache/james/mailbox/quota/cassandra/dto/QuotaEventDTOModules.java new file mode 100644 index 0000000..1697d5e --- /dev/null +++ b/mailbox/plugin/quota-mailing-cassandra/src/main/java/org/apache/james/mailbox/quota/cassandra/dto/QuotaEventDTOModules.java @@ -0,0 +1,34 @@ +/**************************************************************** + * Licensed to the Apache Software Foundation (ASF) under one * + * or more contributor license agreements. See the NOTICE file * + * distributed with this work for additional information * + * regarding copyright ownership. The ASF licenses this file * + * to you under the Apache License, Version 2.0 (the * + * "License"); you may not use this file except in compliance * + * with the License. You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, * + * software distributed under the License is distributed on an * + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * + * KIND, either express or implied. See the License for the * + * specific language governing permissions and limitations * + * under the License. * + ****************************************************************/ + +package org.apache.james.mailbox.quota.cassandra.dto; + +import org.apache.james.eventsourcing.eventstore.cassandra.dto.EventDTOModule; +import org.apache.james.mailbox.quota.mailing.events.QuotaThresholdChangedEvent; + +public interface QuotaEventDTOModules { + + EventDTOModule<QuotaThresholdChangedEvent, QuotaThresholdChangedEventDTO> QUOTA_THRESHOLD_CHANGE = + EventDTOModule + .forEvent(QuotaThresholdChangedEvent.class) + .convertToDTO(QuotaThresholdChangedEventDTO.class) + .convertWith(QuotaThresholdChangedEventDTO::from) + .typeName("quota-threshold-change"); + +} http://git-wip-us.apache.org/repos/asf/james-project/blob/a999bd60/mailbox/plugin/quota-mailing-cassandra/src/main/java/org/apache/james/mailbox/quota/cassandra/dto/QuotaThresholdChangedEventDTOModule.java ---------------------------------------------------------------------- diff --git a/mailbox/plugin/quota-mailing-cassandra/src/main/java/org/apache/james/mailbox/quota/cassandra/dto/QuotaThresholdChangedEventDTOModule.java b/mailbox/plugin/quota-mailing-cassandra/src/main/java/org/apache/james/mailbox/quota/cassandra/dto/QuotaThresholdChangedEventDTOModule.java deleted file mode 100644 index 7c37b7f..0000000 --- a/mailbox/plugin/quota-mailing-cassandra/src/main/java/org/apache/james/mailbox/quota/cassandra/dto/QuotaThresholdChangedEventDTOModule.java +++ /dev/null @@ -1,54 +0,0 @@ -/**************************************************************** - * Licensed to the Apache Software Foundation (ASF) under one * - * or more contributor license agreements. See the NOTICE file * - * distributed with this work for additional information * - * regarding copyright ownership. The ASF licenses this file * - * to you under the Apache License, Version 2.0 (the * - * "License"); you may not use this file except in compliance * - * with the License. You may obtain a copy of the License at * - * * - * http://www.apache.org/licenses/LICENSE-2.0 * - * * - * Unless required by applicable law or agreed to in writing, * - * software distributed under the License is distributed on an * - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * - * KIND, either express or implied. See the License for the * - * specific language governing permissions and limitations * - * under the License. * - ****************************************************************/ - -package org.apache.james.mailbox.quota.cassandra.dto; - -import org.apache.james.eventsourcing.Event; -import org.apache.james.eventsourcing.eventstore.cassandra.dto.EventDTO; -import org.apache.james.eventsourcing.eventstore.cassandra.dto.EventDTOModule; -import org.apache.james.mailbox.quota.mailing.events.QuotaThresholdChangedEvent; - -import com.google.common.base.Preconditions; - -public class QuotaThresholdChangedEventDTOModule implements EventDTOModule { - private static final String QUOTA_THRESHOLD_CHANGE = "quota-threshold-change"; - - @Override - public String getType() { - return QUOTA_THRESHOLD_CHANGE; - } - - @Override - public Class<? extends EventDTO> getDTOClass() { - return QuotaThresholdChangedEventDTO.class; - } - - @Override - public Class<? extends Event> getEventClass() { - return QuotaThresholdChangedEvent.class; - } - - @Override - public EventDTO toDTO(Event event) { - Preconditions.checkArgument(event instanceof QuotaThresholdChangedEvent); - return QuotaThresholdChangedEventDTO.from( - (QuotaThresholdChangedEvent) event, - QUOTA_THRESHOLD_CHANGE); - } -} http://git-wip-us.apache.org/repos/asf/james-project/blob/a999bd60/mailbox/plugin/quota-mailing-cassandra/src/test/java/org/apache/james/mailbox/quota/cassandra/dto/DTOTest.java ---------------------------------------------------------------------- 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 7556e38..e644f97 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 @@ -133,7 +133,7 @@ class DTOTest { @Test void shouldSerializeQuotaThresholdChangedEventDTO() throws Exception { assertThatJson(objectMapper.writeValueAsString( - new QuotaThresholdChangedEventDTOModule().toDTO(EVENT))) + QuotaEventDTOModules.QUOTA_THRESHOLD_CHANGE.toDTO(EVENT))) .isEqualTo(EVENT_JSON); } @@ -146,56 +146,56 @@ class DTOTest { @Test void shouldSerializeQuotaThresholdChangedEvent() throws Exception { - assertThatJson(new JsonEventSerializer(new QuotaThresholdChangedEventDTOModule()) + assertThatJson(new JsonEventSerializer(QuotaEventDTOModules.QUOTA_THRESHOLD_CHANGE) .serialize(EVENT)) .isEqualTo(EVENT_JSON); } @Test void shouldDeserializeQuotaThresholdChangedEvent() throws Exception { - assertThatJson(new JsonEventSerializer(new QuotaThresholdChangedEventDTOModule()) + assertThatJson(new JsonEventSerializer(QuotaEventDTOModules.QUOTA_THRESHOLD_CHANGE) .deserialize(EVENT_JSON)) .isEqualTo(EVENT); } @Test void shouldSerializeEvent2() throws Exception { - assertThatJson(new JsonEventSerializer(new QuotaThresholdChangedEventDTOModule()) + assertThatJson(new JsonEventSerializer(QuotaEventDTOModules.QUOTA_THRESHOLD_CHANGE) .serialize(EVENT_2)) .isEqualTo(EVENT_JSON_2); } @Test void shouldDeserializeEvent2() throws Exception { - assertThatJson(new JsonEventSerializer(new QuotaThresholdChangedEventDTOModule()) + assertThatJson(new JsonEventSerializer(QuotaEventDTOModules.QUOTA_THRESHOLD_CHANGE) .deserialize(EVENT_JSON_2)) .isEqualTo(EVENT_2); } @Test void shouldSerializeEvent3() throws Exception { - assertThatJson(new JsonEventSerializer(new QuotaThresholdChangedEventDTOModule()) + assertThatJson(new JsonEventSerializer(QuotaEventDTOModules.QUOTA_THRESHOLD_CHANGE) .serialize(EVENT_3)) .isEqualTo(EVENT_JSON_3); } @Test void shouldDeserializeEvent3() throws Exception { - assertThatJson(new JsonEventSerializer(new QuotaThresholdChangedEventDTOModule()) + assertThatJson(new JsonEventSerializer(QuotaEventDTOModules.QUOTA_THRESHOLD_CHANGE) .deserialize(EVENT_JSON_3)) .isEqualTo(EVENT_3); } @Test void shouldSerializeEvent4() throws Exception { - assertThatJson(new JsonEventSerializer(new QuotaThresholdChangedEventDTOModule()) + assertThatJson(new JsonEventSerializer(QuotaEventDTOModules.QUOTA_THRESHOLD_CHANGE) .serialize(EVENT_4)) .isEqualTo(EVENT_JSON_4); } @Test void shouldDeserializeEvent4() throws Exception { - assertThatJson(new JsonEventSerializer(new QuotaThresholdChangedEventDTOModule()) + assertThatJson(new JsonEventSerializer(QuotaEventDTOModules.QUOTA_THRESHOLD_CHANGE) .deserialize(EVENT_JSON_4)) .isEqualTo(EVENT_4); } http://git-wip-us.apache.org/repos/asf/james-project/blob/a999bd60/mailbox/plugin/quota-mailing-cassandra/src/test/java/org/apache/james/mailbox/quota/cassandra/listeners/CassandraEventStoreExtension.java ---------------------------------------------------------------------- diff --git a/mailbox/plugin/quota-mailing-cassandra/src/test/java/org/apache/james/mailbox/quota/cassandra/listeners/CassandraEventStoreExtension.java b/mailbox/plugin/quota-mailing-cassandra/src/test/java/org/apache/james/mailbox/quota/cassandra/listeners/CassandraEventStoreExtension.java index f46a605..0218c78 100644 --- a/mailbox/plugin/quota-mailing-cassandra/src/test/java/org/apache/james/mailbox/quota/cassandra/listeners/CassandraEventStoreExtension.java +++ b/mailbox/plugin/quota-mailing-cassandra/src/test/java/org/apache/james/mailbox/quota/cassandra/listeners/CassandraEventStoreExtension.java @@ -20,13 +20,12 @@ package org.apache.james.mailbox.quota.cassandra.listeners; import org.apache.james.eventsourcing.eventstore.cassandra.CassandraGenericEventStoreExtension; -import org.apache.james.mailbox.quota.cassandra.dto.QuotaThresholdChangedEventDTOModule; +import org.apache.james.mailbox.quota.cassandra.dto.QuotaEventDTOModules; import com.google.common.collect.ImmutableSet; public class CassandraEventStoreExtension extends CassandraGenericEventStoreExtension { public CassandraEventStoreExtension() { - super(ImmutableSet.of( - new QuotaThresholdChangedEventDTOModule())); + super(ImmutableSet.of(QuotaEventDTOModules.QUOTA_THRESHOLD_CHANGE)); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/a999bd60/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDLPConfigurationStoreModule.java ---------------------------------------------------------------------- diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDLPConfigurationStoreModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDLPConfigurationStoreModule.java index 5d3abc7..1ee1595 100644 --- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDLPConfigurationStoreModule.java +++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDLPConfigurationStoreModule.java @@ -21,8 +21,7 @@ package org.apache.james.modules.data; import org.apache.james.dlp.api.DLPConfigurationStore; import org.apache.james.dlp.eventsourcing.EventSourcingDLPConfigurationStore; -import org.apache.james.dlp.eventsourcing.cassandra.DLPConfigurationItemAddedDTOModule; -import org.apache.james.dlp.eventsourcing.cassandra.DLPConfigurationItemsRemovedDTOModule; +import org.apache.james.dlp.eventsourcing.cassandra.DLPConfigurationModules; import org.apache.james.eventsourcing.eventstore.cassandra.dto.EventDTOModule; import com.google.inject.AbstractModule; @@ -38,7 +37,7 @@ public class CassandraDLPConfigurationStoreModule extends AbstractModule { Multibinder<EventDTOModule> eventDTOModuleBinder = Multibinder.newSetBinder(binder(), EventDTOModule.class); - eventDTOModuleBinder.addBinding().to(DLPConfigurationItemAddedDTOModule.class); - eventDTOModuleBinder.addBinding().to(DLPConfigurationItemsRemovedDTOModule.class); + eventDTOModuleBinder.addBinding().toInstance(DLPConfigurationModules.DLP_CONFIGURATION_STORE); + eventDTOModuleBinder.addBinding().toInstance(DLPConfigurationModules.DLP_CONFIGURATION_CLEAR); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/a999bd60/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraQuotaMailingModule.java ---------------------------------------------------------------------- diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraQuotaMailingModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraQuotaMailingModule.java index f81d572..c33137e 100644 --- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraQuotaMailingModule.java +++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraQuotaMailingModule.java @@ -20,7 +20,7 @@ package org.apache.james.modules.mailbox; import org.apache.james.eventsourcing.eventstore.cassandra.dto.EventDTOModule; -import org.apache.james.mailbox.quota.cassandra.dto.QuotaThresholdChangedEventDTOModule; +import org.apache.james.mailbox.quota.cassandra.dto.QuotaEventDTOModules; import com.google.inject.AbstractModule; import com.google.inject.multibindings.Multibinder; @@ -30,6 +30,6 @@ public class CassandraQuotaMailingModule extends AbstractModule { protected void configure() { Multibinder.newSetBinder(binder(), EventDTOModule.class) .addBinding() - .to(QuotaThresholdChangedEventDTOModule.class); + .toInstance(QuotaEventDTOModules.QUOTA_THRESHOLD_CHANGE); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/a999bd60/server/data/data-cassandra/src/main/java/org/apache/james/dlp/eventsourcing/cassandra/DLPConfigurationItemAddedDTOModule.java ---------------------------------------------------------------------- diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/dlp/eventsourcing/cassandra/DLPConfigurationItemAddedDTOModule.java b/server/data/data-cassandra/src/main/java/org/apache/james/dlp/eventsourcing/cassandra/DLPConfigurationItemAddedDTOModule.java deleted file mode 100644 index d38808b..0000000 --- a/server/data/data-cassandra/src/main/java/org/apache/james/dlp/eventsourcing/cassandra/DLPConfigurationItemAddedDTOModule.java +++ /dev/null @@ -1,53 +0,0 @@ -/**************************************************************** - * Licensed to the Apache Software Foundation (ASF) under one * - * or more contributor license agreements. See the NOTICE file * - * distributed with this work for additional information * - * regarding copyright ownership. The ASF licenses this file * - * to you under the Apache License, Version 2.0 (the * - * "License"); you may not use this file except in compliance * - * with the License. You may obtain a copy of the License at * - * * - * http://www.apache.org/licenses/LICENSE-2.0 * - * * - * Unless required by applicable law or agreed to in writing, * - * software distributed under the License is distributed on an * - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * - * KIND, either express or implied. See the License for the * - * specific language governing permissions and limitations * - * under the License. * - ****************************************************************/ - -package org.apache.james.dlp.eventsourcing.cassandra; - -import org.apache.james.dlp.eventsourcing.events.ConfigurationItemsAdded; -import org.apache.james.eventsourcing.Event; -import org.apache.james.eventsourcing.eventstore.cassandra.dto.EventDTO; -import org.apache.james.eventsourcing.eventstore.cassandra.dto.EventDTOModule; - -import com.google.common.base.Preconditions; - -public class DLPConfigurationItemAddedDTOModule implements EventDTOModule { - private static final String DLP_CONFIGURATION_STORE = "dlp-configuration-store"; - - @Override - public String getType() { - return DLP_CONFIGURATION_STORE; - } - - @Override - public Class<? extends EventDTO> getDTOClass() { - return DLPConfigurationItemAddedDTO.class; - } - - @Override - public Class<? extends Event> getEventClass() { - return ConfigurationItemsAdded.class; - } - - @Override - public EventDTO toDTO(Event event) { - Preconditions.checkArgument(event instanceof ConfigurationItemsAdded); - return DLPConfigurationItemAddedDTO - .from((ConfigurationItemsAdded) event, DLP_CONFIGURATION_STORE); - } -} http://git-wip-us.apache.org/repos/asf/james-project/blob/a999bd60/server/data/data-cassandra/src/main/java/org/apache/james/dlp/eventsourcing/cassandra/DLPConfigurationItemsRemovedDTOModule.java ---------------------------------------------------------------------- diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/dlp/eventsourcing/cassandra/DLPConfigurationItemsRemovedDTOModule.java b/server/data/data-cassandra/src/main/java/org/apache/james/dlp/eventsourcing/cassandra/DLPConfigurationItemsRemovedDTOModule.java deleted file mode 100644 index 9e259cd..0000000 --- a/server/data/data-cassandra/src/main/java/org/apache/james/dlp/eventsourcing/cassandra/DLPConfigurationItemsRemovedDTOModule.java +++ /dev/null @@ -1,53 +0,0 @@ -/**************************************************************** - * Licensed to the Apache Software Foundation (ASF) under one * - * or more contributor license agreements. See the NOTICE file * - * distributed with this work for additional information * - * regarding copyright ownership. The ASF licenses this file * - * to you under the Apache License, Version 2.0 (the * - * "License"); you may not use this file except in compliance * - * with the License. You may obtain a copy of the License at * - * * - * http://www.apache.org/licenses/LICENSE-2.0 * - * * - * Unless required by applicable law or agreed to in writing, * - * software distributed under the License is distributed on an * - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * - * KIND, either express or implied. See the License for the * - * specific language governing permissions and limitations * - * under the License. * - ****************************************************************/ - -package org.apache.james.dlp.eventsourcing.cassandra; - -import org.apache.james.dlp.eventsourcing.events.ConfigurationItemsRemoved; -import org.apache.james.eventsourcing.Event; -import org.apache.james.eventsourcing.eventstore.cassandra.dto.EventDTO; -import org.apache.james.eventsourcing.eventstore.cassandra.dto.EventDTOModule; - -import com.google.common.base.Preconditions; - -public class DLPConfigurationItemsRemovedDTOModule implements EventDTOModule { - private static final String DLP_CONFIGURATION_CLEAR = "dlp-configuration-clear"; - - @Override - public String getType() { - return DLP_CONFIGURATION_CLEAR; - } - - @Override - public Class<? extends EventDTO> getDTOClass() { - return DLPConfigurationItemsRemovedDTO.class; - } - - @Override - public Class<? extends Event> getEventClass() { - return ConfigurationItemsRemoved.class; - } - - @Override - public EventDTO toDTO(Event event) { - Preconditions.checkArgument(event instanceof ConfigurationItemsRemoved); - return DLPConfigurationItemsRemovedDTO - .from((ConfigurationItemsRemoved) event, DLP_CONFIGURATION_CLEAR); - } -} http://git-wip-us.apache.org/repos/asf/james-project/blob/a999bd60/server/data/data-cassandra/src/main/java/org/apache/james/dlp/eventsourcing/cassandra/DLPConfigurationModules.java ---------------------------------------------------------------------- diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/dlp/eventsourcing/cassandra/DLPConfigurationModules.java b/server/data/data-cassandra/src/main/java/org/apache/james/dlp/eventsourcing/cassandra/DLPConfigurationModules.java new file mode 100644 index 0000000..c068900 --- /dev/null +++ b/server/data/data-cassandra/src/main/java/org/apache/james/dlp/eventsourcing/cassandra/DLPConfigurationModules.java @@ -0,0 +1,43 @@ +/**************************************************************** + * Licensed to the Apache Software Foundation (ASF) under one * + * or more contributor license agreements. See the NOTICE file * + * distributed with this work for additional information * + * regarding copyright ownership. The ASF licenses this file * + * to you under the Apache License, Version 2.0 (the * + * "License"); you may not use this file except in compliance * + * with the License. You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, * + * software distributed under the License is distributed on an * + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * + * KIND, either express or implied. See the License for the * + * specific language governing permissions and limitations * + * under the License. * + ****************************************************************/ + +package org.apache.james.dlp.eventsourcing.cassandra; + +import org.apache.james.dlp.eventsourcing.events.ConfigurationItemsAdded; +import org.apache.james.dlp.eventsourcing.events.ConfigurationItemsRemoved; +import org.apache.james.eventsourcing.eventstore.cassandra.dto.EventDTOModule; + +public interface DLPConfigurationModules { + + EventDTOModule<ConfigurationItemsAdded, DLPConfigurationItemAddedDTO> DLP_CONFIGURATION_STORE = + EventDTOModule + .forEvent(ConfigurationItemsAdded.class) + .convertToDTO(DLPConfigurationItemAddedDTO.class) + .convertWith(DLPConfigurationItemAddedDTO::from) + .typeName("dlp-configuration-store"); + + EventDTOModule<ConfigurationItemsRemoved, DLPConfigurationItemsRemovedDTO> DLP_CONFIGURATION_CLEAR = + EventDTOModule + .forEvent(ConfigurationItemsRemoved.class) + .convertToDTO(DLPConfigurationItemsRemovedDTO.class) + .convertWith(DLPConfigurationItemsRemovedDTO::from) + .typeName("dlp-configuration-clear"); + + +} http://git-wip-us.apache.org/repos/asf/james-project/blob/a999bd60/server/data/data-cassandra/src/test/java/org/apache/james/dlp/eventsourcing/cassandra/CassandraEventSourcingDLPConfigurationStoreExtension.java ---------------------------------------------------------------------- diff --git a/server/data/data-cassandra/src/test/java/org/apache/james/dlp/eventsourcing/cassandra/CassandraEventSourcingDLPConfigurationStoreExtension.java b/server/data/data-cassandra/src/test/java/org/apache/james/dlp/eventsourcing/cassandra/CassandraEventSourcingDLPConfigurationStoreExtension.java index e5d04fb..1f152d2 100644 --- a/server/data/data-cassandra/src/test/java/org/apache/james/dlp/eventsourcing/cassandra/CassandraEventSourcingDLPConfigurationStoreExtension.java +++ b/server/data/data-cassandra/src/test/java/org/apache/james/dlp/eventsourcing/cassandra/CassandraEventSourcingDLPConfigurationStoreExtension.java @@ -73,7 +73,9 @@ public class CassandraEventSourcingDLPConfigurationStoreExtension implements Bef @Override public Object resolveParameter(ParameterContext parameterContext, ExtensionContext extensionContext) throws ParameterResolutionException { JsonEventSerializer jsonEventSerializer = new JsonEventSerializer( - ImmutableSet.of(new DLPConfigurationItemAddedDTOModule(), new DLPConfigurationItemsRemovedDTOModule())); + ImmutableSet.of( + DLPConfigurationModules.DLP_CONFIGURATION_STORE, + DLPConfigurationModules.DLP_CONFIGURATION_CLEAR)); EventStoreDao eventStoreDao = new EventStoreDao( cassandra.getConf(), http://git-wip-us.apache.org/repos/asf/james-project/blob/a999bd60/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/filtering/FilteringRuleSetDefineDTOModule.java ---------------------------------------------------------------------- diff --git a/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/filtering/FilteringRuleSetDefineDTOModule.java b/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/filtering/FilteringRuleSetDefineDTOModule.java deleted file mode 100644 index 9a59fa6..0000000 --- a/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/filtering/FilteringRuleSetDefineDTOModule.java +++ /dev/null @@ -1,52 +0,0 @@ -/**************************************************************** - * Licensed to the Apache Software Foundation (ASF) under one * - * or more contributor license agreements. See the NOTICE file * - * distributed with this work for additional information * - * regarding copyright ownership. The ASF licenses this file * - * to you under the Apache License, Version 2.0 (the * - * "License"); you may not use this file except in compliance * - * with the License. You may obtain a copy of the License at * - * * - * http://www.apache.org/licenses/LICENSE-2.0 * - * * - * Unless required by applicable law or agreed to in writing, * - * software distributed under the License is distributed on an * - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * - * KIND, either express or implied. See the License for the * - * specific language governing permissions and limitations * - * under the License. * - ****************************************************************/ - -package org.apache.james.jmap.cassandra.filtering; - -import org.apache.james.eventsourcing.Event; -import org.apache.james.eventsourcing.eventstore.cassandra.dto.EventDTO; -import org.apache.james.eventsourcing.eventstore.cassandra.dto.EventDTOModule; -import org.apache.james.jmap.api.filtering.impl.RuleSetDefined; - -import com.google.common.base.Preconditions; - -public class FilteringRuleSetDefineDTOModule implements EventDTOModule { - private static final String FILTERING_RULE_SET_DEFINED = "filtering-rule-set-defined"; - - @Override - public String getType() { - return FILTERING_RULE_SET_DEFINED; - } - - @Override - public Class<? extends EventDTO> getDTOClass() { - return FilteringRuleSetDefinedDTO.class; - } - - @Override - public Class<? extends Event> getEventClass() { - return RuleSetDefined.class; - } - - @Override - public EventDTO toDTO(Event event) { - Preconditions.checkArgument(event instanceof RuleSetDefined); - return FilteringRuleSetDefinedDTO.from((RuleSetDefined) event, FILTERING_RULE_SET_DEFINED); - } -} http://git-wip-us.apache.org/repos/asf/james-project/blob/a999bd60/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/filtering/FilteringRuleSetDefineDTOModules.java ---------------------------------------------------------------------- diff --git a/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/filtering/FilteringRuleSetDefineDTOModules.java b/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/filtering/FilteringRuleSetDefineDTOModules.java new file mode 100644 index 0000000..0c56b1c --- /dev/null +++ b/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/filtering/FilteringRuleSetDefineDTOModules.java @@ -0,0 +1,34 @@ +/**************************************************************** + * Licensed to the Apache Software Foundation (ASF) under one * + * or more contributor license agreements. See the NOTICE file * + * distributed with this work for additional information * + * regarding copyright ownership. The ASF licenses this file * + * to you under the Apache License, Version 2.0 (the * + * "License"); you may not use this file except in compliance * + * with the License. You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, * + * software distributed under the License is distributed on an * + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * + * KIND, either express or implied. See the License for the * + * specific language governing permissions and limitations * + * under the License. * + ****************************************************************/ + +package org.apache.james.jmap.cassandra.filtering; + +import org.apache.james.eventsourcing.eventstore.cassandra.dto.EventDTOModule; +import org.apache.james.jmap.api.filtering.impl.RuleSetDefined; + +public interface FilteringRuleSetDefineDTOModules { + + EventDTOModule<RuleSetDefined, FilteringRuleSetDefinedDTO> FILTERING_RULE_SET_DEFINED = + EventDTOModule + .forEvent(RuleSetDefined.class) + .convertToDTO(FilteringRuleSetDefinedDTO.class) + .convertWith(FilteringRuleSetDefinedDTO::from) + .typeName("filtering-rule-set-defined"); + +} http://git-wip-us.apache.org/repos/asf/james-project/blob/a999bd60/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/filtering/FilteringRuleSetDefinedDTO.java ---------------------------------------------------------------------- diff --git a/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/filtering/FilteringRuleSetDefinedDTO.java b/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/filtering/FilteringRuleSetDefinedDTO.java index c2357f9..5a0de2c 100644 --- a/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/filtering/FilteringRuleSetDefinedDTO.java +++ b/server/data/data-jmap-cassandra/src/main/java/org/apache/james/jmap/cassandra/filtering/FilteringRuleSetDefinedDTO.java @@ -34,7 +34,7 @@ import com.google.common.collect.ImmutableList; public class FilteringRuleSetDefinedDTO implements EventDTO { - public static EventDTO from(RuleSetDefined event, String type) { + public static FilteringRuleSetDefinedDTO from(RuleSetDefined event, String type) { return new FilteringRuleSetDefinedDTO( type, event.eventId().serialize(), event.getAggregateId().asAggregateKey(), http://git-wip-us.apache.org/repos/asf/james-project/blob/a999bd60/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/filtering/CassandraFilteringExtension.java ---------------------------------------------------------------------- diff --git a/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/filtering/CassandraFilteringExtension.java b/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/filtering/CassandraFilteringExtension.java index 522b45f..300bd5d 100644 --- a/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/filtering/CassandraFilteringExtension.java +++ b/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/filtering/CassandraFilteringExtension.java @@ -25,7 +25,6 @@ import com.google.common.collect.ImmutableSet; public class CassandraFilteringExtension extends CassandraGenericEventStoreExtension { public CassandraFilteringExtension() { - super(ImmutableSet.of( - new FilteringRuleSetDefineDTOModule())); + super(ImmutableSet.of(FilteringRuleSetDefineDTOModules.FILTERING_RULE_SET_DEFINED)); } } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org