You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2015/06/17 11:04:30 UTC
svn commit: r1685959 - in /james/mailbox/trunk/cassandra/src:
main/java/org/apache/james/mailbox/cassandra/
main/java/org/apache/james/mailbox/cassandra/mail/
main/resources/META-INF/spring/
test/java/org/apache/james/mailbox/cassandra/ test/java/org/a...
Author: btellier
Date: Wed Jun 17 09:04:29 2015
New Revision: 1685959
URL: http://svn.apache.org/r1685959
Log:
MAILBOX-239 Adding support for user defined types
Added:
james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraTypesProvider.java
james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraTypeProviderTest.java
Modified:
james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java
james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/SessionFactory.java
james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java
james/mailbox/trunk/cassandra/src/main/resources/META-INF/spring/mailbox-cassandra.xml
james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraClusterSingleton.java
james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerTest.java
james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactoryTest.java
james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java
james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMapperProvider.java
james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidAndModSeqProviderTest.java
Modified: james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java?rev=1685959&r1=1685958&r2=1685959&view=diff
==============================================================================
--- james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java (original)
+++ james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java Wed Jun 17 09:04:29 2015
@@ -40,16 +40,18 @@ import com.datastax.driver.core.Session;
public class CassandraMailboxSessionMapperFactory extends MailboxSessionMapperFactory<UUID> {
private static final int DEFAULT_MAX_RETRY = 1000;
- private Session session;
- private UidProvider<UUID> uidProvider;
- private ModSeqProvider<UUID> modSeqProvider;
+ private final Session session;
+ private final UidProvider<UUID> uidProvider;
+ private final ModSeqProvider<UUID> modSeqProvider;
+ private final CassandraTypesProvider typesProvider;
private int maxRetry;
- public CassandraMailboxSessionMapperFactory(UidProvider<UUID> uidProvider, ModSeqProvider<UUID> modSeqProvider, Session session) {
+ public CassandraMailboxSessionMapperFactory(UidProvider<UUID> uidProvider, ModSeqProvider<UUID> modSeqProvider, Session session, CassandraTypesProvider typesProvider) {
this.uidProvider = uidProvider;
this.modSeqProvider = modSeqProvider;
this.session = session;
this.maxRetry = DEFAULT_MAX_RETRY;
+ this.typesProvider = typesProvider;
}
public void setMaxRetry(int maxRetry) {
@@ -63,7 +65,7 @@ public class CassandraMailboxSessionMapp
@Override
public MailboxMapper<UUID> createMailboxMapper(MailboxSession mailboxSession) {
- return new CassandraMailboxMapper(session, maxRetry);
+ return new CassandraMailboxMapper(session, typesProvider, maxRetry);
}
@Override
Added: james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraTypesProvider.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraTypesProvider.java?rev=1685959&view=auto
==============================================================================
--- james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraTypesProvider.java (added)
+++ james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraTypesProvider.java Wed Jun 17 09:04:29 2015
@@ -0,0 +1,84 @@
+/****************************************************************
+ * 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.cassandra;
+
+import com.datastax.driver.core.Session;
+import com.datastax.driver.core.UserType;
+import com.datastax.driver.core.schemabuilder.CreateType;
+import com.datastax.driver.core.schemabuilder.SchemaBuilder;
+import com.google.common.collect.ImmutableMap;
+import org.apache.james.mailbox.cassandra.table.CassandraMailboxTable;
+
+import java.util.Arrays;
+import java.util.Optional;
+import java.util.stream.Collectors;
+
+import static com.datastax.driver.core.DataType.text;
+
+public class CassandraTypesProvider {
+
+ public enum TYPE {
+ MailboxBase(CassandraMailboxTable.MAILBOX_BASE,
+ SchemaBuilder.createType(CassandraMailboxTable.MAILBOX_BASE)
+ .ifNotExists()
+ .addColumn(CassandraMailboxTable.MailboxBase.NAMESPACE, text())
+ .addColumn(CassandraMailboxTable.MailboxBase.USER, text()))
+ ;
+
+ private final String name;
+ private final CreateType createStatement;
+
+ TYPE(String name, CreateType createStatement) {
+ this.name = name;
+ this.createStatement = createStatement;
+ }
+
+ public String getName() {
+ return name;
+ }
+ }
+
+ private final ImmutableMap<TYPE, UserType> userTypes;
+ private final Session session;
+
+ public CassandraTypesProvider(Session session) {
+ this.session = session;
+ initializeTypes();
+ userTypes = ImmutableMap.<TYPE, UserType>builder()
+ .putAll(Arrays.stream(TYPE.values())
+ .collect(Collectors.toMap(
+ (type) -> type,
+ (type) -> session.getCluster()
+ .getMetadata()
+ .getKeyspace(session.getLoggedKeyspace())
+ .getUserType(type.name)))).build();
+ }
+
+ public UserType getDefinedUserType(TYPE type) {
+ return Optional.ofNullable(userTypes.get(type))
+ .orElseThrow(() -> new RuntimeException("Cassandra UDT " + type.getName() + " can not be retrieved"));
+ }
+
+ public void initializeTypes() {
+ Arrays.asList(TYPE.values())
+ .forEach((type) -> session.execute(type.createStatement));
+ }
+
+}
Modified: james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/SessionFactory.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/SessionFactory.java?rev=1685959&r1=1685958&r2=1685959&view=diff
==============================================================================
--- james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/SessionFactory.java (original)
+++ james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/SessionFactory.java Wed Jun 17 09:04:29 2015
@@ -27,6 +27,7 @@ public class SessionFactory {
public static Session createSession(Cluster cluster, String keyspace) {
Session session = cluster.connect(keyspace);
+ new CassandraTypesProvider(session);
new CassandraTableManager(session)
.ensureAllTables();
return session;
Modified: james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java?rev=1685959&r1=1685958&r2=1685959&view=diff
==============================================================================
--- james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java (original)
+++ james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java Wed Jun 17 09:04:29 2015
@@ -27,6 +27,8 @@ import java.util.UUID;
import com.datastax.driver.core.utils.UUIDs;
import com.google.common.base.Preconditions;
+import org.apache.james.mailbox.cassandra.CassandraTypesProvider;
+import org.apache.james.mailbox.cassandra.CassandraTypesProvider.TYPE;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.exception.MailboxNotFoundException;
import org.apache.james.mailbox.model.MailboxACL;
@@ -47,12 +49,15 @@ import org.apache.james.mailbox.store.ma
*/
public class CassandraMailboxMapper implements MailboxMapper<UUID> {
- private Session session;
- private int maxRetry;
+ public static final String WILDCARD = "%";
+ private final Session session;
+ private final int maxRetry;
+ private final CassandraTypesProvider typesProvider;
- public CassandraMailboxMapper(Session session, int maxRetry) {
+ public CassandraMailboxMapper(Session session, CassandraTypesProvider typesProvider, int maxRetry) {
this.session = session;
this.maxRetry = maxRetry;
+ this.typesProvider = typesProvider;
}
@Override
Modified: james/mailbox/trunk/cassandra/src/main/resources/META-INF/spring/mailbox-cassandra.xml
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/cassandra/src/main/resources/META-INF/spring/mailbox-cassandra.xml?rev=1685959&r1=1685958&r2=1685959&view=diff
==============================================================================
--- james/mailbox/trunk/cassandra/src/main/resources/META-INF/spring/mailbox-cassandra.xml (original)
+++ james/mailbox/trunk/cassandra/src/main/resources/META-INF/spring/mailbox-cassandra.xml Wed Jun 17 09:04:29 2015
@@ -40,6 +40,7 @@
<constructor-arg index="0" ref="cassandra-uidProvider"/>
<constructor-arg index="1" ref="cassandra-modSeqProvider"/>
<constructor-arg index="2" ref="cassandra-session"/>
+ <constructor-arg index="3" ref="cassandra-type-provider"/>
</bean>
<bean id="cassandra-uidProvider" class="org.apache.james.mailbox.cassandra.mail.CassandraUidProvider">
@@ -80,4 +81,8 @@
<constructor-arg index="1" value="${cassandra.keyspace}"/>
</bean>
+ <bean id="cassandra-type-provider" class="org.apache.james.mailbox.cassandra.CassandraTypesProvider">
+ <constructor-arg index="0" ref="cassandra-session"/>
+ </bean>
+
</beans>
Modified: james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraClusterSingleton.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraClusterSingleton.java?rev=1685959&r1=1685958&r2=1685959&view=diff
==============================================================================
--- james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraClusterSingleton.java (original)
+++ james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraClusterSingleton.java Wed Jun 17 09:04:29 2015
@@ -45,6 +45,7 @@ public final class CassandraClusterSingl
private static final Logger LOG = LoggerFactory.getLogger(CassandraClusterSingleton.class);
private static CassandraClusterSingleton cluster = null;
private Session session;
+ private CassandraTypesProvider typesProvider;
/**
* Builds a MiniCluster instance.
@@ -65,6 +66,7 @@ public final class CassandraClusterSingl
EmbeddedCassandraServerHelper.startEmbeddedCassandra();
session = new FunctionRunnerWithRetry<Session>(MAX_RETRY)
.executeAndRetrieveObject(CassandraClusterSingleton.this::tryInitializeSession);
+ typesProvider = new CassandraTypesProvider(session);
} catch(Exception exception) {
Throwables.propagate(exception);
}
@@ -102,4 +104,7 @@ public final class CassandraClusterSingl
}
}
+ public CassandraTypesProvider getTypesProvider() {
+ return typesProvider;
+ }
}
Modified: james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerTest.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerTest.java?rev=1685959&r1=1685958&r2=1685959&view=diff
==============================================================================
--- james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerTest.java (original)
+++ james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerTest.java Wed Jun 17 09:04:29 2015
@@ -71,7 +71,10 @@ public class CassandraMailboxManagerTest
protected void createMailboxManager() throws MailboxException {
final CassandraUidProvider uidProvider = new CassandraUidProvider(CASSANDRA.getConf());
final CassandraModSeqProvider modSeqProvider = new CassandraModSeqProvider(CASSANDRA.getConf());
- final CassandraMailboxSessionMapperFactory mapperFactory = new CassandraMailboxSessionMapperFactory(uidProvider, modSeqProvider, CASSANDRA.getConf());
+ final CassandraMailboxSessionMapperFactory mapperFactory = new CassandraMailboxSessionMapperFactory(uidProvider,
+ modSeqProvider,
+ CASSANDRA.getConf(),
+ CASSANDRA.getTypesProvider());
final CassandraMailboxManager manager = new CassandraMailboxManager(mapperFactory, null, new JVMMailboxPathLocker());
manager.init();
Modified: james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactoryTest.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactoryTest.java?rev=1685959&r1=1685958&r2=1685959&view=diff
==============================================================================
--- james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactoryTest.java (original)
+++ james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactoryTest.java Wed Jun 17 09:04:29 2015
@@ -59,7 +59,7 @@ public class CassandraMailboxSessionMapp
public void testCreateMessageMapper() throws Exception {
LOG.info("createMessageMapper");
MailboxSession session = null;
- CassandraMailboxSessionMapperFactory instance = new CassandraMailboxSessionMapperFactory(null, null, null);
+ CassandraMailboxSessionMapperFactory instance = new CassandraMailboxSessionMapperFactory(null, null, null, null);
MessageMapper<UUID> messageMapper = instance.createMessageMapper(session);
assertNotNull(messageMapper);
assertTrue(messageMapper instanceof MessageMapper);
@@ -73,7 +73,7 @@ public class CassandraMailboxSessionMapp
public void testCreateMailboxMapper() throws Exception {
LOG.info("createMailboxMapper");
MailboxSession session = null;
- CassandraMailboxSessionMapperFactory instance = new CassandraMailboxSessionMapperFactory(null, null, null);
+ CassandraMailboxSessionMapperFactory instance = new CassandraMailboxSessionMapperFactory(null, null, null, null);
MailboxMapper<UUID> mailboxMapper = instance.createMailboxMapper(session);
assertNotNull(mailboxMapper);
assertTrue(mailboxMapper instanceof MailboxMapper);
@@ -87,7 +87,7 @@ public class CassandraMailboxSessionMapp
public void testCreateSubscriptionMapper() throws Exception {
LOG.info("createSubscriptionMapper");
MailboxSession session = null;
- CassandraMailboxSessionMapperFactory instance = new CassandraMailboxSessionMapperFactory(null, null, null);
+ CassandraMailboxSessionMapperFactory instance = new CassandraMailboxSessionMapperFactory(null, null, null, null);
SubscriptionMapper subscriptionMapper = instance.createSubscriptionMapper(session);
assertNotNull(subscriptionMapper);
assertTrue(subscriptionMapper instanceof SubscriptionMapper);
@@ -101,7 +101,7 @@ public class CassandraMailboxSessionMapp
public void testGetModSeqProvider() {
LOG.info("getModSeqProvider");
ModSeqProvider<UUID> expResult = new CassandraModSeqProvider(CLUSTER.getConf());
- CassandraMailboxSessionMapperFactory instance = new CassandraMailboxSessionMapperFactory(null, expResult, null);
+ CassandraMailboxSessionMapperFactory instance = new CassandraMailboxSessionMapperFactory(null, expResult, null, null);
ModSeqProvider<UUID> result = instance.getModSeqProvider();
assertEquals(expResult, result);
}
@@ -114,7 +114,7 @@ public class CassandraMailboxSessionMapp
public void testGetUidProvider() {
LOG.info("getUidProvider");
UidProvider<UUID> expResult = new CassandraUidProvider(CLUSTER.getConf());
- CassandraMailboxSessionMapperFactory instance = new CassandraMailboxSessionMapperFactory((CassandraUidProvider) expResult, null, null);
+ CassandraMailboxSessionMapperFactory instance = new CassandraMailboxSessionMapperFactory((CassandraUidProvider) expResult, null, null, null);
UidProvider<UUID> result = instance.getUidProvider();
assertEquals(expResult, result);
}
Modified: james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java?rev=1685959&r1=1685958&r2=1685959&view=diff
==============================================================================
--- james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java (original)
+++ james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java Wed Jun 17 09:04:29 2015
@@ -34,11 +34,12 @@ public class CassandraSubscriptionManage
@Override
public SubscriptionManager createSubscriptionManager() {
return new CassandraSubscriptionManager(
- new CassandraMailboxSessionMapperFactory(
- new CassandraUidProvider(cassandra.getConf()),
- new CassandraModSeqProvider(cassandra.getConf()),
- cassandra.getConf()
- )
+ new CassandraMailboxSessionMapperFactory(
+ new CassandraUidProvider(cassandra.getConf()),
+ new CassandraModSeqProvider(cassandra.getConf()),
+ cassandra.getConf(),
+ cassandra.getTypesProvider()
+ )
);
}
}
Added: james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraTypeProviderTest.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraTypeProviderTest.java?rev=1685959&view=auto
==============================================================================
--- james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraTypeProviderTest.java (added)
+++ james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraTypeProviderTest.java Wed Jun 17 09:04:29 2015
@@ -0,0 +1,79 @@
+/****************************************************************
+ * 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.cassandra;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.fail;
+
+import com.datastax.driver.core.schemabuilder.SchemaBuilder;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+public class CassandraTypeProviderTest {
+
+ private CassandraClusterSingleton cassandra;
+
+ @Before
+ public void setUp() {
+ cassandra = CassandraClusterSingleton.build();
+ cassandra.getTypesProvider().initializeTypes();
+ cassandra.ensureAllTables();
+ }
+
+ @After
+ public void tearDown() {
+ }
+
+ @Test
+ public void getDefinedUserTypeShouldNotReturnNullNorFailWhenTypeIsDefined() {
+ assertThat(cassandra.getTypesProvider().getDefinedUserType(CassandraTypesProvider.TYPE.MailboxBase))
+ .isNotNull();
+ }
+
+ @Test
+ public void initializeTypesShouldCreateTheTypes() {
+ deleteMailboxBaseType();
+ CassandraTypesProvider cassandraTypesProviderTest = new CassandraTypesProvider(cassandra.getConf());
+ assertThat(cassandraTypesProviderTest.getDefinedUserType(CassandraTypesProvider.TYPE.MailboxBase))
+ .isNotNull();
+ }
+
+ @Test
+ public void initializeTypesShouldNotFailIfCalledTwice() {
+ new CassandraTypesProvider(cassandra.getConf());
+ assertThat(cassandra.getTypesProvider().getDefinedUserType(CassandraTypesProvider.TYPE.MailboxBase))
+ .isNotNull();
+ }
+
+ private void deleteMailboxBaseType() {
+ try {
+ // We need to drop the tables using the type we want to delete
+ cassandra.getConf().execute(SchemaBuilder.dropTable(CassandraTableManager.TABLE.Mailbox.name()));
+ cassandra.getConf().execute(SchemaBuilder.dropType(CassandraTypesProvider.TYPE.MailboxBase.getName()));
+ } catch (Exception exception) {
+ exception.printStackTrace();
+ fail("Exception is thrown on Type deletion");
+ }
+ }
+
+
+
+}
Modified: james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMapperProvider.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMapperProvider.java?rev=1685959&r1=1685958&r2=1685959&view=diff
==============================================================================
--- james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMapperProvider.java (original)
+++ james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMapperProvider.java Wed Jun 17 09:04:29 2015
@@ -3,6 +3,7 @@ package org.apache.james.mailbox.cassand
import com.datastax.driver.core.utils.UUIDs;
import org.apache.james.mailbox.cassandra.CassandraClusterSingleton;
import org.apache.james.mailbox.cassandra.CassandraMailboxSessionMapperFactory;
+import org.apache.james.mailbox.cassandra.CassandraTypesProvider;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.mock.MockMailboxSession;
import org.apache.james.mailbox.store.mail.MailboxMapper;
@@ -20,7 +21,8 @@ public class CassandraMapperProvider imp
return new CassandraMailboxSessionMapperFactory(
new CassandraUidProvider(cassandra.getConf()),
new CassandraModSeqProvider(cassandra.getConf()),
- cassandra.getConf()
+ cassandra.getConf(),
+ cassandra.getTypesProvider()
).getMailboxMapper(new MockMailboxSession("benwa"));
}
@@ -29,7 +31,8 @@ public class CassandraMapperProvider imp
return new CassandraMailboxSessionMapperFactory(
new CassandraUidProvider(cassandra.getConf()),
new CassandraModSeqProvider(cassandra.getConf()),
- cassandra.getConf()
+ cassandra.getConf(),
+ cassandra.getTypesProvider()
).getMessageMapper(new MockMailboxSession("benwa"));
}
Modified: james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidAndModSeqProviderTest.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidAndModSeqProviderTest.java?rev=1685959&r1=1685958&r2=1685959&view=diff
==============================================================================
--- james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidAndModSeqProviderTest.java (original)
+++ james/mailbox/trunk/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidAndModSeqProviderTest.java Wed Jun 17 09:04:29 2015
@@ -57,7 +57,7 @@ public class CassandraUidAndModSeqProvid
CASSANDRA.ensureAllTables();
uidProvider = new CassandraUidProvider(CASSANDRA.getConf());
modSeqProvider = new CassandraModSeqProvider(CASSANDRA.getConf());
- mapper = new CassandraMailboxMapper(CASSANDRA.getConf(), MAX_RETRY);
+ mapper = new CassandraMailboxMapper(CASSANDRA.getConf(), CASSANDRA.getTypesProvider(), MAX_RETRY);
fillMailboxList();
for (SimpleMailbox<UUID> mailbox : mailboxList) {
mapper.save(mailbox);
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org