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 ma...@apache.org on 2015/11/03 17:50:52 UTC
svn commit: r1712340 - in
/james/project/trunk/server/container/cassandra-guice/src:
main/java/org/apache/james/ main/java/org/apache/james/modules/protocols/
main/java/org/apache/james/modules/server/
main/java/org/apache/james/utils/ test/java/org/ap...
Author: matthieu
Date: Tue Nov 3 16:50:52 2015
New Revision: 1712340
URL: http://svn.apache.org/viewvc?rev=1712340&view=rev
Log:
JAMES-1626 Add interface ConfigurationProvider to allow multiple implementations
Added:
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/ConfigurationProviderModule.java
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ConfigurationProvider.java
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/FileConfigurationProvider.java
- copied, changed from r1712339, james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ClassPathConfigurationProvider.java
james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/utils/FileConfigurationProviderTest.java
- copied, changed from r1712339, james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/utils/ClassPathConfigurationProviderTest.java
Removed:
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ClassPathConfigurationProvider.java
james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/utils/ClassPathConfigurationProviderTest.java
Modified:
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/DNSServiceModule.java
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java
james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/utils/InMemoryMailRepositoryStoreTest.java
Modified: james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
URL: http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java?rev=1712340&r1=1712339&r2=1712340&view=diff
==============================================================================
--- james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java (original)
+++ james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java Tue Nov 3 16:50:52 2015
@@ -33,6 +33,7 @@ import org.apache.james.modules.protocol
import org.apache.james.modules.server.ActiveMQQueueModule;
import org.apache.james.modules.server.CamelMailetContainerModule;
import org.apache.james.modules.server.ConfigurationPerformerModule;
+import org.apache.james.modules.server.ConfigurationProviderModule;
import org.apache.james.modules.server.DNSServiceModule;
import org.apache.james.modules.server.FileSystemModule;
import org.apache.james.modules.server.JMXServerModule;
@@ -64,7 +65,8 @@ public class CassandraJamesServerMain {
new SieveModule(),
new MailStoreRepositoryModule(),
new CamelMailetContainerModule(),
- new QuotaModule());
+ new QuotaModule(),
+ new ConfigurationProviderModule());
public static void main(String[] args) throws Exception {
CassandraJamesServer server = new CassandraJamesServer(Modules.combine(
Modified: james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java
URL: http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java?rev=1712340&r1=1712339&r2=1712340&view=diff
==============================================================================
--- james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java (original)
+++ james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java Tue Nov 3 16:50:52 2015
@@ -18,11 +18,6 @@
****************************************************************/
package org.apache.james.modules.protocols;
-import com.google.inject.Inject;
-import com.google.inject.Provides;
-import com.google.inject.Singleton;
-import com.google.inject.multibindings.Multibinder;
-import com.google.inject.name.Named;
import org.apache.james.imap.api.process.ImapProcessor;
import org.apache.james.imap.decode.ImapDecoder;
import org.apache.james.imap.encode.ImapEncoder;
@@ -35,13 +30,18 @@ import org.apache.james.mailbox.Subscrip
import org.apache.james.mailbox.quota.QuotaManager;
import org.apache.james.mailbox.quota.QuotaRootResolver;
import org.apache.james.modules.mailbox.CassandraMailboxModule;
-import org.apache.james.utils.ClassPathConfigurationProvider;
import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.ConfigurationProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.common.collect.ImmutableSet;
import com.google.inject.AbstractModule;
+import com.google.inject.Inject;
+import com.google.inject.Provides;
+import com.google.inject.Singleton;
+import com.google.inject.multibindings.Multibinder;
+import com.google.inject.name.Named;
public class IMAPServerModule extends AbstractModule {
@@ -84,19 +84,19 @@ public class IMAPServerModule extends Ab
@Singleton
public static class IMAPModuleConfigurationPerformer implements ConfigurationPerformer {
- private final ClassPathConfigurationProvider classPathConfigurationProvider;
+ private final ConfigurationProvider configurationProvider;
private final IMAPServerFactory imapServerFactory;
@Inject
- public IMAPModuleConfigurationPerformer(ClassPathConfigurationProvider classPathConfigurationProvider, IMAPServerFactory imapServerFactory) {
- this.classPathConfigurationProvider = classPathConfigurationProvider;
+ public IMAPModuleConfigurationPerformer(ConfigurationProvider configurationProvider, IMAPServerFactory imapServerFactory) {
+ this.configurationProvider = configurationProvider;
this.imapServerFactory = imapServerFactory;
}
@Override
public void initModule() throws Exception {
imapServerFactory.setLog(LOGGER);
- imapServerFactory.configure(classPathConfigurationProvider.getConfiguration("imapserver"));
+ imapServerFactory.configure(configurationProvider.getConfiguration("imapserver"));
imapServerFactory.init();
}
}
Modified: james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java
URL: http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java?rev=1712340&r1=1712339&r2=1712340&view=diff
==============================================================================
--- james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java (original)
+++ james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java Tue Nov 3 16:50:52 2015
@@ -19,16 +19,17 @@
package org.apache.james.modules.protocols;
-import com.google.inject.AbstractModule;
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-import com.google.inject.multibindings.Multibinder;
import org.apache.james.lmtpserver.netty.LMTPServerFactory;
-import org.apache.james.utils.ClassPathConfigurationProvider;
import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.ConfigurationProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.inject.AbstractModule;
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import com.google.inject.multibindings.Multibinder;
+
public class LMTPServerModule extends AbstractModule {
private static final Logger LOGGER = LoggerFactory.getLogger(LMTPServerModule.class);
@@ -41,19 +42,19 @@ public class LMTPServerModule extends Ab
@Singleton
public static class LMTPModuleConfigurationPerformer implements ConfigurationPerformer {
- private final ClassPathConfigurationProvider classPathConfigurationProvider;
+ private final ConfigurationProvider configurationProvider;
private final LMTPServerFactory lmtpServerFactory;
@Inject
- public LMTPModuleConfigurationPerformer(ClassPathConfigurationProvider classPathConfigurationProvider, LMTPServerFactory lmtpServerFactory) {
- this.classPathConfigurationProvider = classPathConfigurationProvider;
+ public LMTPModuleConfigurationPerformer(ConfigurationProvider configurationProvider, LMTPServerFactory lmtpServerFactory) {
+ this.configurationProvider = configurationProvider;
this.lmtpServerFactory = lmtpServerFactory;
}
@Override
public void initModule() throws Exception {
lmtpServerFactory.setLog(LOGGER);
- lmtpServerFactory.configure(classPathConfigurationProvider.getConfiguration("lmtpserver"));
+ lmtpServerFactory.configure(configurationProvider.getConfiguration("lmtpserver"));
lmtpServerFactory.init();
}
}
Modified: james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java
URL: http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java?rev=1712340&r1=1712339&r2=1712340&view=diff
==============================================================================
--- james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java (original)
+++ james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java Tue Nov 3 16:50:52 2015
@@ -19,16 +19,17 @@
package org.apache.james.modules.protocols;
-import com.google.inject.AbstractModule;
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-import com.google.inject.multibindings.Multibinder;
import org.apache.james.pop3server.netty.POP3ServerFactory;
-import org.apache.james.utils.ClassPathConfigurationProvider;
import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.ConfigurationProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.inject.AbstractModule;
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import com.google.inject.multibindings.Multibinder;
+
public class POP3ServerModule extends AbstractModule {
private static final Logger LOGGER = LoggerFactory.getLogger(POP3ServerModule.class);
@@ -41,19 +42,19 @@ public class POP3ServerModule extends Ab
@Singleton
public static class POP3ModuleConfigurationPerformer implements ConfigurationPerformer {
- private final ClassPathConfigurationProvider classPathConfigurationProvider;
+ private final ConfigurationProvider configurationProvider;
private final POP3ServerFactory pop3ServerFactory;
@Inject
- public POP3ModuleConfigurationPerformer(ClassPathConfigurationProvider classPathConfigurationProvider, POP3ServerFactory pop3ServerFactory) {
- this.classPathConfigurationProvider = classPathConfigurationProvider;
+ public POP3ModuleConfigurationPerformer(ConfigurationProvider configurationProvider, POP3ServerFactory pop3ServerFactory) {
+ this.configurationProvider = configurationProvider;
this.pop3ServerFactory = pop3ServerFactory;
}
@Override
public void initModule() throws Exception {
pop3ServerFactory.setLog(LOGGER);
- pop3ServerFactory.configure(classPathConfigurationProvider.getConfiguration("pop3server"));
+ pop3ServerFactory.configure(configurationProvider.getConfiguration("pop3server"));
pop3ServerFactory.init();
}
}
Modified: james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java
URL: http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java?rev=1712340&r1=1712339&r2=1712340&view=diff
==============================================================================
--- james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java (original)
+++ james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java Tue Nov 3 16:50:52 2015
@@ -21,8 +21,8 @@ package org.apache.james.modules.protoco
import org.apache.james.smtpserver.SendMailHandler;
import org.apache.james.smtpserver.netty.SMTPServerFactory;
-import org.apache.james.utils.ClassPathConfigurationProvider;
import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.ConfigurationProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -43,15 +43,15 @@ public class SMTPServerModule extends Ab
@Singleton
public static class SMTPModuleConfigurationPerformer implements ConfigurationPerformer {
- private final ClassPathConfigurationProvider classPathConfigurationProvider;
+ private final ConfigurationProvider configurationProvider;
private final SMTPServerFactory smtpServerFactory;
private final SendMailHandler sendMailHandler;
@Inject
- public SMTPModuleConfigurationPerformer(ClassPathConfigurationProvider classPathConfigurationProvider,
+ public SMTPModuleConfigurationPerformer(ConfigurationProvider configurationProvider,
SMTPServerFactory smtpServerFactory,
- SendMailHandler sendMailHandler) {
- this.classPathConfigurationProvider = classPathConfigurationProvider;
+ SendMailHandler sendMailHandler) {
+ this.configurationProvider = configurationProvider;
this.smtpServerFactory = smtpServerFactory;
this.sendMailHandler = sendMailHandler;
}
@@ -59,7 +59,7 @@ public class SMTPServerModule extends Ab
@Override
public void initModule() throws Exception {
smtpServerFactory.setLog(LOGGER);
- smtpServerFactory.configure(classPathConfigurationProvider.getConfiguration("smtpserver"));
+ smtpServerFactory.configure(configurationProvider.getConfiguration("smtpserver"));
smtpServerFactory.init();
sendMailHandler.init(null);
}
Modified: james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
URL: http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java?rev=1712340&r1=1712339&r2=1712340&view=diff
==============================================================================
--- james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java (original)
+++ james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java Tue Nov 3 16:50:52 2015
@@ -19,11 +19,6 @@
package org.apache.james.modules.server;
-import com.google.inject.AbstractModule;
-import com.google.inject.Inject;
-import com.google.inject.Provides;
-import com.google.inject.Singleton;
-import com.google.inject.multibindings.Multibinder;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.james.dnsservice.api.DNSService;
import org.apache.james.domainlist.api.DomainList;
@@ -35,14 +30,20 @@ import org.apache.james.mailetcontainer.
import org.apache.james.mailetcontainer.impl.JamesMailetContext;
import org.apache.james.mailetcontainer.impl.camel.CamelCompositeProcessor;
import org.apache.james.user.api.UsersRepository;
-import org.apache.james.utils.ClassPathConfigurationProvider;
import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.ConfigurationProvider;
import org.apache.james.utils.GuiceMailetLoader;
import org.apache.james.utils.GuiceMatcherLoader;
import org.apache.mailet.MailetContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.inject.AbstractModule;
+import com.google.inject.Inject;
+import com.google.inject.Provides;
+import com.google.inject.Singleton;
+import com.google.inject.multibindings.Multibinder;
+
public class CamelMailetContainerModule extends AbstractModule {
private final static Logger LOGGER = LoggerFactory.getLogger(CamelMailetContainerModule.class);
@@ -74,17 +75,17 @@ public class CamelMailetContainerModule
@Singleton
public static class IMAPModuleConfigurationPerformer implements ConfigurationPerformer {
- private final ClassPathConfigurationProvider classPathConfigurationProvider;
+ private final ConfigurationProvider configurationProvider;
private final CamelCompositeProcessor camelCompositeProcessor;
private final JamesMailSpooler jamesMailSpooler;
private final JamesMailetContext mailetContext;
@Inject
- public IMAPModuleConfigurationPerformer(ClassPathConfigurationProvider classPathConfigurationProvider,
+ public IMAPModuleConfigurationPerformer(ConfigurationProvider configurationProvider,
CamelCompositeProcessor camelCompositeProcessor,
JamesMailSpooler jamesMailSpooler,
JamesMailetContext mailetContext) {
- this.classPathConfigurationProvider = classPathConfigurationProvider;
+ this.configurationProvider = configurationProvider;
this.camelCompositeProcessor = camelCompositeProcessor;
this.jamesMailSpooler = jamesMailSpooler;
this.mailetContext = mailetContext;
@@ -94,13 +95,13 @@ public class CamelMailetContainerModule
public void initModule() throws Exception {
camelCompositeProcessor.setLog(LOGGER);
camelCompositeProcessor.setCamelContext(new DefaultCamelContext());
- camelCompositeProcessor.configure(classPathConfigurationProvider.getConfiguration("mailetcontainer").configurationAt("processors"));
+ camelCompositeProcessor.configure(configurationProvider.getConfiguration("mailetcontainer").configurationAt("processors"));
camelCompositeProcessor.init();
jamesMailSpooler.setLog(LOGGER);
- jamesMailSpooler.configure(classPathConfigurationProvider.getConfiguration("mailetcontainer").configurationAt("spooler"));
+ jamesMailSpooler.configure(configurationProvider.getConfiguration("mailetcontainer").configurationAt("spooler"));
jamesMailSpooler.init();
mailetContext.setLog(LOGGER);
- mailetContext.configure(classPathConfigurationProvider.getConfiguration("mailetcontainer").configurationAt("context"));
+ mailetContext.configure(configurationProvider.getConfiguration("mailetcontainer").configurationAt("context"));
}
}
Added: james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/ConfigurationProviderModule.java
URL: http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/ConfigurationProviderModule.java?rev=1712340&view=auto
==============================================================================
--- james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/ConfigurationProviderModule.java (added)
+++ james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/ConfigurationProviderModule.java Tue Nov 3 16:50:52 2015
@@ -0,0 +1,33 @@
+/****************************************************************
+ * 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.modules.server;
+
+import org.apache.james.utils.ConfigurationProvider;
+import org.apache.james.utils.FileConfigurationProvider;
+
+import com.google.inject.AbstractModule;
+
+public class ConfigurationProviderModule extends AbstractModule {
+
+ @Override
+ public void configure() {
+ bind(ConfigurationProvider.class).to(FileConfigurationProvider.class);
+ }
+
+}
Modified: james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/DNSServiceModule.java
URL: http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/DNSServiceModule.java?rev=1712340&r1=1712339&r2=1712340&view=diff
==============================================================================
--- james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/DNSServiceModule.java (original)
+++ james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/DNSServiceModule.java Tue Nov 3 16:50:52 2015
@@ -18,18 +18,18 @@
****************************************************************/
package org.apache.james.modules.server;
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-import com.google.inject.multibindings.Multibinder;
import org.apache.james.dnsservice.api.DNSService;
import org.apache.james.dnsservice.dnsjava.DNSJavaService;
-
-import com.google.inject.AbstractModule;
-import org.apache.james.utils.ClassPathConfigurationProvider;
import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.ConfigurationProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.inject.AbstractModule;
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import com.google.inject.multibindings.Multibinder;
+
public class DNSServiceModule extends AbstractModule {
private static final Logger LOGGER = LoggerFactory.getLogger(DNSServiceModule.class);
@@ -43,19 +43,19 @@ public class DNSServiceModule extends Ab
@Singleton
public static class DNSServiceConfigurationPerformer implements ConfigurationPerformer {
- private final ClassPathConfigurationProvider classPathConfigurationProvider;
+ private final ConfigurationProvider configurationProvider;
private final DNSJavaService dnsService;
@Inject
- public DNSServiceConfigurationPerformer(ClassPathConfigurationProvider classPathConfigurationProvider,
+ public DNSServiceConfigurationPerformer(ConfigurationProvider configurationProvider,
DNSJavaService dnsService) {
- this.classPathConfigurationProvider = classPathConfigurationProvider;
+ this.configurationProvider = configurationProvider;
this.dnsService = dnsService;
}
public void initModule() throws Exception {
dnsService.setLog(LOGGER);
- dnsService.configure(classPathConfigurationProvider.getConfiguration("dnsservice"));
+ dnsService.configure(configurationProvider.getConfiguration("dnsservice"));
dnsService.init();
}
}
Modified: james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java
URL: http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java?rev=1712340&r1=1712339&r2=1712340&view=diff
==============================================================================
--- james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java (original)
+++ james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java Tue Nov 3 16:50:52 2015
@@ -23,11 +23,12 @@ import com.google.inject.AbstractModule;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import com.google.inject.multibindings.Multibinder;
+
import org.apache.james.filesystem.api.FileSystem;
import org.apache.james.mailrepository.api.MailRepository;
import org.apache.james.mailrepository.api.MailRepositoryStore;
import org.apache.james.mailrepository.file.FileMailRepository;
-import org.apache.james.utils.ClassPathConfigurationProvider;
+import org.apache.james.utils.ConfigurationProvider;
import org.apache.james.utils.ConfigurationPerformer;
import org.apache.james.utils.InMemoryMailRepositoryStore;
import org.apache.james.utils.MailRepositoryProvider;
@@ -67,19 +68,19 @@ public class MailStoreRepositoryModule e
@Singleton
public static class MailRepositoryStoreModuleConfigurationPerformer implements ConfigurationPerformer {
- private final ClassPathConfigurationProvider classPathConfigurationProvider;
+ private final ConfigurationProvider configurationProvider;
private final InMemoryMailRepositoryStore javaMailRepositoryStore;
@Inject
- public MailRepositoryStoreModuleConfigurationPerformer(ClassPathConfigurationProvider classPathConfigurationProvider,
- InMemoryMailRepositoryStore javaMailRepositoryStore) {
- this.classPathConfigurationProvider = classPathConfigurationProvider;
+ public MailRepositoryStoreModuleConfigurationPerformer(ConfigurationProvider configurationProvider,
+ InMemoryMailRepositoryStore javaMailRepositoryStore) {
+ this.configurationProvider = configurationProvider;
this.javaMailRepositoryStore = javaMailRepositoryStore;
}
@Override
public void initModule() throws Exception {
- javaMailRepositoryStore.configure(classPathConfigurationProvider.getConfiguration("mailrepositorystore"));
+ javaMailRepositoryStore.configure(configurationProvider.getConfiguration("mailrepositorystore"));
javaMailRepositoryStore.init();
}
}
Added: james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ConfigurationProvider.java
URL: http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ConfigurationProvider.java?rev=1712340&view=auto
==============================================================================
--- james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ConfigurationProvider.java (added)
+++ james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ConfigurationProvider.java Tue Nov 3 16:50:52 2015
@@ -0,0 +1,30 @@
+/****************************************************************
+ * 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.utils;
+
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.HierarchicalConfiguration;
+
+public interface ConfigurationProvider {
+
+ HierarchicalConfiguration getConfiguration(String component)
+ throws ConfigurationException;
+
+}
\ No newline at end of file
Copied: james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/FileConfigurationProvider.java (from r1712339, james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ClassPathConfigurationProvider.java)
URL: http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/FileConfigurationProvider.java?p2=james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/FileConfigurationProvider.java&p1=james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ClassPathConfigurationProvider.java&r1=1712339&r2=1712340&rev=1712340&view=diff
==============================================================================
--- james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ClassPathConfigurationProvider.java (original)
+++ james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/FileConfigurationProvider.java Tue Nov 3 16:50:52 2015
@@ -32,10 +32,11 @@ import com.google.common.base.Splitter;
import com.google.common.base.Strings;
import com.google.common.collect.Iterables;
-public class ClassPathConfigurationProvider {
+public class FileConfigurationProvider implements ConfigurationProvider {
private static final String CONFIGURATION_FILE_SUFFIX = ".xml";
+ @Override
public HierarchicalConfiguration getConfiguration(String component) throws ConfigurationException {
Preconditions.checkNotNull(component);
List<String> configPathParts = Splitter.on(".").splitToList(component);
Copied: james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/utils/FileConfigurationProviderTest.java (from r1712339, james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/utils/ClassPathConfigurationProviderTest.java)
URL: http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/utils/FileConfigurationProviderTest.java?p2=james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/utils/FileConfigurationProviderTest.java&p1=james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/utils/ClassPathConfigurationProviderTest.java&r1=1712339&r2=1712340&rev=1712340&view=diff
==============================================================================
--- james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/utils/ClassPathConfigurationProviderTest.java (original)
+++ james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/utils/FileConfigurationProviderTest.java Tue Nov 3 16:50:52 2015
@@ -26,7 +26,7 @@ import org.apache.commons.configuration.
import org.junit.Before;
import org.junit.Test;
-public class ClassPathConfigurationProviderTest {
+public class FileConfigurationProviderTest {
private static final String CONFIG_KEY_1 = "test2";
private static final String CONFIG_KEY_2 = "property";
@@ -39,11 +39,11 @@ public class ClassPathConfigurationProvi
private static final String ROOT_CONFIG_KEY = "test";
private static final String CONFIG_SEPARATOR = ".";
- private ClassPathConfigurationProvider configurationProvider;
+ private FileConfigurationProvider configurationProvider;
@Before
public void setUp() {
- configurationProvider = new ClassPathConfigurationProvider();
+ configurationProvider = new FileConfigurationProvider();
}
@Test(expected = IllegalArgumentException.class)
Modified: james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/utils/InMemoryMailRepositoryStoreTest.java
URL: http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/utils/InMemoryMailRepositoryStoreTest.java?rev=1712340&r1=1712339&r2=1712340&view=diff
==============================================================================
--- james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/utils/InMemoryMailRepositoryStoreTest.java (original)
+++ james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/utils/InMemoryMailRepositoryStoreTest.java Tue Nov 3 16:50:52 2015
@@ -42,7 +42,7 @@ public class InMemoryMailRepositoryStore
repositoryStore = new InMemoryMailRepositoryStore(Sets.newHashSet(
new MailStoreRepositoryModule.FileMailRepositoryProvider(
new FileSystemImpl(new JamesServerResourceLoader()))));
- repositoryStore.configure(new ClassPathConfigurationProvider().getConfiguration("mailrepositorystore"));
+ repositoryStore.configure(new FileConfigurationProvider().getConfiguration("mailrepositorystore"));
repositoryStore.init();
}
@@ -72,7 +72,7 @@ public class InMemoryMailRepositoryStore
repositoryStore = new InMemoryMailRepositoryStore(Sets.newHashSet(
new MailStoreRepositoryModule.FileMailRepositoryProvider(
new FileSystemImpl(new JamesServerResourceLoader()))));
- repositoryStore.configure(new ClassPathConfigurationProvider().getConfiguration("fakemailrepositorystore"));
+ repositoryStore.configure(new FileConfigurationProvider().getConfiguration("fakemailrepositorystore"));
} catch (Exception e) {
fail("Unexpected failure : ", e);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org