Author: norman
Date: Thu Dec 17 08:52:27 2009
New Revision: 891586

URL: http://svn.apache.org/viewvc?rev=891586&view=rev
Log:
Revet OSGI work because this broke trunk and just need some more thoughts..... 
sorry

Removed:
    
james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/SimpleConnectionManagerModule.java
    
james/server/trunk/management-library/src/main/java/org/apache/james/management/impl/BayesianAnalyzerManagementModule.java
    
james/server/trunk/management-library/src/main/java/org/apache/james/management/impl/DomainListManagementModule.java
    
james/server/trunk/management-library/src/main/java/org/apache/james/management/impl/ProcessorManagementModule.java
    
james/server/trunk/management-library/src/main/java/org/apache/james/management/impl/SpoolManagementModule.java
    james/server/trunk/management-library/src/main/java/org/apache/james/osgi/
    james/server/trunk/osgi-deployment/
    
james/server/trunk/phoenix-deployment/src/test/org/apache/james/AvalonJamesTest.java
    
james/server/trunk/user-library/src/main/java/org/apache/james/impl/jamesuser/LocalJamesUsersRepositoryModule.java
    
james/server/trunk/user-library/src/main/java/org/apache/james/impl/user/LocalUsersRepositoryModule.java
    
james/server/trunk/user-library/src/main/java/org/apache/james/impl/user/UserManagementModule.java
    james/server/trunk/user-library/src/main/java/org/apache/james/osgi/
Modified:
    
james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/AvalonSimpleConnectionManager.java
    
james/server/trunk/imapserver-function/src/main/java/org/apache/james/user/impl/file/FileUserMetaDataService.java
   (props changed)
    james/server/trunk/management-library/pom.xml
    
james/server/trunk/management-library/src/main/java/org/apache/james/management/impl/AvalonBayesianAnalyzerManagement.java
    
james/server/trunk/management-library/src/main/java/org/apache/james/management/impl/AvalonDomainListManagement.java
    
james/server/trunk/management-library/src/main/java/org/apache/james/management/impl/AvalonProcessorManagement.java
    
james/server/trunk/management-library/src/main/java/org/apache/james/management/impl/AvalonSpoolManagement.java
    james/server/trunk/pom.xml
    james/server/trunk/stage/pom.xml
    james/server/trunk/user-library/pom.xml
    
james/server/trunk/user-library/src/main/java/org/apache/james/impl/jamesuser/AvalonLocalJamesUsersRepository.java
    
james/server/trunk/user-library/src/main/java/org/apache/james/impl/user/AvalonLocalUsersRepository.java
    
james/server/trunk/user-library/src/main/java/org/apache/james/impl/user/AvalonUserManagement.java

Modified: 
james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/AvalonSimpleConnectionManager.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/AvalonSimpleConnectionManager.java?rev=891586&r1=891585&r2=891586&view=diff
==============================================================================
--- 
james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/AvalonSimpleConnectionManager.java
 (original)
+++ 
james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/AvalonSimpleConnectionManager.java
 Thu Dec 17 08:52:27 2009
@@ -36,9 +36,11 @@
 import org.apache.excalibur.thread.ThreadPool;
 import org.apache.james.bridge.GuiceInjected;
 import org.apache.james.util.ConfigurationAdapter;
+import org.guiceyfruit.jsr250.Jsr250Module;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Guice;
+import com.google.inject.name.Names;
 
 public class AvalonSimpleConnectionManager  implements LogEnabled, 
