You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by ng...@apache.org on 2008/10/13 22:12:11 UTC

svn commit: r704228 [2/2] - in /mina/ftpserver/trunk/core/src: examples/java/org/apache/ftpserver/examples/ main/java/org/apache/ftpserver/ main/java/org/apache/ftpserver/command/ main/java/org/apache/ftpserver/command/impl/ main/java/org/apache/ftpser...

Copied: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/DefaultFtpServer.java (from r701885, mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/FtpServer.java)
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/DefaultFtpServer.java?p2=mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/DefaultFtpServer.java&p1=mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/FtpServer.java&r1=701885&r2=704228&rev=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/FtpServer.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/DefaultFtpServer.java Mon Oct 13 13:12:08 2008
@@ -17,15 +17,17 @@
  * under the License.
  */
 
-package org.apache.ftpserver;
+package org.apache.ftpserver.impl;
 
 import java.util.Map;
 
+import org.apache.ftpserver.ConnectionConfig;
+import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.FtpServerFactory;
 import org.apache.ftpserver.command.CommandFactory;
 import org.apache.ftpserver.ftplet.FileSystemFactory;
 import org.apache.ftpserver.ftplet.Ftplet;
 import org.apache.ftpserver.ftplet.UserManager;
-import org.apache.ftpserver.ftpletcontainer.impl.DefaultFtpletContainer;
 import org.apache.ftpserver.listener.Listener;
 import org.apache.ftpserver.message.MessageResource;
 import org.slf4j.Logger;
@@ -39,9 +41,9 @@
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev$, $Date$
  */
