Author: matthieu
Date: Tue Nov 3 16:47:19 2015
New Revision: 1712329
URL: http://svn.apache.org/viewvc?rev=1712329&view=rev
Log:
JAMES-1626 ConfigurationPerformer will take care of push configuration to class
that need it
Added:
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ConfigurationPerformer.java
- copied, changed from r1712328,
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ConfigurationsPerformer.java
- copied, changed from r1712328,
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java
Modified:
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java
Modified:
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java
URL:
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java?rev=1712329&r1=1712328&r2=1712329&view=diff
==============================================================================
---
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java
(original)
+++
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java
Tue Nov 3 16:47:19 2015
@@ -18,7 +18,10 @@
****************************************************************/
package org.apache.james;
+import org.apache.james.utils.ConfigurationsPerformer;
+
import com.google.inject.Guice;
+import com.google.inject.Injector;
import com.google.inject.Module;
public class CassandraJamesServer {
@@ -29,8 +32,9 @@ public class CassandraJamesServer {
this.serverModule = serverModule;
}
- public void start() {
- Guice.createInjector(serverModule);
+ public void start() throws Exception {
+ Injector injector = Guice.createInjector(serverModule);
+ injector.getInstance(ConfigurationsPerformer.class).initModules();
}
public void stop() {
Copied:
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ConfigurationPerformer.java
(from r1712328,
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java)
URL:
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ConfigurationPerformer.java?p2=james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ConfigurationPerformer.java&p1=james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java&r1=1712328&r2=1712329&rev=1712329&view=diff
==============================================================================
---
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java
(original)
+++
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ConfigurationPerformer.java
Tue Nov 3 16:47:19 2015
@@ -16,24 +16,12 @@
* specific language governing permissions and limitations *
* under the License. *
****************************************************************/
-package org.apache.james;
-import com.google.inject.Guice;
-import com.google.inject.Module;
+package org.apache.james.utils;
-public class CassandraJamesServer {
- private final Module serverModule;
+public interface ConfigurationPerformer {
- public CassandraJamesServer(Module serverModule) {
- this.serverModule = serverModule;
- }
-
- public void start() {
- Guice.createInjector(serverModule);
- }
-
- public void stop() {
- }
+ void initModule() throws Exception;
}
Copied:
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ConfigurationsPerformer.java
(from r1712328,
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java)
URL:
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ConfigurationsPerformer.java?p2=james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ConfigurationsPerformer.java&p1=james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java&r1=1712328&r2=1712329&rev=1712329&view=diff
==============================================================================
---
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java
(original)
+++
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ConfigurationsPerformer.java
Tue Nov 3 16:47:19 2015
@@ -16,24 +16,26 @@
* specific language governing permissions and limitations *
* under the License. *
****************************************************************/
-package org.apache.james;
-import com.google.inject.Guice;
-import com.google.inject.Module;
+package org.apache.james.utils;
-public class CassandraJamesServer {
+import com.google.inject.Inject;
- private final Module serverModule;
+import java.util.Set;
- public CassandraJamesServer(Module serverModule) {
- this.serverModule = serverModule;
- }
+public class ConfigurationsPerformer {
+
+ private final Set<ConfigurationPerformer> configurationPerformers;
- public void start() {
- Guice.createInjector(serverModule);
+ @Inject
+ public ConfigurationsPerformer(Set<ConfigurationPerformer>
configurationPerformers) throws Exception {
+ this.configurationPerformers = configurationPerformers;
}
- public void stop() {
+ public void initModules() throws Exception {
+ for(ConfigurationPerformer configurationPerformer :
configurationPerformers) {
+ configurationPerformer.initModule();
+ }
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]