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 rd...@apache.org on 2008/09/16 21:38:48 UTC

svn commit: r696024 - in /james/server/trunk/imapserver-function/src: main/java/org/apache/james/experimental/imapserver/ main/java/org/apache/james/imapserver/ main/java/org/apache/james/imapserver/phoenix/ main/java/org/apache/james/mailboxmanager/im...

Author: rdonkin
Date: Tue Sep 16 12:38:47 2008
New Revision: 696024

URL: http://svn.apache.org/viewvc?rev=696024&view=rev
Log:
Rationalise avalon bindings

Added:
    james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/DefaultImapFactory.java
    james/server/trunk/imapserver-function/src/main/java/org/apache/james/mailboxmanager/torque/DefaultMailboxManager.java   (contents, props changed)
      - copied, changed from r695593, james/server/trunk/imapserver-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerFactory.java
Removed:
    james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/phoenix/PhoenixImapProcessorFactory.java
    james/server/trunk/imapserver-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerFactory.java
    james/server/trunk/imapserver-function/src/main/resources/org/apache/james/experimental/imapserver/DefaultImapDecoderFactory.xinfo
    james/server/trunk/imapserver-function/src/main/resources/org/apache/james/imapserver/codec/encode/main/DefaultImapEncoderFactory.xinfo
Modified:
    james/server/trunk/imapserver-function/src/main/java/org/apache/james/experimental/imapserver/ImapHandler.java
    james/server/trunk/imapserver-function/src/main/java/org/apache/james/experimental/imapserver/ImapServer.java
    james/server/trunk/imapserver-function/src/main/java/org/apache/james/mailboxmanager/impl/DefaultMailboxManagerProvider.java
    james/server/trunk/imapserver-function/src/test/java/org/apache/james/user/impl/file/FileUserMetaDataRepositoryTest.java

Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/experimental/imapserver/ImapHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/experimental/imapserver/ImapHandler.java?rev=696024&r1=696023&r2=696024&view=diff
==============================================================================
--- james/server/trunk/imapserver-function/src/main/java/org/apache/james/experimental/imapserver/ImapHandler.java (original)
+++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/experimental/imapserver/ImapHandler.java Tue Sep 16 12:38:47 2008
@@ -19,28 +19,23 @@
 
 package org.apache.james.experimental.imapserver;
 
+import java.io.IOException;
+import java.net.Socket;
+
 import org.apache.avalon.cornerstone.services.connection.ConnectionHandler;
 import org.apache.avalon.framework.container.ContainerUtil;
 import org.apache.avalon.framework.logger.Logger;
-import org.apache.james.Constants;
-import org.apache.james.api.imap.ImapConstants;
-import org.apache.james.api.imap.process.ImapProcessor;
 import org.apache.james.api.imap.process.ImapSession;
 import org.apache.james.experimental.imapserver.encode.writer.OutputStreamImapResponseWriter;
-import org.apache.james.imapserver.codec.decode.ImapDecoder;
-import org.apache.james.imapserver.codec.encode.ImapEncoder;
 import org.apache.james.imapserver.codec.encode.ImapResponseComposer;
 import org.apache.james.imapserver.codec.encode.base.ImapResponseComposerImpl;
 import org.apache.james.socket.ProtocolHandler;
 import org.apache.james.socket.ProtocolHandlerHelper;
 
-import java.io.IOException;
-import java.net.Socket;
-
 /**
  * Handles IMAP connections.
  */
