You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2009/11/25 22:27:06 UTC

svn commit: r884280 - /james/server/trunk/imapserver-function/src/main/java/org/apache/james/user/impl/file/FileUserMetaDataService.java

Author: norman
Date: Wed Nov 25 21:27:05 2009
New Revision: 884280

URL: http://svn.apache.org/viewvc?rev=884280&view=rev
Log:
More decoupling of Avalon to move to Guice (JAMES-893)

Modified:
    james/server/trunk/imapserver-function/src/main/java/org/apache/james/user/impl/file/FileUserMetaDataService.java

Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/user/impl/file/FileUserMetaDataService.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/user/impl/file/FileUserMetaDataService.java?rev=884280&r1=884279&r2=884280&view=diff
==============================================================================
--- james/server/trunk/imapserver-function/src/main/java/org/apache/james/user/impl/file/FileUserMetaDataService.java (original)
+++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/user/impl/file/FileUserMetaDataService.java Wed Nov 25 21:27:05 2009
@@ -21,40 +21,50 @@
 
 import java.io.Serializable;
 
-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.AbstractLogEnabled;
+import javax.annotation.PostConstruct;
+import javax.annotation.Resource;
+
+import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.james.api.user.UserMetaDataRespository;
 import org.apache.james.api.user.UserRepositoryException;
-import org.apache.james.user.impl.file.FileUserMetaDataRepository;
 
-public class FileUserMetaDataService extends AbstractLogEnabled 
-        implements UserMetaDataRespository, Configurable, Initializable {
+public class FileUserMetaDataService implements UserMetaDataRespository {
 
     private UserMetaDataRespository repository;
-    private String baseDirectory;
+    private HierarchicalConfiguration configuration;
+    
+    @Resource(name="org.apache.commons.configuration.Configuration")
+    public void setConfiguration(HierarchicalConfiguration configuration) {
+        this.configuration = configuration;
+    }
     
+    /**
+     * @see org.apache.james.api.user.UserMetaDataRespository#clear(java.lang.String)
+     */
     public void clear(String username) throws UserRepositoryException {
         repository.clear(username);
     }
 
+    /**
+     * @see org.apache.james.api.user.UserMetaDataRespository#getAttribute(java.lang.String, java.lang.String)
+     */
     public Serializable getAttribute(String username, String key)
             throws UserRepositoryException {
         return repository.getAttribute(username, key);
     }
 
+    /**
+     * @see org.apache.james.api.user.UserMetaDataRespository#setAttribute(java.lang.String, java.io.Serializable, java.lang.String)
+     */
     public void setAttribute(String username, Serializable value, String key)
             throws UserRepositoryException {
         repository.setAttribute(username, value, key);
     }
 
-    public void configure(final Configuration configuration) throws ConfigurationException {
-        baseDirectory = configuration.getAttribute("baseDir");
-    }
+    @PostConstruct
+    public void init() throws Exception {
+        String baseDirectory = configuration.getString("[@baseDir]");
 
-    public void initialize() throws Exception {
         repository = new FileUserMetaDataRepository(baseDirectory);
     }
 



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