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