-public class ImapHandler implements ProtocolHandler, ImapConstants
+public class ImapHandler implements ProtocolHandler
 {
     
     private ProtocolHandlerHelper helper;
@@ -48,32 +43,19 @@
     private static final byte[] EMERGENCY_SIGNOFF = {'*',' ', 'B', 'Y', 'E', ' ', 
         'S', 'e', 'r', 'v', 'e', 'r', ' ', 'f', 'a', 'u', 'l', 't', '\r', '\n'};
 
-    // TODO: inject dependency
-    private String softwaretype = "JAMES "+VERSION+" Server " + Constants.SOFTWARE_VERSION;
-    private ImapRequestHandler requestHandler;
+    private final String hello;
+    private final ImapRequestHandler requestHandler;
     private ImapSession session;
 
-    /**
-     * The per-service configuration data that applies to all handlers
-     */
-    private ImapHandlerConfigurationData theConfigData;
-
-    /**
-     * Set the configuration data for the handler.
-     *
-     * @param theData the configuration data
-     */
+    public ImapHandler(final ImapRequestHandler requestHandler, final String hello) {
+        super();
+        this.requestHandler = requestHandler;
+        this.hello = hello;
+    }
+    
+    // TODO: this shouldn't be necessary
     public void setConfigurationData( Object theData )
     {
-        if (theData instanceof ImapHandlerConfigurationData) {
-            theConfigData = (ImapHandlerConfigurationData) theData;
-            final ImapEncoder imapEncoder = theConfigData.getImapEncoder();
-            final ImapProcessor imapProcessor = theConfigData.getImapProcessor();
-            final ImapDecoder imapDecoder = theConfigData.getImapDecoder();
-            requestHandler = new ImapRequestHandler(imapDecoder, imapProcessor, imapEncoder);
-        } else {
-            throw new IllegalArgumentException("Configuration object does not implement POP3HandlerConfigurationData");
-        }
     }
 
     /**
@@ -102,8 +84,7 @@
 
             // Write welcome message
                  
-            response.okResponse(null, softwaretype + " Server "
-                    + theConfigData.getHelloName() + " is ready.");
+            response.okResponse(null, hello);
 
             session = new ImapSessionImpl();
             

Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/experimental/imapserver/ImapServer.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/experimental/imapserver/ImapServer.java?rev=696024&r1=696023&r2=696024&view=diff
==============================================================================
--- james/server/trunk/imapserver-function/src/main/java/org/apache/james/experimental/imapserver/ImapServer.java (original)
+++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/experimental/imapserver/ImapServer.java Tue Sep 16 12:38:47 2008
@@ -23,13 +23,11 @@
 import org.apache.avalon.framework.configuration.ConfigurationException;
 import org.apache.avalon.framework.service.ServiceException;
 import org.apache.avalon.framework.service.ServiceManager;
-import org.apache.james.api.imap.process.ImapProcessor;
-import org.apache.james.api.imap.process.ImapProcessorFactory;
-import org.apache.james.imapserver.codec.decode.ImapDecoder;
-import org.apache.james.imapserver.codec.decode.ImapDecoderFactory;
-import org.apache.james.imapserver.codec.encode.ImapEncoder;
-import org.apache.james.imapserver.codec.encode.ImapEncoderFactory;
-import org.apache.james.services.MailServer;
+import org.apache.james.Constants;
+import org.apache.james.api.imap.ImapConstants;
+import org.apache.james.api.user.UsersRepository;
+import org.apache.james.imapserver.DefaultImapFactory;
+import org.apache.james.services.FileSystem;
 import org.apache.james.socket.AbstractJamesService;
 import org.apache.james.socket.ProtocolHandler;
 
@@ -41,57 +39,35 @@
  *
  * <p>Also responsible for loading and parsing IMAP specific configuration.</p>
  */
-public class ImapServer extends AbstractJamesService
+public class ImapServer extends AbstractJamesService implements ImapConstants
 {
-    /**
-     * The number of bytes to read before resetting
-     * the connection timeout timer.  Defaults to
-     * 20 KB.
-     */
-    private int lengthReset = 20 * 1024;
-
-    /**
-     * The configuration data to be passed to the handler
-     */
-    private ImapHandlerConfigurationDataImpl theConfigData = new ImapHandlerConfigurationDataImpl();
+    private static final String softwaretype = "JAMES "+VERSION+" Server " + Constants.SOFTWARE_VERSION;
+     
+    private DefaultImapFactory factory;
+    
+    private String hello = softwaretype;
 
-    private MailServer mailServer;
-    private ImapDecoderFactory decoderFactory;
-    private ImapEncoderFactory encoderFactory;
-    private ImapProcessorFactory processorFactory;
+    public ImapServer()
+    {
+    }
     
-    private ImapProcessor imapProcessor;
-    private ImapDecoder imapDecoder;
-    private ImapEncoder imapEncoder;
     
-    public void service( ServiceManager serviceManager ) throws ServiceException
-    {
-        super.service( serviceManager );
-        setMailServer((MailServer) serviceManager.lookup(MailServer.ROLE));
-        processorFactory = (ImapProcessorFactory) serviceManager.lookup(ImapProcessorFactory.class.getName());
-        decoderFactory = (ImapDecoderFactory) serviceManager.lookup(ImapDecoderFactory.class.getName());
-        encoderFactory = (ImapEncoderFactory) serviceManager.lookup(ImapEncoderFactory.class.getName());
+    
+    public void service(ServiceManager comp) throws ServiceException {
+        super.service(comp);
+        factory = new DefaultImapFactory((FileSystem) comp.lookup(FileSystem.ROLE), 
+                (UsersRepository) comp.lookup(UsersRepository.ROLE), getLogger());
     }
 
-    void setMailServer(MailServer mailServer) {
-        this.mailServer = mailServer;
-    }
-    
+
+
     /**
      * @see org.apache.avalon.framework.configuration.Configurable#configure(Configuration)
      */
     public void configure( final Configuration configuration ) throws ConfigurationException
     {
         super.configure( configuration );
-        if ( isEnabled() ) {
-            Configuration handlerConfiguration = configuration.getChild( "handler" );
-            lengthReset = handlerConfiguration.getChild( "lengthReset" ).getValueAsInteger( lengthReset );
-            getLogger().info( "The idle timeout will be reset every " + lengthReset + " bytes." );
-            
-            imapProcessor = processorFactory.buildImapProcessor();
-            imapDecoder = decoderFactory.buildImapDecoder();
-            imapEncoder = encoderFactory.buildImapEncoder();
-        }
+        hello  = softwaretype + " Server " + helloName + " is ready.";
     }
     
     /**
@@ -116,52 +92,14 @@
      */
     public ProtocolHandler newProtocolHandlerInstance()
     {
-        final ImapHandler imapHandler = new ImapHandler(); 
+        final ImapRequestHandler handler = factory.createHandler();
+        final ImapHandler imapHandler = new ImapHandler(handler, hello); 
         getLogger().debug("Create handler instance");
         return imapHandler;
     }
 
-    /**
-     * Provides configuration to the handlers.
-     */
-    private class ImapHandlerConfigurationDataImpl implements ImapHandlerConfigurationData
-    {
-
-        /**
-         * @see ImapHandlerConfigurationData#getHelloName()
-         */
-        public String getHelloName()
-        {
-            if (ImapServer.this.helloName == null) {
-                return ImapServer.this.mailServer.getHelloName();
-            } else {
-                return ImapServer.this.helloName;
-            }
-        }
-
-        /**
-         * @see ImapHandlerConfigurationData#getResetLength()
-         */
-        public int getResetLength()
-        {
-            return ImapServer.this.lengthReset;
-        }
-
-        public ImapDecoder getImapDecoder() {
-            return imapDecoder;
-        }
-
-        public ImapEncoder getImapEncoder() {
-            return imapEncoder;
-        }
-
-        public ImapProcessor getImapProcessor() {
-            return imapProcessor;
-        }
-    }
-
+    // TODO: 
     protected Object getConfigurationData() {
-        return theConfigData;
+        return null;
     }
-
 }

Added: james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/DefaultImapFactory.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/DefaultImapFactory.java?rev=696024&view=auto
==============================================================================
--- james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/DefaultImapFactory.java (added)
+++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/DefaultImapFactory.java Tue Sep 16 12:38:47 2008
@@ -0,0 +1,60 @@
+/****************************************************************
+ * 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.imapserver;
+
+
+import org.apache.avalon.framework.logger.Logger;
+import org.apache.james.api.imap.process.ImapProcessor;
+import org.apache.james.api.user.UsersRepository;
+import org.apache.james.experimental.imapserver.DefaultImapDecoderFactory;
+import org.apache.james.experimental.imapserver.ImapRequestHandler;
+import org.apache.james.imapserver.codec.decode.ImapDecoder;
+import org.apache.james.imapserver.codec.encode.ImapEncoder;
+import org.apache.james.imapserver.codec.encode.main.DefaultImapEncoderFactory;
+import org.apache.james.imapserver.processor.main.DefaultImapProcessorFactory;
+import org.apache.james.mailboxmanager.impl.DefaultMailboxManagerProvider;
+import org.apache.james.mailboxmanager.torque.DefaultMailboxManager;
+import org.apache.james.mailboxmanager.torque.DefaultUserManager;
+import org.apache.james.services.FileSystem;
+import org.apache.james.user.impl.file.FileUserMetaDataRepository;
+
+public class DefaultImapFactory {
+
+    private final ImapEncoder encoder;
+    private final ImapDecoder decoder;
+    private final ImapProcessor processor;
+    
+    public DefaultImapFactory(FileSystem fileSystem, UsersRepository users, Logger logger) {
+        super();
+        decoder = new DefaultImapDecoderFactory().buildImapDecoder();
+        encoder = new DefaultImapEncoderFactory().buildImapEncoder();
+        processor = DefaultImapProcessorFactory.createDefaultProcessor(
+                new DefaultMailboxManagerProvider(
+                        new DefaultMailboxManager(new DefaultUserManager(
+                                new FileUserMetaDataRepository("var/users"), users), fileSystem, logger)));
+    }
+
+
+
+    public ImapRequestHandler createHandler()
+    { 
+        return new ImapRequestHandler(decoder, processor, encoder);
+    }
+}

Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/mailboxmanager/impl/DefaultMailboxManagerProvider.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/mailboxmanager/impl/DefaultMailboxManagerProvider.java?rev=696024&r1=696023&r2=696024&view=diff
==============================================================================
--- james/server/trunk/imapserver-function/src/main/java/org/apache/james/mailboxmanager/impl/DefaultMailboxManagerProvider.java (original)
+++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/mailboxmanager/impl/DefaultMailboxManagerProvider.java Tue Sep 16 12:38:47 2008
@@ -19,68 +19,21 @@
 
 package org.apache.james.mailboxmanager.impl;
 
-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.container.ContainerUtil;
-import org.apache.avalon.framework.logger.AbstractLogEnabled;
-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.mailboxmanager.MailboxManagerException;
 import org.apache.james.mailboxmanager.manager.MailboxManager;
 import org.apache.james.mailboxmanager.manager.MailboxManagerProvider;
 
-public class DefaultMailboxManagerProvider extends AbstractLogEnabled implements MailboxManagerProvider, Configurable, Serviceable, Initializable {
+public class DefaultMailboxManagerProvider implements MailboxManagerProvider {
 
-    public static final char HIERARCHY_DELIMITER = '.';
-
-    public static final String USER_NAMESPACE = "#mail";
-
-    public static final String INBOX = "INBOX";
-
-    private MailboxManager mailboxManager;
-
-    private ServiceManager serviceManager;
-
-    public MailboxManager getMailboxManager()
-            throws MailboxManagerException {
-        return mailboxManager;
-    }
-
-    public void configure(Configuration conf) throws ConfigurationException {
-        Configuration factoryConf=conf.getChild("factory",false);
-        String className=factoryConf.getAttribute("class");
-        MailboxManager factory= (MailboxManager) getClassInstace(className);
-        ContainerUtil.enableLogging(factory, getLogger());
-        ContainerUtil.configure(factory, factoryConf);
-        setMailboxManagerInstance(factory);
-    }
+    private final MailboxManager mailboxManager;
     
-    public void setMailboxManagerInstance(MailboxManager mailboxManager) {
+    public DefaultMailboxManagerProvider(final MailboxManager mailboxManager) {
+        super();
         this.mailboxManager = mailboxManager;
     }
 
-    private static Object getClassInstace(String name) {
-        Object object=null;
-        try {
-            Class clazz = Thread.currentThread().getContextClassLoader().loadClass(name);
-            object=clazz.newInstance();
-            return object;
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
-        
-    }
-
-    public void service(ServiceManager serviceManager) throws ServiceException {
-        this.serviceManager=serviceManager;
-        
-    }
-
-    public void initialize() throws Exception {
-        ContainerUtil.service(mailboxManager, serviceManager);
-        ContainerUtil.initialize(mailboxManager);
+    public MailboxManager getMailboxManager()
+            throws MailboxManagerException {
+        return mailboxManager;
     }
 }

Copied: james/server/trunk/imapserver-function/src/main/java/org/apache/james/mailboxmanager/torque/DefaultMailboxManager.java (from r695593, james/server/trunk/imapserver-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerFactory.java)
URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/mailboxmanager/torque/DefaultMailboxManager.java?p2=james/server/trunk/imapserver-function/src/main/java/org/apache/james/mailboxmanager/torque/DefaultMailboxManager.java&p1=james/server/trunk/imapserver-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerFactory.java&r1=695593&r2=696024&rev=696024&view=diff
==============================================================================
--- james/server/trunk/imapserver-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerFactory.java (original)
+++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/mailboxmanager/torque/DefaultMailboxManager.java Tue Sep 16 12:38:47 2008
@@ -27,22 +27,12 @@
 import java.util.HashMap;
 import java.util.Locale;
 
-import org.apache.avalon.framework.activity.Initializable;
-import org.apache.avalon.framework.configuration.Configurable;
 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.commons.configuration.BaseConfiguration;
 import org.apache.commons.configuration.PropertiesConfiguration;
 import org.apache.commons.logging.impl.AvalonLogger;
-import org.apache.james.api.user.UserMetaDataRespository;
-import org.apache.james.api.user.UsersRepository;
 import org.apache.james.mailboxmanager.MailboxManagerException;
-import org.apache.james.mailboxmanager.manager.MailboxManager;
-import org.apache.james.mailboxmanager.manager.MailboxManagerProvider;
 import org.apache.james.mailboxmanager.torque.om.MailboxRowPeer;
 import org.apache.james.mailboxmanager.torque.om.MessageBodyPeer;
 import org.apache.james.mailboxmanager.torque.om.MessageFlagsPeer;
@@ -55,24 +45,26 @@
 import org.apache.torque.util.BasePeer;
 import org.apache.torque.util.Transaction;
 
-public class TorqueMailboxManagerFactory extends TorqueMailboxManager implements MailboxManager, 
-        Configurable, Initializable, Serviceable, LogEnabled {
-
-    public TorqueMailboxManagerFactory(UserManager userManager) {
-        super(userManager);
-    }
+public class DefaultMailboxManager extends TorqueMailboxManager {
 
+    private static final String[] tableNames = new String[] {
+        MailboxRowPeer.TABLE_NAME, MessageRowPeer.TABLE_NAME,
+        MessageHeaderPeer.TABLE_NAME, MessageBodyPeer.TABLE_NAME,
+        MessageFlagsPeer.TABLE_NAME };
+    
     private BaseConfiguration torqueConf;
 
     private boolean initialized;
 
-    private FileSystem fileSystem;
+    private final FileSystem fileSystem;
     private String configFile;
+    
+    public DefaultMailboxManager(UserManager userManager, FileSystem fileSystem, Logger logger) {
+        super(userManager);
+        this.fileSystem = fileSystem;
+        log = new AvalonLogger(logger);
+    }
 
-    private static final String[] tableNames = new String[] {
-            MailboxRowPeer.TABLE_NAME, MessageRowPeer.TABLE_NAME,
-            MessageHeaderPeer.TABLE_NAME, MessageBodyPeer.TABLE_NAME,
-            MessageFlagsPeer.TABLE_NAME };
     
     public void initialize() throws Exception {
         if (!initialized) {
@@ -89,7 +81,7 @@
                 SqlResources sqlResources = new SqlResources();
                 sqlResources.init(fileSystem
                         .getResource(configFile),
-                        TorqueMailboxManagerFactory.class.getName(), conn,
+                        DefaultMailboxManager.class.getName(), conn,
                         new HashMap());
 
                 DatabaseMetaData dbMetaData = conn.getMetaData();
@@ -189,29 +181,4 @@
             }
         }
     }
-
-    public boolean isInitialized() {
-        return initialized;
-    }
-
-    public String toString() {
-        return "TorqueMailboxManagerFactory";
-    }
-
-    public void enableLogging(Logger logger) {
-        log = new AvalonLogger(logger);
-
-    }
-
-    public void service(ServiceManager serviceManager) throws ServiceException {
-        setFileSystem((FileSystem) serviceManager.lookup(FileSystem.ROLE));
-//        UsersRepository usersRepository = ( UsersRepository ) serviceManager.
-//        lookup( UsersRepository.ROLE );
-//    UserMetaDataRespository userMetaDataRepository =
-//        (UserMetaDataRespository) serviceManager.lookup( UserMetaDataRespository.ROLE );
-    }
-
-    protected void setFileSystem(FileSystem system) {
-        this.fileSystem = system;
-    }
 }

Propchange: james/server/trunk/imapserver-function/src/main/java/org/apache/james/mailboxmanager/torque/DefaultMailboxManager.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: james/server/trunk/imapserver-function/src/main/java/org/apache/james/mailboxmanager/torque/DefaultMailboxManager.java
------------------------------------------------------------------------------
    svn:mergeinfo = 

Modified: james/server/trunk/imapserver-function/src/test/java/org/apache/james/user/impl/file/FileUserMetaDataRepositoryTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/test/java/org/apache/james/user/impl/file/FileUserMetaDataRepositoryTest.java?rev=696024&r1=696023&r2=696024&view=diff
==============================================================================
--- james/server/trunk/imapserver-function/src/test/java/org/apache/james/user/impl/file/FileUserMetaDataRepositoryTest.java (original)
+++ james/server/trunk/imapserver-function/src/test/java/org/apache/james/user/impl/file/FileUserMetaDataRepositoryTest.java Tue Sep 16 12:38:47 2008
@@ -21,10 +21,10 @@
 
 import java.io.File;
 
-import org.apache.commons.io.FileUtils;
-
 import junit.framework.TestCase;
 
+import org.apache.commons.io.FileUtils;
+
 public class FileUserMetaDataRepositoryTest extends TestCase {
 
     private static final String SYMBOLIC_KEY = "\\/><'@~ #][}{()=+.,| !`%$3\" exit(0)";



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