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