JAMES-1688 Fix guice modules

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

Branch: refs/heads/master
Commit: b4480e61b942c6bf6b33ed78466acc377473b3e9
Parents: 7504355
Author: Antoine Duprat <antdup...@gmail.com>
Authored: Fri Feb 12 13:49:36 2016 +0100
Committer: Matthieu Baechler <matthieu.baech...@gmail.com>
Committed: Fri Feb 19 11:55:18 2016 +0100

----------------------------------------------------------------------
 .../server/CamelMailetContainerModule.java      |  1 +
 .../server/MailStoreRepositoryModule.java       | 15 +++++++-----
 .../utils/InMemoryMailRepositoryStore.java      | 24 ++++++++++++-------
 .../mailrepository/file/FileMailRepository.java |  1 +
 .../mailrepository/jcr/JCRMailRepository.java   |  1 +
 .../mailrepository/jdbc/JDBCMailRepository.java |  1 +
 .../lib/AbstractMailRepository.java             | 13 +++++-----
 .../james/repository/api/Initializable.java     | 25 ++++++++++++++++++++
 8 files changed, 60 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/b4480e61/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
----------------------------------------------------------------------
diff --git 
a/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
 
b/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
index 858a6e3..e32ea82 100644
--- 
a/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
+++ 
b/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
@@ -102,6 +102,7 @@ public class CamelMailetContainerModule extends 
AbstractModule {
             jamesMailSpooler.init();
             mailetContext.setLog(LOGGER);
             
mailetContext.configure(configurationProvider.getConfiguration("mailetcontainer").configurationAt("context"));
+            mailetContext.setMailProcessor(camelCompositeProcessor);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/b4480e61/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java
----------------------------------------------------------------------
diff --git 
a/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java
 
b/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java
index 39d6b54..8e91d64 100644
--- 
a/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java
+++ 
b/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java
@@ -19,19 +19,20 @@
 
 package org.apache.james.modules.server;
 
-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.ConfigurationProvider;
 import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.ConfigurationProvider;
 import org.apache.james.utils.InMemoryMailRepositoryStore;
 import org.apache.james.utils.MailRepositoryProvider;
+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 MailStoreRepositoryModule extends AbstractModule {
 
@@ -52,6 +53,7 @@ public class MailStoreRepositoryModule extends AbstractModule 
{
             this.fileSystem = fileSystem;
         }
 
+
         @Override
         public String canonicalName() {
             return FileMailRepository.class.getCanonicalName();
@@ -61,6 +63,7 @@ public class MailStoreRepositoryModule extends AbstractModule 
{
         public MailRepository get() {
             FileMailRepository fileMailRepository = new FileMailRepository();
             fileMailRepository.setFileSystem(fileSystem);
+            
fileMailRepository.setLog(LoggerFactory.getLogger(FileMailRepository.class));
             return fileMailRepository;
         }
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/b4480e61/server/container/cassandra-guice/src/main/java/org/apache/james/utils/InMemoryMailRepositoryStore.java
----------------------------------------------------------------------
diff --git 
a/server/container/cassandra-guice/src/main/java/org/apache/james/utils/InMemoryMailRepositoryStore.java
 
b/server/container/cassandra-guice/src/main/java/org/apache/james/utils/InMemoryMailRepositoryStore.java
index b4b1927..066f57a 100644
--- 
a/server/container/cassandra-guice/src/main/java/org/apache/james/utils/InMemoryMailRepositoryStore.java
+++ 
b/server/container/cassandra-guice/src/main/java/org/apache/james/utils/InMemoryMailRepositoryStore.java
@@ -19,7 +19,16 @@
 
 package org.apache.james.utils;
 
-import com.google.inject.Inject;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+import java.util.stream.Collectors;
+
+import javax.inject.Singleton;
+
 import org.apache.commons.configuration.CombinedConfiguration;
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.DefaultConfigurationBuilder;
@@ -28,17 +37,11 @@ import org.apache.james.lifecycle.api.Configurable;
 import org.apache.james.lifecycle.api.LogEnabled;
 import org.apache.james.mailrepository.api.MailRepository;
 import org.apache.james.mailrepository.api.MailRepositoryStore;
+import org.apache.james.repository.api.Initializable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.inject.Singleton;
-import java.util.Set;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.List;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import java.util.stream.Collectors;
+import com.google.inject.Inject;
 
 @Singleton
 public class InMemoryMailRepositoryStore implements MailRepositoryStore {
@@ -133,6 +136,9 @@ public class InMemoryMailRepositoryStore implements 
MailRepositoryStore {
             if (mailRepository instanceof Configurable) {
                 ((Configurable) mailRepository).configure(config);
             }
+            if (mailRepository instanceof Initializable) {
+                ((Initializable) mailRepository).init();
+            }
             return mailRepository;
         } catch (Exception e) {
             throw new MailRepositoryStoreException("Cannot init mail 
repository", e);

http://git-wip-us.apache.org/repos/asf/james-project/blob/b4480e61/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java
----------------------------------------------------------------------
diff --git 
a/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java
 
b/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java
index b5209ff..00f04aa 100644
--- 
a/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java
+++ 
b/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java
@@ -88,6 +88,7 @@ public class FileMailRepository extends 
AbstractMailRepository {
         // ignore model
     }
 
+    @Override
     @PostConstruct
     public void init() throws Exception {
         try {

http://git-wip-us.apache.org/repos/asf/james-project/blob/b4480e61/server/data/data-jcr/src/main/java/org/apache/james/mailrepository/jcr/JCRMailRepository.java
----------------------------------------------------------------------
diff --git 
a/server/data/data-jcr/src/main/java/org/apache/james/mailrepository/jcr/JCRMailRepository.java
 
b/server/data/data-jcr/src/main/java/org/apache/james/mailrepository/jcr/JCRMailRepository.java
index eaa94e7..a380c97 100644
--- 
a/server/data/data-jcr/src/main/java/org/apache/james/mailrepository/jcr/JCRMailRepository.java
+++ 
b/server/data/data-jcr/src/main/java/org/apache/james/mailrepository/jcr/JCRMailRepository.java
@@ -82,6 +82,7 @@ public class JCRMailRepository extends AbstractMailRepository 
implements MailRep
         this.repository = repository;
     }
 
+    @Override
     @PostConstruct
     public void init() throws Exception {
         // register the nodetype

http://git-wip-us.apache.org/repos/asf/james-project/blob/b4480e61/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/JDBCMailRepository.java
----------------------------------------------------------------------
diff --git 
a/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/JDBCMailRepository.java
 
b/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/JDBCMailRepository.java
index 7865d9d..eea1d57 100644
--- 
a/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/JDBCMailRepository.java
+++ 
b/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/JDBCMailRepository.java
@@ -231,6 +231,7 @@ public class JDBCMailRepository extends 
AbstractMailRepository {
      * @throws Exception
      *             if an error occurs
      */
+    @Override
     @PostConstruct
     public void init() throws Exception {
         StringBuffer logBuffer;

http://git-wip-us.apache.org/repos/asf/james-project/blob/b4480e61/server/data/data-library/src/main/java/org/apache/james/mailrepository/lib/AbstractMailRepository.java
----------------------------------------------------------------------
diff --git 
a/server/data/data-library/src/main/java/org/apache/james/mailrepository/lib/AbstractMailRepository.java
 
b/server/data/data-library/src/main/java/org/apache/james/mailrepository/lib/AbstractMailRepository.java
index 26894c9..ac4a1ba 100644
--- 
a/server/data/data-library/src/main/java/org/apache/james/mailrepository/lib/AbstractMailRepository.java
+++ 
b/server/data/data-library/src/main/java/org/apache/james/mailrepository/lib/AbstractMailRepository.java
@@ -19,24 +19,25 @@
 
 package org.apache.james.mailrepository.lib;
 
+import java.io.IOException;
+import java.util.Collection;
+
+import javax.mail.MessagingException;
+
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.james.lifecycle.api.Configurable;
 import org.apache.james.lifecycle.api.LogEnabled;
 import org.apache.james.mailrepository.api.MailRepository;
+import org.apache.james.repository.api.Initializable;
 import org.apache.mailet.Mail;
 import org.slf4j.Logger;
 
-import javax.mail.MessagingException;
-
-import java.io.IOException;
-import java.util.Collection;
-
 /**
  * This class represent an AbstractMailRepository. All MailRepositories should
  * extend this class.
  */
-public abstract class AbstractMailRepository implements MailRepository, 
LogEnabled, Configurable {
+public abstract class AbstractMailRepository implements MailRepository, 
LogEnabled, Configurable, Initializable {
 
     /**
      * Whether 'deep debugging' is turned on.

http://git-wip-us.apache.org/repos/asf/james-project/blob/b4480e61/server/data/data-library/src/main/java/org/apache/james/repository/api/Initializable.java
----------------------------------------------------------------------
diff --git 
a/server/data/data-library/src/main/java/org/apache/james/repository/api/Initializable.java
 
b/server/data/data-library/src/main/java/org/apache/james/repository/api/Initializable.java
new file mode 100644
index 0000000..aea96b2
--- /dev/null
+++ 
b/server/data/data-library/src/main/java/org/apache/james/repository/api/Initializable.java
@@ -0,0 +1,25 @@
+/****************************************************************
+ * 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.repository.api;
+
+public interface Initializable {
+
+    void init() throws Exception;
+}


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

Reply via email to