-public class FtpServer {
+public class DefaultFtpServer implements FtpServer {
 
-    private final Logger LOG = LoggerFactory.getLogger(FtpServer.class);
+    private final Logger LOG = LoggerFactory.getLogger(DefaultFtpServer.class);
 
     private FtpServerContext serverContext;
 
@@ -50,20 +52,9 @@
     private boolean started = false;
 
     /**
-     * Creates a server with the default configuration
-     * 
-     * @throws Exception
-     */
-    public FtpServer() throws Exception {
-        serverContext = new DefaultFtpServerContext();
-    }
-
-    /**
-     * Constructor. Set a custom the server context.
-     * 
-     * @throws Exception
+     * Internal constructor, do not use directly. Use {@link FtpServerFactory} instead
      */
-    public FtpServer(final FtpServerContext serverContext) throws Exception {
+    public DefaultFtpServer(final FtpServerContext serverContext) {
         this.serverContext = serverContext;
     }
 
@@ -164,15 +155,6 @@
         return serverContext;
     }
 
-    private DefaultFtpServerContext checkAndGetContext() {
-        if (getServerContext() instanceof DefaultFtpServerContext) {
-            return (DefaultFtpServerContext) getServerContext();
-        } else {
-            throw new IllegalStateException(
-                    "Custom FtpServerContext provided, setters can not be used on FtpServer");
-        }
-    }
-
     /**
      * Get all listeners available one this server
      * 
@@ -193,23 +175,6 @@
         return getServerContext().getListener(name);
     }
 
-    public void addListener(final String name, final Listener listener) {
-        checkAndGetContext().addListener(name, listener);
-    }
-
-    /**
-     * Set the listeners for this server, replaces existing listeners
-     * 
-     * @param listeners
-     *            The listeners to use for this server with the name as the key
-     *            and the listener as the value
-     * @throws IllegalStateException
-     *             If a custom server context has been set
-     */
-    public void setListeners(final Map<String, Listener> listeners) {
-        checkAndGetContext().setListeners(listeners);
-    }
-
     /**
      * Get all {@link Ftplet}s registered at this server
      * 
@@ -220,20 +185,6 @@
     }
 
     /**
-     * Set the {@link Ftplet}s to be active for this server. Replaces existing
-     * {@link Ftplet}s
-     * 
-     * @param ftplets
-     *            Ftplets as a map with the name as the key and the Ftplet as
-     *            the value
-     * @throws IllegalStateException
-     *             If a custom server context has been set
-     */
-    public void setFtplets(final Map<String, Ftplet> ftplets) {
-        checkAndGetContext().setFtpletContainer(new DefaultFtpletContainer(ftplets));
-    }
-
-    /**
      * Retrieve the user manager used with this server
      * 
      * @return The user manager
@@ -243,18 +194,6 @@
     }
 
     /**
-     * Set the user manager to be used for this server
-     * 
-     * @param userManager
-     *            The {@link UserManager}
-     * @throws IllegalStateException
-     *             If a custom server context has been set
-     */
-    public void setUserManager(final UserManager userManager) {
-        checkAndGetContext().setUserManager(userManager);
-    }
-
-    /**
      * Retrieve the file system used with this server
      * 
      * @return The {@link FileSystemFactory}
@@ -264,18 +203,6 @@
     }
 
     /**
-     * Set the file system to be used for this server
-     * 
-     * @param fileSystem
-     *            The {@link FileSystemFactory}
-     * @throws IllegalStateException
-     *             If a custom server context has been set
-     */
-    public void setFileSystem(final FileSystemFactory fileSystem) {
-        checkAndGetContext().setFileSystemManager(fileSystem);
-    }
-
-    /**
      * Retrieve the command factory used with this server
      * 
      * @return The {@link CommandFactory}
@@ -285,18 +212,6 @@
     }
 
     /**
-     * Set the command factory to be used for this server
-     * 
-     * @param commandFactory
-     *            The {@link CommandFactory}
-     * @throws IllegalStateException
-     *             If a custom server context has been set
-     */
-    public void setCommandFactory(final CommandFactory commandFactory) {
-        checkAndGetContext().setCommandFactory(commandFactory);
-    }
-
-    /**
      * Retrieve the message resource used with this server
      * 
      * @return The {@link MessageResource}
@@ -306,18 +221,6 @@
     }
 
     /**
-     * Set the message resource to be used with this server
-     * 
-     * @param messageResource
-     *            The {@link MessageResource}
-     * @throws IllegalStateException
-     *             If a custom server context has been set
-     */
-    public void setMessageResource(final MessageResource messageResource) {
-        checkAndGetContext().setMessageResource(messageResource);
-    }
-
-    /**
      * Retrieve the connection configuration this server
      * 
      * @return The {@link MessageResource}
@@ -325,16 +228,4 @@
     public ConnectionConfig getConnectionConfig() {
         return getServerContext().getConnectionConfig();
     }
-
-    /**
-     * Set the message resource to be used with this server
-     * 
-     * @param messageResource
-     *            The {@link MessageResource}
-     * @throws IllegalStateException
-     *             If a custom server context has been set
-     */
-    public void setConnectionConfig(final ConnectionConfig connectionConfig) {
-        checkAndGetContext().setConnectionConfig(connectionConfig);
-    }
 }

Propchange: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/DefaultFtpServer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/DefaultFtpServer.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Copied: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/DefaultFtpServerContext.java (from r703875, mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DefaultFtpServerContext.java)
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/DefaultFtpServerContext.java?p2=mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/DefaultFtpServerContext.java&p1=mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DefaultFtpServerContext.java&r1=703875&r2=704228&rev=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DefaultFtpServerContext.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/DefaultFtpServerContext.java Mon Oct 13 13:12:08 2008
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.ftpserver;
+package org.apache.ftpserver.impl;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -25,6 +25,8 @@
 import java.util.List;
 import java.util.Map;
 
+import org.apache.ftpserver.ConnectionConfig;
+import org.apache.ftpserver.DefaultConnectionConfig;
 import org.apache.ftpserver.command.CommandFactory;
 import org.apache.ftpserver.command.CommandFactoryFactory;
 import org.apache.ftpserver.filesystem.nativefs.NativeFileSystemFactory;
@@ -35,7 +37,6 @@
 import org.apache.ftpserver.ftplet.UserManager;
 import org.apache.ftpserver.ftpletcontainer.FtpletContainer;
 import org.apache.ftpserver.ftpletcontainer.impl.DefaultFtpletContainer;
-import org.apache.ftpserver.impl.DefaultFtpStatistics;
 import org.apache.ftpserver.listener.Listener;
 import org.apache.ftpserver.listener.ListenerFactory;
 import org.apache.ftpserver.message.MessageResource;

Propchange: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/DefaultFtpServerContext.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/FtpHandler.java (from r701863, mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/FtpHandler.java)
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/FtpHandler.java?p2=mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/FtpHandler.java&p1=mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/FtpHandler.java&r1=701863&r2=704228&rev=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/FtpHandler.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/FtpHandler.java Mon Oct 13 13:12:08 2008
@@ -17,13 +17,12 @@
  * under the License.
  */
 
-package org.apache.ftpserver;
+package org.apache.ftpserver.impl;
 
 import java.io.IOException;
 
 import org.apache.ftpserver.ftplet.FtpReply;
 import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.impl.FtpIoSession;
 import org.apache.ftpserver.listener.Listener;
 import org.apache.mina.core.service.IoHandler;
 import org.apache.mina.core.session.IdleStatus;

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/FtpIoSession.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/FtpIoSession.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/FtpIoSession.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/FtpIoSession.java Mon Oct 13 13:12:08 2008
@@ -28,7 +28,6 @@
 import javax.net.ssl.SSLPeerUnverifiedException;
 import javax.net.ssl.SSLSession;
 
-import org.apache.ftpserver.FtpServerContext;
 import org.apache.ftpserver.ftplet.DataType;
 import org.apache.ftpserver.ftplet.FileSystemView;
 import org.apache.ftpserver.ftplet.FtpFile;

Copied: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/FtpServerContext.java (from r701863, mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/FtpServerContext.java)
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/FtpServerContext.java?p2=mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/FtpServerContext.java&p1=mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/FtpServerContext.java&r1=701863&r2=704228&rev=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/FtpServerContext.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/FtpServerContext.java Mon Oct 13 13:12:08 2008
@@ -17,10 +17,11 @@
  * under the License.
  */
 
-package org.apache.ftpserver;
+package org.apache.ftpserver.impl;
 
 import java.util.Map;
 
+import org.apache.ftpserver.ConnectionConfig;
 import org.apache.ftpserver.command.CommandFactory;
 import org.apache.ftpserver.ftplet.FtpletContext;
 import org.apache.ftpserver.ftpletcontainer.FtpletContainer;

Propchange: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/FtpServerContext.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/FtpServerContext.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/IODataConnectionFactory.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/IODataConnectionFactory.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/IODataConnectionFactory.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/IODataConnectionFactory.java Mon Oct 13 13:12:08 2008
@@ -34,7 +34,6 @@
 
 import org.apache.ftpserver.DataConnectionConfiguration;
 import org.apache.ftpserver.DataConnectionException;
-import org.apache.ftpserver.FtpServerContext;
 import org.apache.ftpserver.ftplet.DataConnection;
 import org.apache.ftpserver.ftplet.FtpException;
 import org.apache.ftpserver.ssl.ClientAuth;

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/LocalizedFtpReply.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/LocalizedFtpReply.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/LocalizedFtpReply.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/impl/LocalizedFtpReply.java Mon Oct 13 13:12:08 2008
@@ -23,7 +23,6 @@
 import java.net.InetSocketAddress;
 import java.net.SocketAddress;
 
-import org.apache.ftpserver.FtpServerContext;
 import org.apache.ftpserver.ftplet.DefaultFtpReply;
 import org.apache.ftpserver.ftplet.FileSystemView;
 import org.apache.ftpserver.ftplet.FtpRequest;

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/Listener.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/Listener.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/Listener.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/Listener.java Mon Oct 13 13:12:08 2008
@@ -24,8 +24,8 @@
 import java.util.Set;
 
 import org.apache.ftpserver.DataConnectionConfiguration;
-import org.apache.ftpserver.FtpServerContext;
 import org.apache.ftpserver.impl.FtpIoSession;
+import org.apache.ftpserver.impl.FtpServerContext;
 import org.apache.ftpserver.ssl.SslConfiguration;
 import org.apache.mina.filter.firewall.Subnet;
 

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/FtpHandlerAdapter.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/FtpHandlerAdapter.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/FtpHandlerAdapter.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/FtpHandlerAdapter.java Mon Oct 13 13:12:08 2008
@@ -19,12 +19,12 @@
  */
 package org.apache.ftpserver.listener.nio;
 
-import org.apache.ftpserver.FtpHandler;
-import org.apache.ftpserver.FtpServerContext;
 import org.apache.ftpserver.ftplet.FtpReply;
 import org.apache.ftpserver.ftplet.FtpRequest;
 import org.apache.ftpserver.impl.DefaultFtpRequest;
+import org.apache.ftpserver.impl.FtpHandler;
 import org.apache.ftpserver.impl.FtpIoSession;
+import org.apache.ftpserver.impl.FtpServerContext;
 import org.apache.mina.core.service.IoHandler;
 import org.apache.mina.core.session.IdleStatus;
 import org.apache.mina.core.session.IoSession;

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/NioListener.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/NioListener.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/NioListener.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/listener/nio/NioListener.java Mon Oct 13 13:12:08 2008
@@ -31,10 +31,10 @@
 import java.util.concurrent.TimeUnit;
 
 import org.apache.ftpserver.DataConnectionConfiguration;
-import org.apache.ftpserver.FtpHandler;
-import org.apache.ftpserver.FtpServerContext;
 import org.apache.ftpserver.impl.DefaultFtpHandler;
+import org.apache.ftpserver.impl.FtpHandler;
 import org.apache.ftpserver.impl.FtpIoSession;
+import org.apache.ftpserver.impl.FtpServerContext;
 import org.apache.ftpserver.listener.Listener;
 import org.apache.ftpserver.listener.ListenerFactory;
 import org.apache.ftpserver.ssl.ClientAuth;

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/main/CommandLine.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/main/CommandLine.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/main/CommandLine.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/main/CommandLine.java Mon Oct 13 13:12:08 2008
@@ -20,6 +20,8 @@
 package org.apache.ftpserver.main;
 
 import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.FtpServerFactory;
+import org.apache.ftpserver.impl.DefaultFtpServer;
 import org.springframework.context.support.FileSystemXmlApplicationContext;
 
 /**
@@ -111,16 +113,16 @@
         FtpServer server = null;
         if (args.length == 0) {
             System.out.println("Using default configuration");
-            server = new FtpServer();
+            server = new FtpServerFactory().createServer();
         } else if ((args.length == 1) && args[0].equals("-default")) {
             // supported for backwards compatibility, but not documented
             System.out
                     .println("The -default switch is deprecated, please use --default instead");
             System.out.println("Using default configuration");
-            server = new FtpServer();
+            server = new FtpServerFactory().createServer();
         } else if ((args.length == 1) && args[0].equals("--default")) {
             System.out.println("Using default configuration");
-            server = new FtpServer();
+            server = new FtpServerFactory().createServer();
         } else if ((args.length == 1) && args[0].equals("--help")) {
             usage();
         } else if ((args.length == 1) && args[0].equals("-?")) {
@@ -132,16 +134,16 @@
                     args[0]);
 
             if (ctx.containsBean("server")) {
-                server = (FtpServer) ctx.getBean("server");
+                server = (DefaultFtpServer) ctx.getBean("server");
             } else {
-                String[] beanNames = ctx.getBeanNamesForType(FtpServer.class);
+                String[] beanNames = ctx.getBeanNamesForType(DefaultFtpServer.class);
                 if (beanNames.length == 1) {
-                    server = (FtpServer) ctx.getBean(beanNames[0]);
+                    server = (DefaultFtpServer) ctx.getBean(beanNames[0]);
                 } else if (beanNames.length > 1) {
                     System.out
                             .println("Using the first server defined in the configuration, named "
                                     + beanNames[0]);
-                    server = (FtpServer) ctx.getBean(beanNames[0]);
+                    server = (DefaultFtpServer) ctx.getBean(beanNames[0]);
                 } else {
                     System.err
                             .println("XML configuration does not contain a server configuration");

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/main/Daemon.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/main/Daemon.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/main/Daemon.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/main/Daemon.java Mon Oct 13 13:12:08 2008
@@ -20,7 +20,9 @@
 package org.apache.ftpserver.main;
 
 import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.FtpServerFactory;
 import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.impl.DefaultFtpServer;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.context.support.FileSystemXmlApplicationContext;
@@ -84,16 +86,16 @@
         FtpServer server = null;
         if (args == null || args.length < 2) {
             LOG.info("Using default configuration....");
-            server = new FtpServer();
+            server = new FtpServerFactory().createServer();
         } else if ((args.length == 2) && args[1].equals("-default")) {
             // supported for backwards compatibility, but not documented
             System.out
                     .println("The -default switch is deprecated, please use --default instead");
             LOG.info("Using default configuration....");
-            server = new FtpServer();
+            server = new FtpServerFactory().createServer();
         } else if ((args.length == 2) && args[1].equals("--default")) {
             LOG.info("Using default configuration....");
-            server = new FtpServer();
+            server = new FtpServerFactory().createServer();
         } else if (args.length == 2) {
             LOG.info("Using xml configuration file " + args[1] + "...");
             FileSystemXmlApplicationContext ctx = new FileSystemXmlApplicationContext(
@@ -109,7 +111,7 @@
                     System.out
                             .println("Using the first server defined in the configuration, named "
                                     + beanNames[0]);
-                    server = (FtpServer) ctx.getBean(beanNames[0]);
+                    server = (DefaultFtpServer) ctx.getBean(beanNames[0]);
                 } else {
                     System.err
                             .println("XML configuration does not contain a server configuration");

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/LocalizedFtpReply.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/LocalizedFtpReply.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/LocalizedFtpReply.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/LocalizedFtpReply.java Mon Oct 13 13:12:08 2008
@@ -23,13 +23,13 @@
 import java.net.InetSocketAddress;
 import java.net.SocketAddress;
 
-import org.apache.ftpserver.FtpServerContext;
 import org.apache.ftpserver.ftplet.DefaultFtpReply;
 import org.apache.ftpserver.ftplet.FileSystemView;
 import org.apache.ftpserver.ftplet.FtpReply;
 import org.apache.ftpserver.ftplet.FtpRequest;
 import org.apache.ftpserver.ftplet.FtpStatistics;
 import org.apache.ftpserver.impl.FtpIoSession;
+import org.apache.ftpserver.impl.FtpServerContext;
 import org.apache.ftpserver.message.MessageResource;
 
 /**

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/CdCaseInsensitiveTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/CdCaseInsensitiveTest.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/CdCaseInsensitiveTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/CdCaseInsensitiveTest.java Mon Oct 13 13:12:08 2008
@@ -19,7 +19,7 @@
 
 package org.apache.ftpserver.clienttests;
 
-import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.FtpServerFactory;
 import org.apache.ftpserver.filesystem.nativefs.NativeFileSystemFactory;
 
 /**
@@ -29,11 +29,11 @@
 *
 */
 public class CdCaseInsensitiveTest extends CdTest {
-    protected FtpServer createServer() throws Exception {
-        FtpServer server = super.createServer();
+    protected FtpServerFactory createServer() throws Exception {
+        FtpServerFactory server = super.createServer();
 
         NativeFileSystemFactory fs = (NativeFileSystemFactory) server
-                .getServerContext().getFileSystemManager();
+                .getFileSystem();
         fs.setCaseInsensitive(true);
 
         return server;

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ClientTestTemplate.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ClientTestTemplate.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ClientTestTemplate.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ClientTestTemplate.java Mon Oct 13 13:12:08 2008
@@ -28,8 +28,8 @@
 import org.apache.commons.net.ProtocolCommandListener;
 import org.apache.commons.net.ftp.FTPClient;
 import org.apache.commons.net.ftp.FTPConnectionClosedException;
-import org.apache.ftpserver.DefaultFtpServerContext;
-import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.FtpServerFactory;
+import org.apache.ftpserver.impl.DefaultFtpServer;
 import org.apache.ftpserver.listener.ListenerFactory;
 import org.apache.ftpserver.test.TestUtil;
 import org.apache.ftpserver.usermanager.PropertiesUserManagerFactory;
@@ -63,7 +63,7 @@
 
     protected static final String TESTUSER_PASSWORD = "password";
 
-    protected FtpServer server;
+    protected DefaultFtpServer server;
 
     protected int port = -1;
 
@@ -76,25 +76,25 @@
 
     protected static final File ROOT_DIR = new File(TEST_TMP_DIR, "ftproot");
 
-    protected FtpServer createServer() throws Exception {
+    protected FtpServerFactory createServer() throws Exception {
         assertTrue(USERS_FILE.getAbsolutePath() + " must exist", USERS_FILE
                 .exists());
 
-        DefaultFtpServerContext context = new DefaultFtpServerContext();
+        FtpServerFactory serverFactory = new FtpServerFactory();
 
         ListenerFactory factory = new ListenerFactory();
         
         factory.setPort(port);
-        context.setListener("default", factory.createListener());
+        serverFactory.addListener("default", factory.createListener());
 
         PropertiesUserManagerFactory umFactory = new PropertiesUserManagerFactory();
         umFactory.setAdminName("admin");
         umFactory.setPasswordEncryptor(new ClearTextPasswordEncryptor());
         umFactory.setFile(USERS_FILE);
 
-        context.setUserManager(umFactory.createUserManager());
+        serverFactory.setUserManager(umFactory.createUserManager());
 
-        return new FtpServer(context);
+        return serverFactory;
     }
 
     /*
@@ -127,7 +127,8 @@
     protected void initServer() throws IOException, Exception {
         initPort();
 
-        server = createServer();
+        // cast to internal class to get access to getters
+        server = (DefaultFtpServer) createServer().createServer();
 
         if (isStartServer()) {
             server.start();

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ConnectPickPortTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ConnectPickPortTest.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ConnectPickPortTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ConnectPickPortTest.java Mon Oct 13 13:12:08 2008
@@ -19,7 +19,8 @@
 
 package org.apache.ftpserver.clienttests;
 
-import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.FtpServerFactory;
+import org.apache.ftpserver.impl.DefaultFtpServer;
 import org.apache.ftpserver.listener.ListenerFactory;
 import org.apache.ftpserver.listener.nio.NioListener;
 
@@ -42,8 +43,8 @@
     }
 
     @Override
-    protected FtpServer createServer() throws Exception {
-        FtpServer server = super.createServer();
+    protected FtpServerFactory createServer() throws Exception {
+        FtpServerFactory server = super.createServer();
         
         ListenerFactory factory = new ListenerFactory();
         factory.setPort(0);

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/CustomMaxLoginTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/CustomMaxLoginTest.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/CustomMaxLoginTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/CustomMaxLoginTest.java Mon Oct 13 13:12:08 2008
@@ -23,8 +23,9 @@
 
 import org.apache.commons.net.ftp.FTPConnectionClosedException;
 import org.apache.ftpserver.DefaultConnectionConfig;
-import org.apache.ftpserver.DefaultFtpServerContext;
-import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.FtpServerFactory;
+import org.apache.ftpserver.impl.DefaultFtpServerContext;
+import org.apache.ftpserver.impl.DefaultFtpServer;
 
 /**
 *
@@ -37,12 +38,10 @@
 
     private static final String UNKNOWN_PASSWORD = "bar";
 
-    protected FtpServer createServer() throws Exception {
-        FtpServer server = super.createServer();
+    protected FtpServerFactory createServer() throws Exception {
+        FtpServerFactory server = super.createServer();
 
-        DefaultFtpServerContext context = (DefaultFtpServerContext) server
-                .getServerContext();
-        DefaultConnectionConfig cc = (DefaultConnectionConfig) context
+        DefaultConnectionConfig cc = (DefaultConnectionConfig) server
                 .getConnectionConfig();
 
         cc.setMaxLoginFailures(2);

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/InetAddressBlacklistTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/InetAddressBlacklistTest.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/InetAddressBlacklistTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/InetAddressBlacklistTest.java Mon Oct 13 13:12:08 2008
@@ -24,7 +24,8 @@
 import java.util.List;
 
 import org.apache.commons.net.ftp.FTPConnectionClosedException;
-import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.FtpServerFactory;
+import org.apache.ftpserver.impl.DefaultFtpServer;
 import org.apache.ftpserver.listener.ListenerFactory;
 
 /**
@@ -34,8 +35,8 @@
 *
 */
 public class InetAddressBlacklistTest extends ClientTestTemplate {
-    protected FtpServer createServer() throws Exception {
-        FtpServer server = super.createServer();
+    protected FtpServerFactory createServer() throws Exception {
+        FtpServerFactory server = super.createServer();
 
         ListenerFactory factory = new ListenerFactory(server.getListener("default"));
 

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/LangTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/LangTest.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/LangTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/LangTest.java Mon Oct 13 13:12:08 2008
@@ -19,7 +19,7 @@
 
 package org.apache.ftpserver.clienttests;
 
-import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.FtpServerFactory;
 import org.apache.ftpserver.message.MessageResourceFactory;
 
 /**
@@ -35,8 +35,8 @@
      * 
      * @see org.apache.ftpserver.clienttests.ClientTestTemplate#createConfig()
      */
-    protected FtpServer createServer() throws Exception {
-        FtpServer server = super.createServer();
+    protected FtpServerFactory createServer() throws Exception {
+        FtpServerFactory server = super.createServer();
 
         MessageResourceFactory factory = new MessageResourceFactory();
         factory.setLanguages(new String[] { "en", "zh-tw" });

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/LoginNoAnonTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/LoginNoAnonTest.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/LoginNoAnonTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/LoginNoAnonTest.java Mon Oct 13 13:12:08 2008
@@ -20,8 +20,7 @@
 package org.apache.ftpserver.clienttests;
 
 import org.apache.ftpserver.DefaultConnectionConfig;
-import org.apache.ftpserver.DefaultFtpServerContext;
-import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.FtpServerFactory;
 
 /**
 *
@@ -36,13 +35,10 @@
      * 
      * @see org.apache.ftpserver.clienttests.ClientTestTemplate#createConfig()
      */
-    protected FtpServer createServer() throws Exception {
-        FtpServer server = super.createServer();
+    protected FtpServerFactory createServer() throws Exception {
+        FtpServerFactory server = super.createServer();
 
-        DefaultFtpServerContext context = (DefaultFtpServerContext) server
-                .getServerContext();
-
-        DefaultConnectionConfig cc = (DefaultConnectionConfig) context
+        DefaultConnectionConfig cc = (DefaultConnectionConfig) server
                 .getConnectionConfig();
         cc.setAnonymousLoginEnabled(false);
 

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/PasvAddressTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/PasvAddressTest.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/PasvAddressTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/PasvAddressTest.java Mon Oct 13 13:12:08 2008
@@ -23,7 +23,7 @@
 import java.net.InetSocketAddress;
 
 import org.apache.ftpserver.DefaultDataConnectionConfiguration;
-import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.FtpServerFactory;
 import org.apache.ftpserver.test.TestUtil;
 import org.apache.ftpserver.util.SocketAddressEncoder;
 
@@ -37,11 +37,11 @@
 
     private InetAddress passiveAddress;
 
-    protected FtpServer createServer() throws Exception {
-        FtpServer server = super.createServer();
+    protected FtpServerFactory createServer() throws Exception {
+        FtpServerFactory server = super.createServer();
 
         DefaultDataConnectionConfiguration ddcc = (DefaultDataConnectionConfiguration) server
-                .getServerContext().getListener("default")
+                .getListener("default")
                 .getDataConnectionConfiguration();
 
         passiveAddress = TestUtil.findNonLocalhostIp();

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/PasvAddressWithHostnameTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/PasvAddressWithHostnameTest.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/PasvAddressWithHostnameTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/PasvAddressWithHostnameTest.java Mon Oct 13 13:12:08 2008
@@ -22,8 +22,7 @@
 import java.net.InetAddress;
 
 import org.apache.ftpserver.DefaultDataConnectionConfiguration;
-import org.apache.ftpserver.DefaultFtpServerContext;
-import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.FtpServerFactory;
 
 /**
  * Test for external passive address configured as hostname rather than IP
@@ -35,13 +34,10 @@
  */
 public class PasvAddressWithHostnameTest extends ClientTestTemplate {
 
-    protected FtpServer createServer() throws Exception {
-        FtpServer server = super.createServer();
+    protected FtpServerFactory createServer() throws Exception {
+        FtpServerFactory server = super.createServer();
 
-        DefaultFtpServerContext context = (DefaultFtpServerContext) server
-                .getServerContext();
-
-        DefaultDataConnectionConfiguration ddcc = (DefaultDataConnectionConfiguration) context
+        DefaultDataConnectionConfiguration ddcc = (DefaultDataConnectionConfiguration) server
                 .getListener("default").getDataConnectionConfiguration();
         ddcc.setPassiveExernalAddress(InetAddress.getByName("127.0.0.1"));
 

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/PasvTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/PasvTest.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/PasvTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/PasvTest.java Mon Oct 13 13:12:08 2008
@@ -21,7 +21,7 @@
 
 import org.apache.commons.net.ftp.FTPConnectionClosedException;
 import org.apache.ftpserver.DataConnectionConfiguration;
-import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.FtpServerFactory;
 import org.apache.ftpserver.listener.Listener;
 import org.apache.ftpserver.test.TestUtil;
 
@@ -38,10 +38,10 @@
     }
 
     @Override
-    protected FtpServer createServer() throws Exception {
-        FtpServer server = super.createServer();
+    protected FtpServerFactory createServer() throws Exception {
+        FtpServerFactory server = super.createServer();
         
-        Listener l = server.getServerContext().getListener("default");
+        Listener l = server.getListener("default");
         DataConnectionConfiguration dcc = l.getDataConnectionConfiguration();
         
         int passivePort = TestUtil.findFreePort(12444);

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/SubnetBlacklistTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/SubnetBlacklistTest.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/SubnetBlacklistTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/SubnetBlacklistTest.java Mon Oct 13 13:12:08 2008
@@ -24,7 +24,7 @@
 import java.util.List;
 
 import org.apache.commons.net.ftp.FTPConnectionClosedException;
-import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.FtpServerFactory;
 import org.apache.ftpserver.listener.ListenerFactory;
 import org.apache.mina.filter.firewall.Subnet;
 
@@ -35,8 +35,8 @@
 *
 */
 public class SubnetBlacklistTest extends ClientTestTemplate {
-    protected FtpServer createServer() throws Exception {
-        FtpServer server = super.createServer();
+    protected FtpServerFactory createServer() throws Exception {
+        FtpServerFactory server = super.createServer();
 
         ListenerFactory factory = new ListenerFactory(server.getListener("default"));
 

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/UnlimitedMaxLoginTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/UnlimitedMaxLoginTest.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/UnlimitedMaxLoginTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/UnlimitedMaxLoginTest.java Mon Oct 13 13:12:08 2008
@@ -20,8 +20,9 @@
 package org.apache.ftpserver.clienttests;
 
 import org.apache.ftpserver.DefaultConnectionConfig;
-import org.apache.ftpserver.DefaultFtpServerContext;
-import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.FtpServerFactory;
+import org.apache.ftpserver.impl.DefaultFtpServerContext;
+import org.apache.ftpserver.impl.DefaultFtpServer;
 
 /**
 *
@@ -34,13 +35,10 @@
 
     private static final String UNKNOWN_PASSWORD = "bar";
 
-    protected FtpServer createServer() throws Exception {
-        FtpServer server = super.createServer();
+    protected FtpServerFactory createServer() throws Exception {
+        FtpServerFactory server = super.createServer();
 
-        DefaultFtpServerContext context = (DefaultFtpServerContext) server
-                .getServerContext();
-
-        DefaultConnectionConfig cc = (DefaultConnectionConfig) context
+        DefaultConnectionConfig cc = (DefaultConnectionConfig) server
                 .getConnectionConfig();
         cc.setMaxLoginFailures(0);
         return server;

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/DbUserManagerConfigTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/DbUserManagerConfigTest.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/DbUserManagerConfigTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/DbUserManagerConfigTest.java Mon Oct 13 13:12:08 2008
@@ -19,7 +19,7 @@
 
 package org.apache.ftpserver.config.spring;
 
-import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.impl.DefaultFtpServer;
 import org.apache.ftpserver.usermanager.impl.DbUserManager;
 import org.apache.ftpserver.usermanager.impl.SaltedPasswordEncryptor;
 import org.hsqldb.jdbc.jdbcDataSource;
@@ -33,7 +33,7 @@
 public class DbUserManagerConfigTest extends SpringConfigTestTemplate {
 
     public void test() throws Throwable {
-        FtpServer server = createServer("<db-user-manager  encrypt-passwords=\"salted\">"
+        DefaultFtpServer server = createServer("<db-user-manager  encrypt-passwords=\"salted\">"
                 + "<data-source>"
                 + "    <beans:bean class=\"org.hsqldb.jdbc.jdbcDataSource\">"
                 + "        <beans:property name=\"database\" value=\"jdbc:hsqldb:mem:foo\" />"

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/FileUserManagerConfigTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/FileUserManagerConfigTest.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/FileUserManagerConfigTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/FileUserManagerConfigTest.java Mon Oct 13 13:12:08 2008
@@ -21,7 +21,7 @@
 
 import java.io.File;
 
-import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.impl.DefaultFtpServer;
 import org.apache.ftpserver.usermanager.impl.ClearTextPasswordEncryptor;
 import org.apache.ftpserver.usermanager.impl.Md5PasswordEncryptor;
 import org.apache.ftpserver.usermanager.impl.PropertiesUserManager;
@@ -36,7 +36,7 @@
 public class FileUserManagerConfigTest extends SpringConfigTestTemplate {
 
     private PropertiesUserManager createPropertiesUserManager(String config) {
-        FtpServer server = createServer(config);
+        DefaultFtpServer server = createServer(config);
 
         return (PropertiesUserManager) server.getUserManager();
     }

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/MyCustomListener.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/MyCustomListener.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/MyCustomListener.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/MyCustomListener.java Mon Oct 13 13:12:08 2008
@@ -24,8 +24,8 @@
 import java.util.Set;
 
 import org.apache.ftpserver.DataConnectionConfiguration;
-import org.apache.ftpserver.FtpServerContext;
 import org.apache.ftpserver.impl.FtpIoSession;
+import org.apache.ftpserver.impl.FtpServerContext;
 import org.apache.ftpserver.listener.Listener;
 import org.apache.ftpserver.ssl.SslConfiguration;
 import org.apache.mina.filter.firewall.Subnet;

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/PropertyPlaceholderTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/PropertyPlaceholderTest.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/PropertyPlaceholderTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/PropertyPlaceholderTest.java Mon Oct 13 13:12:08 2008
@@ -21,7 +21,7 @@
 
 import junit.framework.TestCase;
 
-import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.impl.DefaultFtpServer;
 import org.springframework.context.support.FileSystemXmlApplicationContext;
 
 /**
@@ -38,7 +38,7 @@
         FileSystemXmlApplicationContext ctx = new FileSystemXmlApplicationContext(
                 "src/test/resources/spring-config/config-property-placeholder.xml");
 
-        FtpServer server = (FtpServer) ctx.getBean("server");
+        DefaultFtpServer server = (DefaultFtpServer) ctx.getBean("server");
 
         assertEquals(2222, server.getListener("listener0").getPort());
         assertEquals(3333, server.getListener("listener1").getPort());

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/SpringConfigTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/SpringConfigTest.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/SpringConfigTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/SpringConfigTest.java Mon Oct 13 13:12:08 2008
@@ -25,11 +25,11 @@
 
 import junit.framework.TestCase;
 
-import org.apache.ftpserver.FtpServer;
 import org.apache.ftpserver.command.CommandFactory;
 import org.apache.ftpserver.command.impl.HELP;
 import org.apache.ftpserver.command.impl.STAT;
 import org.apache.ftpserver.filesystem.nativefs.NativeFileSystemFactory;
+import org.apache.ftpserver.impl.DefaultFtpServer;
 import org.apache.ftpserver.listener.Listener;
 import org.apache.ftpserver.listener.nio.NioListener;
 import org.apache.mina.filter.firewall.Subnet;
@@ -48,7 +48,7 @@
         XmlBeanFactory factory = new XmlBeanFactory(new FileSystemResource(
                 "src/test/resources/spring-config/config-spring-1.xml"));
 
-        FtpServer server = (FtpServer) factory.getBean("server");
+        DefaultFtpServer server = (DefaultFtpServer) factory.getBean("server");
 
         assertEquals(500, server.getConnectionConfig().getMaxLogins());
         assertEquals(false, server.getConnectionConfig()

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/SpringConfigTestTemplate.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/SpringConfigTestTemplate.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/SpringConfigTestTemplate.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/config/spring/SpringConfigTestTemplate.java Mon Oct 13 13:12:08 2008
@@ -21,7 +21,7 @@
 
 import junit.framework.TestCase;
 
-import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.impl.DefaultFtpServer;
 import org.springframework.beans.factory.xml.XmlBeanFactory;
 import org.springframework.core.io.ByteArrayResource;
 
@@ -33,7 +33,7 @@
 */
 public abstract class SpringConfigTestTemplate extends TestCase {
 
-    protected FtpServer createServer(String config) {
+    protected DefaultFtpServer createServer(String config) {
         String completeConfig = "<server id=\"server\" xmlns=\"http://mina.apache.org/ftpserver/spring/v1\" "
             + "xmlns:beans=\"http://www.springframework.org/schema/beans\" " 
             + "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "
@@ -47,7 +47,7 @@
         XmlBeanFactory factory = new XmlBeanFactory(
                 new ByteArrayResource(completeConfig.getBytes()));
         
-        return (FtpServer) factory.getBean("server");
+        return (DefaultFtpServer) factory.getBean("server");
 
     }
 }

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ftpletcontainer/FtpLetReturnDefaultTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ftpletcontainer/FtpLetReturnDefaultTest.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ftpletcontainer/FtpLetReturnDefaultTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ftpletcontainer/FtpLetReturnDefaultTest.java Mon Oct 13 13:12:08 2008
@@ -27,13 +27,14 @@
 import java.util.Map;
 
 import org.apache.commons.net.ftp.FTPReply;
-import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.FtpServerFactory;
 import org.apache.ftpserver.clienttests.ClientTestTemplate;
 import org.apache.ftpserver.ftplet.FtpException;
 import org.apache.ftpserver.ftplet.FtpRequest;
 import org.apache.ftpserver.ftplet.FtpSession;
 import org.apache.ftpserver.ftplet.Ftplet;
 import org.apache.ftpserver.ftplet.FtpletResult;
+import org.apache.ftpserver.impl.DefaultFtpServer;
 import org.apache.ftpserver.test.TestUtil;
 
 /**
@@ -70,8 +71,8 @@
 
     }
 
-    protected FtpServer createServer() throws Exception {
-        FtpServer server = super.createServer();
+    protected FtpServerFactory createServer() throws Exception {
+        FtpServerFactory server = super.createServer();
 
         Map<String, Ftplet> ftplets = new HashMap<String, Ftplet>();
         ftplets.put("f1", new MockFtplet());

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ftpletcontainer/FtpLetReturnDisconnectTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ftpletcontainer/FtpLetReturnDisconnectTest.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ftpletcontainer/FtpLetReturnDisconnectTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ftpletcontainer/FtpLetReturnDisconnectTest.java Mon Oct 13 13:12:08 2008
@@ -28,13 +28,14 @@
 import java.util.Map;
 
 import org.apache.commons.net.ftp.FTPConnectionClosedException;
-import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.FtpServerFactory;
 import org.apache.ftpserver.clienttests.ClientTestTemplate;
 import org.apache.ftpserver.ftplet.FtpException;
 import org.apache.ftpserver.ftplet.FtpRequest;
 import org.apache.ftpserver.ftplet.FtpSession;
 import org.apache.ftpserver.ftplet.Ftplet;
 import org.apache.ftpserver.ftplet.FtpletResult;
+import org.apache.ftpserver.impl.DefaultFtpServer;
 import org.apache.ftpserver.test.TestUtil;
 
 /**
@@ -71,8 +72,8 @@
         connectClient();
     }
 
-    protected FtpServer createServer() throws Exception {
-        FtpServer server = super.createServer();
+    protected FtpServerFactory createServer() throws Exception {
+        FtpServerFactory server = super.createServer();
 
         Map<String, Ftplet> ftplets = new LinkedHashMap<String, Ftplet>();
         ftplets.put("f1", new MockFtplet());

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ftpletcontainer/FtpLetReturnSkipTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ftpletcontainer/FtpLetReturnSkipTest.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ftpletcontainer/FtpLetReturnSkipTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ftpletcontainer/FtpLetReturnSkipTest.java Mon Oct 13 13:12:08 2008
@@ -27,7 +27,7 @@
 import java.util.Map;
 
 import org.apache.commons.net.ftp.FTPReply;
-import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.FtpServerFactory;
 import org.apache.ftpserver.clienttests.ClientTestTemplate;
 import org.apache.ftpserver.ftplet.DefaultFtpReply;
 import org.apache.ftpserver.ftplet.FtpException;
@@ -36,6 +36,7 @@
 import org.apache.ftpserver.ftplet.FtpSession;
 import org.apache.ftpserver.ftplet.Ftplet;
 import org.apache.ftpserver.ftplet.FtpletResult;
+import org.apache.ftpserver.impl.DefaultFtpServer;
 import org.apache.ftpserver.test.TestUtil;
 
 /**
@@ -72,8 +73,8 @@
         connectClient();
     }
 
-    protected FtpServer createServer() throws Exception {
-        FtpServer server = super.createServer();
+    protected FtpServerFactory createServer() throws Exception {
+        FtpServerFactory server = super.createServer();
 
         Map<String, Ftplet> ftplets = new LinkedHashMap<String, Ftplet>();
         ftplets.put("f1", new MockFtplet());

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ssl/MinaCipherSuitesTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ssl/MinaCipherSuitesTest.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ssl/MinaCipherSuitesTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ssl/MinaCipherSuitesTest.java Mon Oct 13 13:12:08 2008
@@ -22,8 +22,9 @@
 import javax.net.ssl.SSLHandshakeException;
 
 import org.apache.commons.net.ftp.FTPSClient;
-import org.apache.ftpserver.DefaultFtpServerContext;
-import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.FtpServerFactory;
+import org.apache.ftpserver.impl.DefaultFtpServerContext;
+import org.apache.ftpserver.impl.DefaultFtpServer;
 import org.apache.ftpserver.listener.nio.NioListener;
 import org.apache.ftpserver.ssl.impl.DefaultSslConfiguration;
 
@@ -52,18 +53,6 @@
         return sslConfigFactory;
     }
     
-    protected FtpServer createServer() throws Exception {
-        FtpServer server = super.createServer();
-        DefaultFtpServerContext context = (DefaultFtpServerContext) server
-                .getServerContext();
-        NioListener listener = (NioListener) context.getListener("default");
-
-        DefaultSslConfiguration sslConfig = (DefaultSslConfiguration) listener
-                .getSslConfiguration();
-
-        return server;
-    }
-
     protected FTPSClient createFTPClient() throws Exception {
         return new FTPSClient(true);
     }

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ssl/SSLTestTemplate.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ssl/SSLTestTemplate.java?rev=704228&r1=704227&r2=704228&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ssl/SSLTestTemplate.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ssl/SSLTestTemplate.java Mon Oct 13 13:12:08 2008
@@ -30,9 +30,10 @@
 
 import org.apache.commons.net.ftp.FTPSClient;
 import org.apache.ftpserver.DefaultDataConnectionConfiguration;
-import org.apache.ftpserver.DefaultFtpServerContext;
-import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.FtpServerFactory;
 import org.apache.ftpserver.clienttests.ClientTestTemplate;
+import org.apache.ftpserver.impl.DefaultFtpServerContext;
+import org.apache.ftpserver.impl.DefaultFtpServer;
 import org.apache.ftpserver.listener.ListenerFactory;
 import org.apache.ftpserver.test.TestUtil;
 import org.apache.ftpserver.util.IoUtils;
@@ -64,13 +65,11 @@
         return sslConfigFactory;
     }
     
-    protected FtpServer createServer() throws Exception {
+    protected FtpServerFactory createServer() throws Exception {
         assertTrue(FTPSERVER_KEYSTORE.exists());
 
-        FtpServer server = super.createServer();
-        DefaultFtpServerContext context = (DefaultFtpServerContext) server
-                .getServerContext();
-        ListenerFactory factory = new ListenerFactory(context.getListener("default"));
+        FtpServerFactory server = super.createServer();
+        ListenerFactory factory = new ListenerFactory(server.getListener("default"));
         
         factory.setImplicitSsl(useImplicit());