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]

Reply via email to