Initializable, GuiceInjected, Serviceable, Configurable, JamesConnectionManager 
{
 
@@ -118,13 +120,13 @@
 
 
     public void initialize() throws Exception {
-        manager = Guice.createInjector(new SimpleConnectionManagerModule() , 
new AbstractModule() {
+        manager = Guice.createInjector(new Jsr250Module() , new 
AbstractModule() {
 
             @Override
             protected void configure() {
-                bind(ThreadManager.class).toInstance(threadManager);
-                
bind(org.apache.commons.configuration.HierarchicalConfiguration.class).toInstance(config);
-                bind(Log.class).toInstance(logger);
+                
bind(ThreadManager.class).annotatedWith(Names.named("org.apache.avalon.cornerstone.services.threads.ThreadManager")).toInstance(threadManager);
+                
bind(org.apache.commons.configuration.HierarchicalConfiguration.class).annotatedWith(Names.named("org.apache.commons.configuration.Configuration")).toInstance(config);
+                
bind(Log.class).annotatedWith(Names.named("org.apache.commons.logging.Log")).toInstance(logger);
             }
             
         }).getInstance(SimpleConnectionManager.class);

Propchange: 
james/server/trunk/imapserver-function/src/main/java/org/apache/james/user/impl/file/FileUserMetaDataService.java
            ('svn:mergeinfo' removed)

Modified: james/server/trunk/management-library/pom.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/management-library/pom.xml?rev=891586&r1=891585&r2=891586&view=diff
==============================================================================
--- james/server/trunk/management-library/pom.xml (original)
+++ james/server/trunk/management-library/pom.xml Thu Dec 17 08:52:27 2009
@@ -27,40 +27,6 @@
   <groupId>org.apache.james</groupId>
   <artifactId>james-server-management-library</artifactId>
   <name>Apache JAMES Server Management Library</name>
-   
-  <build>
-    <plugins>
-      <plugin>
-        <artifactId>maven-jar-plugin</artifactId>
-        <configuration>
-          <archive>  
-            
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
-          </archive> 
-        </configuration>
-      </plugin>  
-      <plugin>    
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>bundle-manifest</id>
-            <phase>process-classes</phase>
-            <goals>    
-              <goal>manifest</goal>
-            </goals>   
-          </execution>
-        </executions>
-        <configuration>
-          <instructions>
-            
<Export-Package>org.apache.james.management,org.apache.james.management.*</Export-Package>
-            <Private-Package>org.apache.james.*</Private-Package>
-            
<Bundle-Activator>org.apache.james.osgi.ManagementLibraryActivator</Bundle-Activator>
-          </instructions>
-        </configuration>
-      </plugin>  
-    </plugins>
-  </build>
-  
   <dependencies>
   
     <dependency>
@@ -151,13 +117,5 @@
       <artifactId>spring-aopalliance</artifactId>
       <scope>runtime</scope>
     </dependency>
-     <dependency>
-      <groupId>org.ops4j</groupId>
-      <artifactId>peaberry</artifactId>
-    </dependency> 
-    <dependency>
-      <groupId>org.osgi</groupId>
-      <artifactId>org.osgi</artifactId>
-    </dependency> 
   </dependencies>
 </project>

Modified: 
james/server/trunk/management-library/src/main/java/org/apache/james/management/impl/AvalonBayesianAnalyzerManagement.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/management-library/src/main/java/org/apache/james/management/impl/AvalonBayesianAnalyzerManagement.java?rev=891586&r1=891585&r2=891586&view=diff
==============================================================================
--- 
james/server/trunk/management-library/src/main/java/org/apache/james/management/impl/AvalonBayesianAnalyzerManagement.java
 (original)
+++ 
james/server/trunk/management-library/src/main/java/org/apache/james/management/impl/AvalonBayesianAnalyzerManagement.java
 Thu Dec 17 08:52:27 2009
@@ -39,8 +39,11 @@
 import org.apache.james.util.ConfigurationAdapter;
 import org.apache.james.bridge.GuiceInjected;
 
+import org.guiceyfruit.jsr250.Jsr250Module;
+
 import com.google.inject.AbstractModule;
 import com.google.inject.Guice;
+import com.google.inject.name.Names;
 
 public class AvalonBayesianAnalyzerManagement implements GuiceInjected, 
BayesianAnalyzerManagementMBean, BayesianAnalyzerManagementService, 
Serviceable, Initializable, Configurable, LogEnabled{
 
@@ -56,14 +59,14 @@
     }
 
     public void initialize() throws Exception {
-        mgmt = Guice.createInjector( new BayesianAnalyzerManagementModule(), 
new AbstractModule() {
+        mgmt = Guice.createInjector(new Jsr250Module(), new AbstractModule() {
 
             @Override
             protected void configure() {
-                
bind(org.apache.commons.configuration.HierarchicalConfiguration.class).toInstance(config);
-                bind(Log.class).toInstance(logger);
-                bind(FileSystem.class).toInstance(fs);     
-                bind(DataSourceSelector.class).toInstance(selector);
+                
bind(org.apache.commons.configuration.HierarchicalConfiguration.class).annotatedWith(Names.named("org.apache.commons.configuration.Configuration")).toInstance(config);
+                
bind(Log.class).annotatedWith(Names.named("org.apache.commons.logging.Log")).toInstance(logger);
+                
bind(FileSystem.class).annotatedWith(Names.named("org.apache.james.services.FileSystem")).toInstance(fs);
     
+                
bind(DataSourceSelector.class).annotatedWith(Names.named("org.apache.avalon.cornerstone.services.datasources.DataSourceSelector")).toInstance(selector);
 
             }
             

Modified: 
james/server/trunk/management-library/src/main/java/org/apache/james/management/impl/AvalonDomainListManagement.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/management-library/src/main/java/org/apache/james/management/impl/AvalonDomainListManagement.java?rev=891586&r1=891585&r2=891586&view=diff
==============================================================================
--- 
james/server/trunk/management-library/src/main/java/org/apache/james/management/impl/AvalonDomainListManagement.java
 (original)
+++ 
james/server/trunk/management-library/src/main/java/org/apache/james/management/impl/AvalonDomainListManagement.java
 Thu Dec 17 08:52:27 2009
@@ -23,17 +23,26 @@
 import java.util.List;
 
 import org.apache.avalon.framework.activity.Initializable;
+import org.apache.avalon.framework.configuration.Configurable;
+import org.apache.avalon.framework.configuration.Configuration;
+import org.apache.avalon.framework.configuration.ConfigurationException;
+import org.apache.avalon.framework.logger.LogEnabled;
+import org.apache.avalon.framework.logger.Logger;
 import org.apache.avalon.framework.service.ServiceException;
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.avalon.framework.service.Serviceable;
 import org.apache.james.api.domainlist.DomainList;
-import org.apache.james.bridge.GuiceInjected;
 import org.apache.james.management.DomainListManagementException;
 import org.apache.james.management.DomainListManagementMBean;
 import org.apache.james.management.DomainListManagementService;
+import org.apache.james.bridge.GuiceInjected;
+
+import org.guiceyfruit.jsr250.Jsr250Module;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Guice;
+import com.google.inject.name.Named;
+import com.google.inject.name.Names;
 
 public class AvalonDomainListManagement implements GuiceInjected, 
DomainListManagementService,DomainListManagementMBean, Serviceable, 
Initializable {
     private DomainList dList;
@@ -43,11 +52,11 @@
     }
 
     public void initialize() throws Exception {
-        mgmt = Guice.createInjector(new DomainListManagementModule(), new 
AbstractModule() {
+        mgmt = Guice.createInjector(new Jsr250Module(), new AbstractModule() {
 
             @Override
             protected void configure() {
-                bind(DomainList.class).toInstance(dList);
+                
bind(DomainList.class).annotatedWith(Names.named("org.apache.james.api.domainlist.DomainList")).toInstance(dList);
             }
             
         }).getInstance(DomainListManagement.class);

Modified: 
james/server/trunk/management-library/src/main/java/org/apache/james/management/impl/AvalonProcessorManagement.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/management-library/src/main/java/org/apache/james/management/impl/AvalonProcessorManagement.java?rev=891586&r1=891585&r2=891586&view=diff
==============================================================================
--- 
james/server/trunk/management-library/src/main/java/org/apache/james/management/impl/AvalonProcessorManagement.java
 (original)
+++ 
james/server/trunk/management-library/src/main/java/org/apache/james/management/impl/AvalonProcessorManagement.java
 Thu Dec 17 08:52:27 2009
@@ -22,13 +22,16 @@
 import org.apache.avalon.framework.service.ServiceException;
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.avalon.framework.service.Serviceable;
-import org.apache.james.bridge.GuiceInjected;
 import org.apache.james.management.ProcessorManagementMBean;
 import org.apache.james.management.ProcessorManagementService;
 import org.apache.james.services.SpoolManager;
+import org.apache.james.bridge.GuiceInjected;
+
+import org.guiceyfruit.jsr250.Jsr250Module;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Guice;
+import com.google.inject.name.Names;
 
 public class AvalonProcessorManagement implements GuiceInjected, Serviceable, 
Initializable, ProcessorManagementService, ProcessorManagementMBean {
 
@@ -41,11 +44,11 @@
     }
 
     public void initialize() throws Exception {
-        mgmt = Guice.createInjector(new ProcessorManagementModule(), new 
AbstractModule() {
+        mgmt = Guice.createInjector(new Jsr250Module(), new AbstractModule() {
 
             @Override
             protected void configure() {
-                bind(SpoolManager.class).toInstance(smanager);
+                
bind(SpoolManager.class).annotatedWith(Names.named("org.apache.james.services.SpoolManager")).toInstance(smanager);
             }
             
         }).getInstance(ProcessorManagement.class);

Modified: 
james/server/trunk/management-library/src/main/java/org/apache/james/management/impl/AvalonSpoolManagement.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/management-library/src/main/java/org/apache/james/management/impl/AvalonSpoolManagement.java?rev=891586&r1=891585&r2=891586&view=diff
==============================================================================
--- 
james/server/trunk/management-library/src/main/java/org/apache/james/management/impl/AvalonSpoolManagement.java
 (original)
+++ 
james/server/trunk/management-library/src/main/java/org/apache/james/management/impl/AvalonSpoolManagement.java
 Thu Dec 17 08:52:27 2009
@@ -28,14 +28,16 @@
 import org.apache.avalon.framework.service.ServiceException;
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.avalon.framework.service.Serviceable;
-import org.apache.james.bridge.GuiceInjected;
 import org.apache.james.management.SpoolFilter;
 import org.apache.james.management.SpoolManagementException;
 import org.apache.james.management.SpoolManagementMBean;
 import org.apache.james.management.SpoolManagementService;
+import org.apache.james.bridge.GuiceInjected;
+import org.guiceyfruit.jsr250.Jsr250Module;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Guice;
+import com.google.inject.name.Names;
 
 public class AvalonSpoolManagement  implements GuiceInjected, Serviceable, 
Initializable, SpoolManagementService, SpoolManagementMBean{
 
@@ -79,11 +81,11 @@
     }
 
     public void initialize() throws Exception {
-        mgmt = Guice.createInjector(new SpoolManagementModule(), new 
AbstractModule() {
+        mgmt = Guice.createInjector(new Jsr250Module(), new AbstractModule() {
 
             @Override
             protected void configure() {
-                bind(Store.class).toInstance(mailStore);
+                
bind(Store.class).annotatedWith(Names.named("org.apache.avalon.cornerstone.services.store.Store")).toInstance(mailStore);
             }
             
         }).getInstance(SpoolManagement.class);

Modified: james/server/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/pom.xml?rev=891586&r1=891585&r2=891586&view=diff
==============================================================================
--- james/server/trunk/pom.xml (original)
+++ james/server/trunk/pom.xml Thu Dec 17 08:52:27 2009
@@ -82,10 +82,6 @@
   </scm>
   <build>
     <plugins>
-      <plugin>    
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-      </plugin>  
       <plugin>
         <artifactId>maven-compiler-plugin</artifactId>
         <configuration>
@@ -184,22 +180,7 @@
       </snapshots>
     </repository>
      -->
-    <!-- enable central that is otherwise disabled by the parent pom. -->
-    <repository>
-      <id>central</id>
-      <url>http://repo1.maven.org/maven2</url>
-      <releases>
-         <enabled>true</enabled>
-      </releases>
-    </repository>
   </repositories>
-  <dependencies>
-       <dependency>
-               <groupId>org.osgi</groupId>
-               <artifactId>org.osgi</artifactId>
-               <version>3.0.0</version>
-       </dependency>
-  </dependencies>
   <reporting>
     <plugins>
     <!--
@@ -1169,26 +1150,11 @@
       <version>2.0</version>
     </dependency>
     <dependency>
-      <groupId>javax.annotation</groupId>
-      <artifactId>jsr250-api</artifactId>     
-      <version>1.0</version>
-    </dependency>
-    <dependency>
       <groupId>spring-aopalliance</groupId>
       <artifactId>spring-aopalliance</artifactId>
       <version>1.0</version>
       <scope>runtime</scope>
     </dependency>
-    <dependency>
-      <groupId>org.ops4j</groupId>
-      <artifactId>peaberry</artifactId>
-      <version>1.1.1</version>
-    </dependency> 
-    <dependency>
-      <groupId>org.osgi</groupId>
-      <artifactId>org.osgi</artifactId>
-      <version>3.0.0</version>
-    </dependency> 
   </dependencies>
   </dependencyManagement>
 

Modified: james/server/trunk/stage/pom.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/stage/pom.xml?rev=891586&r1=891585&r2=891586&view=diff
==============================================================================
--- james/server/trunk/stage/pom.xml (original)
+++ james/server/trunk/stage/pom.xml Thu Dec 17 08:52:27 2009
@@ -400,18 +400,10 @@
       <artifactId>guiceyfruit-core</artifactId>
     </dependency>
     <dependency>
-      <groupId>javax.annotation</groupId>
-      <artifactId>jsr250-api</artifactId>
-    </dependency>
-    <dependency>
       <groupId>spring-aopalliance</groupId>
       <artifactId>spring-aopalliance</artifactId>
       <scope>runtime</scope>
     </dependency>
-    <dependency>
-      <groupId>org.ops4j</groupId>
-      <artifactId>peaberry</artifactId>
-    </dependency> 
   </dependencies>
   
   <build>

Modified: james/server/trunk/user-library/pom.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/user-library/pom.xml?rev=891586&r1=891585&r2=891586&view=diff
==============================================================================
--- james/server/trunk/user-library/pom.xml (original)
+++ james/server/trunk/user-library/pom.xml Thu Dec 17 08:52:27 2009
@@ -28,41 +28,6 @@
   <artifactId>james-server-user-library</artifactId>
   <version>3.0-M1</version>
   <name>Apache JAMES Server User Library</name>
-
-  <build>
-    <plugins>
-      <plugin>
-        <artifactId>maven-jar-plugin</artifactId>
-        <configuration>
-          <archive>  
-            
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
-          </archive> 
-        </configuration>
-      </plugin>  
-      <plugin>    
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>bundle-manifest</id>
-            <phase>process-classes</phase>
-            <goals>    
-              <goal>manifest</goal>
-            </goals>   
-          </execution>
-        </executions>
-        <configuration>
-          <instructions>
-            
<Export-Package>org.apache.james.impl.jamesuser,org.apache.james.impl.user</Export-Package>
-            <Private-Package>org.apache.james.*</Private-Package>
-            
<Bundle-Activator>org.apache.james.osgi.UsersLibraryActivator</Bundle-Activator>
-          </instructions>
-        </configuration>
-      </plugin>  
-    </plugins>
-  </build>
-  
-  
   <dependencies>
     <dependency>
       <groupId>org.apache.james</groupId>
@@ -102,14 +67,7 @@
       <artifactId>spring-aopalliance</artifactId>
       <scope>runtime</scope>
     </dependency>
-    <dependency>
-      <groupId>org.ops4j</groupId>
-      <artifactId>peaberry</artifactId>
-    </dependency> 
-    <dependency>
-      <groupId>org.osgi</groupId>
-      <artifactId>org.osgi</artifactId>
-    </dependency> 
+    
     <dependency>
       <groupId>oro</groupId>
       <artifactId>oro</artifactId>

Modified: 
james/server/trunk/user-library/src/main/java/org/apache/james/impl/jamesuser/AvalonLocalJamesUsersRepository.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/user-library/src/main/java/org/apache/james/impl/jamesuser/AvalonLocalJamesUsersRepository.java?rev=891586&r1=891585&r2=891586&view=diff
==============================================================================
--- 
james/server/trunk/user-library/src/main/java/org/apache/james/impl/jamesuser/AvalonLocalJamesUsersRepository.java
 (original)
+++ 
james/server/trunk/user-library/src/main/java/org/apache/james/impl/jamesuser/AvalonLocalJamesUsersRepository.java
 Thu Dec 17 08:52:27 2009
@@ -21,24 +21,16 @@
 
 import java.util.Collection;
 
-import org.apache.james.api.user.UsersStore;
 import org.apache.james.api.vut.ErrorMappingException;
 import org.apache.james.impl.user.AvalonLocalUsersRepository;
+import org.guiceyfruit.jsr250.Jsr250Module;
 
-import com.google.inject.AbstractModule;
 import com.google.inject.Guice;
 
 public class AvalonLocalJamesUsersRepository extends 
AvalonLocalUsersRepository implements JamesUsersRepository{
     
     public void initialize() throws Exception {
-        repos = Guice.createInjector(new LocalJamesUsersRepositoryModule(), 
new AbstractModule() {
-
-            @Override
-            protected void configure() {
-                bind(UsersStore.class).toInstance(usersStore);
-            }
-            
-        }).getInstance(LocalJamesUsersRepository.class);
+        repos = Guice.createInjector(new Jsr250Module(), new 
LocalUsersRepositoryModule()).getInstance(LocalJamesUsersRepository.class);
     }
     
     public void setEnableAliases(boolean enableAliases) {

Modified: 
james/server/trunk/user-library/src/main/java/org/apache/james/impl/user/AvalonLocalUsersRepository.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/user-library/src/main/java/org/apache/james/impl/user/AvalonLocalUsersRepository.java?rev=891586&r1=891585&r2=891586&view=diff
==============================================================================
--- 
james/server/trunk/user-library/src/main/java/org/apache/james/impl/user/AvalonLocalUsersRepository.java
 (original)
+++ 
james/server/trunk/user-library/src/main/java/org/apache/james/impl/user/AvalonLocalUsersRepository.java
 Thu Dec 17 08:52:27 2009
@@ -28,30 +28,34 @@
 import org.apache.james.api.user.UsersRepository;
 import org.apache.james.api.user.UsersStore;
 import org.apache.james.bridge.GuiceInjected;
+import org.guiceyfruit.jsr250.Jsr250Module;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Guice;
+import com.google.inject.name.Names;
 
 public class AvalonLocalUsersRepository implements GuiceInjected, 
Initializable,Serviceable,UsersRepository{
 
-    protected UsersStore usersStore;
+    private UsersStore usersStore;
     protected LocalUsersRepository repos;
     
     public void initialize() throws Exception {
-        repos = Guice.createInjector(new LocalUsersRepositoryModule(), new 
AbstractModule() {
-
-            @Override
-            protected void configure() {
-                bind(UsersStore.class).toInstance(usersStore);
-            }
-            
-        }).getInstance(LocalUsersRepository.class);
+        repos = Guice.createInjector(new Jsr250Module(), new 
LocalUsersRepositoryModule()).getInstance(LocalUsersRepository.class);
     }
 
     public void service(ServiceManager manager) throws ServiceException {
         usersStore = (UsersStore) manager.lookup(UsersStore.ROLE);
     }
     
+    public class LocalUsersRepositoryModule extends AbstractModule {
+
+        @Override
+        protected void configure() {
+            
bind(UsersStore.class).annotatedWith(Names.named("org.apache.james.api.user.UsersStore")).toInstance(usersStore);
+        }
+        
+    }
+
     public boolean addUser(User user) {
         return repos.addUser(user);
     }

Modified: 
james/server/trunk/user-library/src/main/java/org/apache/james/impl/user/AvalonUserManagement.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/user-library/src/main/java/org/apache/james/impl/user/AvalonUserManagement.java?rev=891586&r1=891585&r2=891586&view=diff
==============================================================================
--- 
james/server/trunk/user-library/src/main/java/org/apache/james/impl/user/AvalonUserManagement.java
 (original)
+++ 
james/server/trunk/user-library/src/main/java/org/apache/james/impl/user/AvalonUserManagement.java
 Thu Dec 17 08:52:27 2009
@@ -29,10 +29,11 @@
 import org.apache.james.api.user.management.UserManagementException;
 import org.apache.james.api.user.management.UserManagementMBean;
 import org.apache.james.bridge.GuiceInjected;
+import org.guiceyfruit.jsr250.Jsr250Module;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Guice;
-
+import com.google.inject.name.Names;
 
 public class AvalonUserManagement implements UserManagementMBean, 
GuiceInjected, Serviceable, Initializable {
 
@@ -98,16 +99,17 @@
     }
 
     public void initialize() throws Exception {
-        bean = Guice.createInjector(new UserManagementModule(), new 
AbstractModule() {
-                       
-                       @Override
-                       protected void configure() {
-                               bind(UsersStore.class).toInstance(store);
-                               bind(UsersRepository.class).toInstance(repos);
-                       }
-               }).getInstance(UserManagement.class);
+        bean = Guice.createInjector(new Jsr250Module(), new 
UserManagementModule()).getInstance(UserManagement.class);
     }
     
-   
+    private class UserManagementModule extends AbstractModule {
+
+        @Override
+        protected void configure() {
+            
bind(UsersStore.class).annotatedWith(Names.named("org.apache.james.api.user.UsersStore")).toInstance(store);
+            
bind(UsersRepository.class).annotatedWith(Names.named("org.apache.james.api.user.UsersRepository")).toInstance(repos);
+        }
+        
+    }
 
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to