You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ftpserver-commits@incubator.apache.org by ng...@apache.org on 2007/01/07 21:36:40 UTC
svn commit: r493852 [1/2] - in /incubator/ftpserver/trunk/core/src:
java/org/apache/ftpserver/ java/org/apache/ftpserver/command/
java/org/apache/ftpserver/interfaces/ java/org/apache/ftpserver/listener/
java/org/apache/ftpserver/listener/io/ test/org/...
Author: ngn
Date: Sun Jan 7 13:36:35 2007
New Revision: 493852
URL: http://svn.apache.org/viewvc?view=rev&rev=493852
Log:
Created new packages for holding the different types of listeners.
Fixed bug in FtpRequestImpl whera leading or trailing whitespace would not be removed.
Added:
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/Connection.java (with props)
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/ConnectionManager.java (with props)
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/ConnectionManagerImpl.java (with props)
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/ConnectionManagerObserver.java (with props)
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/ConnectionObserver.java (with props)
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/Listener.java (with props)
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/io/
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/io/IOConnection.java (with props)
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/io/IOListener.java (with props)
Removed:
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/ConnectionManagerImpl.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/DefaultListener.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/IOConnection.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/Listener.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/Connection.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/ConnectionManager.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/ConnectionManagerObserver.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/ConnectionObserver.java
Modified:
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/ConfigurableFtpServerContext.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpRequestImpl.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpServer.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpSessionImpl.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpStatisticsImpl.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpWriter.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/ABOR.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/ACCT.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/APPE.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/AUTH.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/CDUP.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/CWD.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/DELE.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/EPRT.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/EPSV.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/FEAT.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/HELP.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/LANG.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/LIST.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MD5.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MDTM.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MKD.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MLSD.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MLST.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MODE.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/NLST.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/NOOP.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS_MLST.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS_UTF8.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PASS.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PASV.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PBSZ.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PORT.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PROT.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PWD.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/QUIT.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/REIN.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/REST.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RETR.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RMD.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RNFR.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RNTO.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_DESCUSER.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_HELP.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_STAT.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_WHO.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_ZONE.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SIZE.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STAT.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STOR.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STOU.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STRU.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SYST.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/TYPE.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/USER.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/Command.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/FileObserver.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/FtpServerContext.java
incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/ServerFtpStatistics.java
incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/FtpRequestImplTest.java
incubator/ftpserver/trunk/core/src/test/org/apache/ftpserver/interfaces/ServerFtpStatisticsTestTemplate.java
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/ConfigurableFtpServerContext.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/ConfigurableFtpServerContext.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/ConfigurableFtpServerContext.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/ConfigurableFtpServerContext.java Sun Jan 7 13:36:35 2007
@@ -36,7 +36,6 @@
import org.apache.ftpserver.ftplet.FtpletContainer;
import org.apache.ftpserver.ftplet.UserManager;
import org.apache.ftpserver.interfaces.CommandFactory;
-import org.apache.ftpserver.interfaces.ConnectionManager;
import org.apache.ftpserver.interfaces.DataConnectionConfig;
import org.apache.ftpserver.interfaces.FtpServerContext;
import org.apache.ftpserver.interfaces.IpRestrictor;
@@ -44,6 +43,8 @@
import org.apache.ftpserver.interfaces.ServerFtpStatistics;
import org.apache.ftpserver.interfaces.SocketFactory;
import org.apache.ftpserver.iprestrictor.FileIpRestrictor;
+import org.apache.ftpserver.listener.ConnectionManager;
+import org.apache.ftpserver.listener.ConnectionManagerImpl;
import org.apache.ftpserver.message.MessageResourceImpl;
import org.apache.ftpserver.socketfactory.FtpSocketFactory;
import org.apache.ftpserver.usermanager.BaseUser;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpRequestImpl.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpRequestImpl.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpRequestImpl.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpRequestImpl.java Sun Jan 7 13:36:35 2007
@@ -20,7 +20,7 @@
package org.apache.ftpserver;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.ConnectionObserver;
+import org.apache.ftpserver.listener.ConnectionObserver;
/**
* FTP request object.
@@ -50,7 +50,7 @@
spyRequest(lineToParse);
// parse request
- line = lineToParse;
+ line = lineToParse.trim();
command = null;
argument = null;
int spInd = line.indexOf(' ');
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpServer.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpServer.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpServer.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpServer.java Sun Jan 7 13:36:35 2007
@@ -26,6 +26,8 @@
import org.apache.commons.logging.Log;
import org.apache.ftpserver.interfaces.FtpServerContext;
+import org.apache.ftpserver.listener.Listener;
+import org.apache.ftpserver.listener.io.IOListener;
/**
* This is the starting point of all the servers. It invokes a new listener
@@ -54,7 +56,7 @@
log = this.serverContext.getLogFactory().getInstance(getClass());
// for now just create one
- listeners.add(new DefaultListener(ftpConfig));
+ listeners.add(new IOListener(ftpConfig));
}
/**
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpSessionImpl.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpSessionImpl.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpSessionImpl.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpSessionImpl.java Sun Jan 7 13:36:35 2007
@@ -36,7 +36,7 @@
import org.apache.ftpserver.ftplet.FtpSession;
import org.apache.ftpserver.ftplet.Structure;
import org.apache.ftpserver.ftplet.User;
-import org.apache.ftpserver.interfaces.ConnectionObserver;
+import org.apache.ftpserver.listener.ConnectionObserver;
/**
* FTP session
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpStatisticsImpl.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpStatisticsImpl.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpStatisticsImpl.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpStatisticsImpl.java Sun Jan 7 13:36:35 2007
@@ -29,9 +29,9 @@
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.User;
import org.apache.ftpserver.interfaces.FileObserver;
-import org.apache.ftpserver.interfaces.Connection;
import org.apache.ftpserver.interfaces.ServerFtpStatistics;
import org.apache.ftpserver.interfaces.StatisticsObserver;
+import org.apache.ftpserver.listener.Connection;
/**
* This is ftp statistice implementation.
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpWriter.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpWriter.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpWriter.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/FtpWriter.java Sun Jan 7 13:36:35 2007
@@ -33,9 +33,9 @@
import org.apache.ftpserver.ftplet.FtpResponse;
import org.apache.ftpserver.ftplet.FtpSession;
import org.apache.ftpserver.ftplet.FtpStatistics;
-import org.apache.ftpserver.interfaces.ConnectionObserver;
import org.apache.ftpserver.interfaces.FtpServerContext;
import org.apache.ftpserver.interfaces.MessageResource;
+import org.apache.ftpserver.listener.ConnectionObserver;
import org.apache.ftpserver.util.DateUtils;
import org.apache.ftpserver.util.IoUtils;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/ABOR.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/ABOR.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/ABOR.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/ABOR.java Sun Jan 7 13:36:35 2007
@@ -24,7 +24,7 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
/**
* <code>ABOR <CRLF></code><br>
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/ACCT.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/ACCT.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/ACCT.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/ACCT.java Sun Jan 7 13:36:35 2007
@@ -24,7 +24,7 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
/**
* <code>ACCT <CRLF></code><br>
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/APPE.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/APPE.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/APPE.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/APPE.java Sun Jan 7 13:36:35 2007
@@ -33,9 +33,9 @@
import org.apache.ftpserver.ftplet.FtpRequest;
import org.apache.ftpserver.ftplet.Ftplet;
import org.apache.ftpserver.ftplet.FtpletEnum;
-import org.apache.ftpserver.interfaces.Connection;
import org.apache.ftpserver.interfaces.FtpServerContext;
import org.apache.ftpserver.interfaces.ServerFtpStatistics;
+import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.usermanager.TransferRateRequest;
import org.apache.ftpserver.util.IoUtils;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/AUTH.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/AUTH.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/AUTH.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/AUTH.java Sun Jan 7 13:36:35 2007
@@ -26,8 +26,8 @@
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
import org.apache.ftpserver.interfaces.FtpServerContext;
+import org.apache.ftpserver.listener.Connection;
/**
* This server supports explicit SSL support.
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/CDUP.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/CDUP.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/CDUP.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/CDUP.java Sun Jan 7 13:36:35 2007
@@ -26,7 +26,7 @@
import org.apache.ftpserver.ftplet.FileSystemView;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
/**
* <code>CDUP <CRLF></code><br>
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/CWD.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/CWD.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/CWD.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/CWD.java Sun Jan 7 13:36:35 2007
@@ -26,7 +26,7 @@
import org.apache.ftpserver.ftplet.FileSystemView;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
/**
* <code>CWD <SP> <pathname> <CRLF></code><br>
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/DELE.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/DELE.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/DELE.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/DELE.java Sun Jan 7 13:36:35 2007
@@ -29,9 +29,9 @@
import org.apache.ftpserver.ftplet.FtpRequest;
import org.apache.ftpserver.ftplet.Ftplet;
import org.apache.ftpserver.ftplet.FtpletEnum;
-import org.apache.ftpserver.interfaces.Connection;
import org.apache.ftpserver.interfaces.FtpServerContext;
import org.apache.ftpserver.interfaces.ServerFtpStatistics;
+import org.apache.ftpserver.listener.Connection;
/**
* <code>DELE <SP> <pathname> <CRLF></code><br>
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/EPRT.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/EPRT.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/EPRT.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/EPRT.java Sun Jan 7 13:36:35 2007
@@ -26,8 +26,8 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
import org.apache.ftpserver.interfaces.DataConnectionConfig;
+import org.apache.ftpserver.listener.Connection;
/**
* The EPRT command allows for the specification of an extended address
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/EPSV.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/EPSV.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/EPSV.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/EPSV.java Sun Jan 7 13:36:35 2007
@@ -25,7 +25,7 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
/**
* The EPSV command requests that a server listen on a data port and
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/FEAT.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/FEAT.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/FEAT.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/FEAT.java Sun Jan 7 13:36:35 2007
@@ -25,7 +25,7 @@
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
/**
* The FEAT command (introduced in [RFC-2389]) allows servers with
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/HELP.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/HELP.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/HELP.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/HELP.java Sun Jan 7 13:36:35 2007
@@ -24,8 +24,8 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
import org.apache.ftpserver.interfaces.MessageResource;
+import org.apache.ftpserver.listener.Connection;
/**
* <code>HELP [<SP> <string>] <CRLF></code><br>
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/LANG.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/LANG.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/LANG.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/LANG.java Sun Jan 7 13:36:35 2007
@@ -25,8 +25,8 @@
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
import org.apache.ftpserver.interfaces.MessageResource;
+import org.apache.ftpserver.listener.Connection;
/**
* A new command "LANG" is added to the FTP command set to allow
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/LIST.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/LIST.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/LIST.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/LIST.java Sun Jan 7 13:36:35 2007
@@ -29,7 +29,7 @@
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.listing.DirectoryLister;
import org.apache.ftpserver.listing.LISTFileFormater;
import org.apache.ftpserver.listing.ListArgument;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MD5.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MD5.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MD5.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MD5.java Sun Jan 7 13:36:35 2007
@@ -29,7 +29,7 @@
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FileObject;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.IoUtils;
/**
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MDTM.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MDTM.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MDTM.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MDTM.java Sun Jan 7 13:36:35 2007
@@ -26,7 +26,7 @@
import org.apache.ftpserver.ftplet.FileObject;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.DateUtils;
/**
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MKD.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MKD.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MKD.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MKD.java Sun Jan 7 13:36:35 2007
@@ -29,9 +29,9 @@
import org.apache.ftpserver.ftplet.FtpRequest;
import org.apache.ftpserver.ftplet.Ftplet;
import org.apache.ftpserver.ftplet.FtpletEnum;
-import org.apache.ftpserver.interfaces.Connection;
import org.apache.ftpserver.interfaces.FtpServerContext;
import org.apache.ftpserver.interfaces.ServerFtpStatistics;
+import org.apache.ftpserver.listener.Connection;
/**
* <code>MKD <SP> <pathname> <CRLF></code><br>
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MLSD.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MLSD.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MLSD.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MLSD.java Sun Jan 7 13:36:35 2007
@@ -29,7 +29,7 @@
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.listing.DirectoryLister;
import org.apache.ftpserver.listing.FileFormater;
import org.apache.ftpserver.listing.ListArgument;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MLST.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MLST.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MLST.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MLST.java Sun Jan 7 13:36:35 2007
@@ -26,7 +26,7 @@
import org.apache.ftpserver.ftplet.FileObject;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.listing.FileFormater;
import org.apache.ftpserver.listing.ListArgument;
import org.apache.ftpserver.listing.ListArgumentParser;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MODE.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MODE.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MODE.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/MODE.java Sun Jan 7 13:36:35 2007
@@ -24,7 +24,7 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
/**
* <code>MODE <SP> <mode-code> <CRLF></code><br>
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/NLST.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/NLST.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/NLST.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/NLST.java Sun Jan 7 13:36:35 2007
@@ -29,7 +29,7 @@
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.listing.DirectoryLister;
import org.apache.ftpserver.listing.FileFormater;
import org.apache.ftpserver.listing.LISTFileFormater;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/NOOP.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/NOOP.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/NOOP.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/NOOP.java Sun Jan 7 13:36:35 2007
@@ -25,7 +25,7 @@
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
/**
* <code>NOOP <CRLF></code><br>
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS.java Sun Jan 7 13:36:35 2007
@@ -27,7 +27,7 @@
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
import org.apache.ftpserver.interfaces.Command;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
/**
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS_MLST.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS_MLST.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS_MLST.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS_MLST.java Sun Jan 7 13:36:35 2007
@@ -26,7 +26,7 @@
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
/**
* Client-Server listing negotation.
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS_UTF8.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS_UTF8.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS_UTF8.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/OPTS_UTF8.java Sun Jan 7 13:36:35 2007
@@ -25,7 +25,7 @@
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
/**
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PASS.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PASS.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PASS.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PASS.java Sun Jan 7 13:36:35 2007
@@ -38,10 +38,10 @@
import org.apache.ftpserver.ftplet.FtpletEnum;
import org.apache.ftpserver.ftplet.User;
import org.apache.ftpserver.ftplet.UserManager;
-import org.apache.ftpserver.interfaces.Connection;
-import org.apache.ftpserver.interfaces.ConnectionManager;
import org.apache.ftpserver.interfaces.FtpServerContext;
import org.apache.ftpserver.interfaces.ServerFtpStatistics;
+import org.apache.ftpserver.listener.Connection;
+import org.apache.ftpserver.listener.ConnectionManager;
import org.apache.ftpserver.usermanager.AnonymousAuthentication;
import org.apache.ftpserver.usermanager.UserMetadata;
import org.apache.ftpserver.usermanager.UsernamePasswordAuthentication;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PASV.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PASV.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PASV.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PASV.java Sun Jan 7 13:36:35 2007
@@ -27,7 +27,7 @@
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
/**
* <code>PASV <CRLF></code><br>
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PBSZ.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PBSZ.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PBSZ.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PBSZ.java Sun Jan 7 13:36:35 2007
@@ -25,7 +25,7 @@
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
/**
* Protection buffer size.
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PORT.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PORT.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PORT.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PORT.java Sun Jan 7 13:36:35 2007
@@ -27,8 +27,8 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
import org.apache.ftpserver.interfaces.DataConnectionConfig;
+import org.apache.ftpserver.listener.Connection;
/**
* <code>PORT <SP> <host-port> <CRLF></code><br>
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PROT.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PROT.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PROT.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PROT.java Sun Jan 7 13:36:35 2007
@@ -26,8 +26,8 @@
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
import org.apache.ftpserver.interfaces.FtpServerContext;
+import org.apache.ftpserver.listener.Connection;
/**
* Data channel protection level.
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PWD.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PWD.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PWD.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/PWD.java Sun Jan 7 13:36:35 2007
@@ -26,7 +26,7 @@
import org.apache.ftpserver.ftplet.FileSystemView;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
/**
* <code>PWD <CRLF></code><br>
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/QUIT.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/QUIT.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/QUIT.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/QUIT.java Sun Jan 7 13:36:35 2007
@@ -24,7 +24,7 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
/**
* <code>QUIT <CRLF></code><br>
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/REIN.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/REIN.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/REIN.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/REIN.java Sun Jan 7 13:36:35 2007
@@ -24,7 +24,7 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
/**
* <code>REIN <CRLF></code><br>
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/REST.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/REST.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/REST.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/REST.java Sun Jan 7 13:36:35 2007
@@ -24,7 +24,7 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
/**
* <code>REST <SP> <marker> <CRLF></code><br>
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RETR.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RETR.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RETR.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RETR.java Sun Jan 7 13:36:35 2007
@@ -35,9 +35,9 @@
import org.apache.ftpserver.ftplet.FtpRequest;
import org.apache.ftpserver.ftplet.Ftplet;
import org.apache.ftpserver.ftplet.FtpletEnum;
-import org.apache.ftpserver.interfaces.Connection;
import org.apache.ftpserver.interfaces.FtpServerContext;
import org.apache.ftpserver.interfaces.ServerFtpStatistics;
+import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.usermanager.TransferRateRequest;
import org.apache.ftpserver.util.IoUtils;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RMD.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RMD.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RMD.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RMD.java Sun Jan 7 13:36:35 2007
@@ -29,9 +29,9 @@
import org.apache.ftpserver.ftplet.FtpRequest;
import org.apache.ftpserver.ftplet.Ftplet;
import org.apache.ftpserver.ftplet.FtpletEnum;
-import org.apache.ftpserver.interfaces.Connection;
import org.apache.ftpserver.interfaces.FtpServerContext;
import org.apache.ftpserver.interfaces.ServerFtpStatistics;
+import org.apache.ftpserver.listener.Connection;
/**
* <code>RMD <SP> <pathname> <CRLF></code><br>
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RNFR.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RNFR.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RNFR.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RNFR.java Sun Jan 7 13:36:35 2007
@@ -26,7 +26,7 @@
import org.apache.ftpserver.ftplet.FileObject;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
/**
* <code>RNFR <SP> <pathname> <CRLF></code><br>
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RNTO.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RNTO.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RNTO.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/RNTO.java Sun Jan 7 13:36:35 2007
@@ -29,8 +29,8 @@
import org.apache.ftpserver.ftplet.FtpRequest;
import org.apache.ftpserver.ftplet.Ftplet;
import org.apache.ftpserver.ftplet.FtpletEnum;
-import org.apache.ftpserver.interfaces.Connection;
import org.apache.ftpserver.interfaces.FtpServerContext;
+import org.apache.ftpserver.listener.Connection;
/**
* <code>RNTO <SP> <pathname> <CRLF></code><br>
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE.java Sun Jan 7 13:36:35 2007
@@ -30,8 +30,8 @@
import org.apache.ftpserver.ftplet.Ftplet;
import org.apache.ftpserver.ftplet.FtpletEnum;
import org.apache.ftpserver.interfaces.Command;
-import org.apache.ftpserver.interfaces.Connection;
import org.apache.ftpserver.interfaces.FtpServerContext;
+import org.apache.ftpserver.listener.Connection;
/**
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_DESCUSER.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_DESCUSER.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_DESCUSER.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_DESCUSER.java Sun Jan 7 13:36:35 2007
@@ -27,8 +27,8 @@
import org.apache.ftpserver.ftplet.FtpRequest;
import org.apache.ftpserver.ftplet.User;
import org.apache.ftpserver.ftplet.UserManager;
-import org.apache.ftpserver.interfaces.Connection;
import org.apache.ftpserver.interfaces.FtpServerContext;
+import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.usermanager.TransferRateRequest;
import org.apache.ftpserver.usermanager.WriteRequest;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_HELP.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_HELP.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_HELP.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_HELP.java Sun Jan 7 13:36:35 2007
@@ -25,7 +25,7 @@
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
/**
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_STAT.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_STAT.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_STAT.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_STAT.java Sun Jan 7 13:36:35 2007
@@ -27,7 +27,7 @@
import org.apache.ftpserver.ftplet.FtpRequest;
import org.apache.ftpserver.ftplet.FtpStatistics;
import org.apache.ftpserver.ftplet.UserManager;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.DateUtils;
/**
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_WHO.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_WHO.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_WHO.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_WHO.java Sun Jan 7 13:36:35 2007
@@ -30,7 +30,7 @@
import org.apache.ftpserver.ftplet.FtpSession;
import org.apache.ftpserver.ftplet.User;
import org.apache.ftpserver.ftplet.UserManager;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.util.DateUtils;
import org.apache.ftpserver.util.StringUtils;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_ZONE.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_ZONE.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_ZONE.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SITE_ZONE.java Sun Jan 7 13:36:35 2007
@@ -27,7 +27,7 @@
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
/**
* Displays the FTP server timezone in RFC 822 format.
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SIZE.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SIZE.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SIZE.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SIZE.java Sun Jan 7 13:36:35 2007
@@ -26,7 +26,7 @@
import org.apache.ftpserver.ftplet.FileObject;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
/**
* <code>SIZE <SP> <pathname> <CRLF></code><br>
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STAT.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STAT.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STAT.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STAT.java Sun Jan 7 13:36:35 2007
@@ -24,7 +24,7 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
/**
* <code>STAT [<SP> <pathname>] <CRLF></code><br>
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STOR.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STOR.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STOR.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STOR.java Sun Jan 7 13:36:35 2007
@@ -32,9 +32,9 @@
import org.apache.ftpserver.ftplet.FtpRequest;
import org.apache.ftpserver.ftplet.Ftplet;
import org.apache.ftpserver.ftplet.FtpletEnum;
-import org.apache.ftpserver.interfaces.Connection;
import org.apache.ftpserver.interfaces.FtpServerContext;
import org.apache.ftpserver.interfaces.ServerFtpStatistics;
+import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.usermanager.TransferRateRequest;
import org.apache.ftpserver.util.IoUtils;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STOU.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STOU.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STOU.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STOU.java Sun Jan 7 13:36:35 2007
@@ -34,9 +34,9 @@
import org.apache.ftpserver.ftplet.FtpSession;
import org.apache.ftpserver.ftplet.Ftplet;
import org.apache.ftpserver.ftplet.FtpletEnum;
-import org.apache.ftpserver.interfaces.Connection;
import org.apache.ftpserver.interfaces.FtpServerContext;
import org.apache.ftpserver.interfaces.ServerFtpStatistics;
+import org.apache.ftpserver.listener.Connection;
import org.apache.ftpserver.usermanager.TransferRateRequest;
import org.apache.ftpserver.util.IoUtils;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STRU.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STRU.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STRU.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/STRU.java Sun Jan 7 13:36:35 2007
@@ -25,7 +25,7 @@
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpRequest;
import org.apache.ftpserver.ftplet.Structure;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
/**
* <code>STRU <SP> <structure-code> <CRLF></code><br>
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SYST.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SYST.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SYST.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/SYST.java Sun Jan 7 13:36:35 2007
@@ -24,7 +24,7 @@
import org.apache.ftpserver.FtpSessionImpl;
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
/**
* <code>SYST <CRLF></code><br>
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/TYPE.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/TYPE.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/TYPE.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/TYPE.java Sun Jan 7 13:36:35 2007
@@ -25,7 +25,7 @@
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.DataType;
import org.apache.ftpserver.ftplet.FtpRequest;
-import org.apache.ftpserver.interfaces.Connection;
+import org.apache.ftpserver.listener.Connection;
/**
* <code>TYPE <SP> <type-code> <CRLF></code><br>
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/USER.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/USER.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/USER.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/command/USER.java Sun Jan 7 13:36:35 2007
@@ -26,10 +26,10 @@
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
import org.apache.ftpserver.ftplet.User;
-import org.apache.ftpserver.interfaces.Connection;
-import org.apache.ftpserver.interfaces.ConnectionManager;
import org.apache.ftpserver.interfaces.FtpServerContext;
import org.apache.ftpserver.interfaces.ServerFtpStatistics;
+import org.apache.ftpserver.listener.Connection;
+import org.apache.ftpserver.listener.ConnectionManager;
import org.apache.ftpserver.usermanager.BaseUser;
import org.apache.ftpserver.usermanager.ConcurrentLoginRequest;
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/Command.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/Command.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/Command.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/Command.java Sun Jan 7 13:36:35 2007
@@ -25,6 +25,7 @@
import org.apache.ftpserver.FtpWriter;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.ftplet.FtpRequest;
+import org.apache.ftpserver.listener.Connection;
/**
* This interface encapsulates all the FTP commands.
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/FileObserver.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/FileObserver.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/FileObserver.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/FileObserver.java Sun Jan 7 13:36:35 2007
@@ -20,6 +20,7 @@
package org.apache.ftpserver.interfaces;
import org.apache.ftpserver.ftplet.FileObject;
+import org.apache.ftpserver.listener.Connection;
/**
* This is the file related activity observer.
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/FtpServerContext.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/FtpServerContext.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/FtpServerContext.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/FtpServerContext.java Sun Jan 7 13:36:35 2007
@@ -21,6 +21,7 @@
import org.apache.ftpserver.ftplet.FtpletContext;
import org.apache.ftpserver.ftplet.Ftplet;
+import org.apache.ftpserver.listener.ConnectionManager;
/**
* This is basically <code>org.apache.ftpserver.ftplet.FtpletContext</code> with added
Modified: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/ServerFtpStatistics.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/ServerFtpStatistics.java?view=diff&rev=493852&r1=493851&r2=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/ServerFtpStatistics.java (original)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/interfaces/ServerFtpStatistics.java Sun Jan 7 13:36:35 2007
@@ -22,6 +22,7 @@
import org.apache.ftpserver.ftplet.Component;
import org.apache.ftpserver.ftplet.FileObject;
import org.apache.ftpserver.ftplet.FtpStatistics;
+import org.apache.ftpserver.listener.Connection;
/**
* This is same as <code>org.apache.ftpserver.ftplet.FtpStatistics</code>
Added: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/Connection.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/Connection.java?view=auto&rev=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/Connection.java (added)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/Connection.java Sun Jan 7 13:36:35 2007
@@ -0,0 +1,72 @@
+/*
+ * 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.ftpserver.listener;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.Socket;
+
+import org.apache.ftpserver.ftplet.FtpSession;
+import org.apache.ftpserver.interfaces.FtpServerContext;
+
+/**
+ * This is the connection request handler interface.
+ *
+ * @author <a href="mailto:rana_b@yahoo.com">Rana Bhattacharyya</a>
+ */
+public
+interface Connection extends Runnable {
+
+ /**
+ * Get current session.
+ */
+ FtpSession getSession();
+
+ /**
+ * Close handler.
+ */
+ void close();
+
+ /**
+ * Set connection observer.
+ */
+ void setObserver(ConnectionObserver observer);
+
+ /**
+ * Return the server context
+ * @return The servet context
+ */
+ FtpServerContext getServerContext();
+
+ /**
+ * Secure the control socket
+ * @param type The type of security to use, i.e. SSL or TLS
+ * @throws Exception
+ * TODO: Limit exception type.
+ * TODO: Rename without create (indicates factory)
+ */
+ void createSecureSocket(String type) throws Exception;
+
+ long transfer(InputStream bis, OutputStream bos, int maxRate) throws IOException;
+
+ Socket getControlSocket();
+}
+
Propchange: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/Connection.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/ConnectionManager.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/ConnectionManager.java?view=auto&rev=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/ConnectionManager.java (added)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/ConnectionManager.java Sun Jan 7 13:36:35 2007
@@ -0,0 +1,90 @@
+/*
+ * 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.ftpserver.listener;
+
+import java.util.List;
+
+import org.apache.ftpserver.ftplet.Component;
+
+/**
+ * It manages all the ftp connections.
+ *
+ * @author <a href="mailto:rana_b@yahoo.com">Rana Bhattacharyya</a>
+ */
+public
+interface ConnectionManager extends Component {
+
+ /**
+ * Get maximum number of connections.
+ */
+ int getMaxConnections();
+
+ /**
+ * Get maximum number of logins.
+ */
+ int getMaxLogins();
+
+
+ /**
+ * Is anonymous login enabled?
+ */
+ boolean isAnonymousLoginEnabled();
+
+
+ /**
+ * Get maximum anonymous logins
+ */
+ int getMaxAnonymousLogins();
+
+
+ /**
+ * Get all request handlers.
+ */
+ List getAllConnections();
+
+ /**
+ * Establish a new connection channel.
+ */
+ void newConnection(Connection connection);
+
+
+ /**
+ * Update connection.
+ */
+ void updateConnection(Connection connection);
+
+
+ /**
+ * Close a connection.
+ */
+ void closeConnection(Connection connection);
+
+
+ /**
+ * Close all connections.
+ */
+ void closeAllConnections();
+
+
+ /**
+ * Set connection manager observer.
+ */
+ void setObserver(ConnectionManagerObserver observer);
+}
Propchange: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/ConnectionManager.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/ConnectionManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/ConnectionManagerImpl.java?view=auto&rev=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/ConnectionManagerImpl.java (added)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/ConnectionManagerImpl.java Sun Jan 7 13:36:35 2007
@@ -0,0 +1,311 @@
+/*
+ * 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.ftpserver.listener;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Timer;
+import java.util.TimerTask;
+import java.util.Vector;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.ftpserver.FtpDataConnection;
+import org.apache.ftpserver.FtpSessionImpl;
+import org.apache.ftpserver.ftplet.Configuration;
+import org.apache.ftpserver.ftplet.FtpException;
+import org.apache.ftpserver.ftplet.FtpSession;
+
+/**
+ * Connection service to manage all the connections (request handlers).
+ *
+ * @author <a href="mailto:rana_b@yahoo.com">Rana Bhattacharyya</a>
+ */
+public
+class ConnectionManagerImpl implements ConnectionManager {
+
+ private Log log;
+
+ private ConnectionManagerObserver observer;
+ private Timer timer;
+ private Vector conList = new Vector();
+
+ private int maxConnections;
+ private int maxLogins;
+ private boolean anonEnabled;
+ private int maxAnonLogins;
+
+ private int defaultIdleSec;
+ private int pollIntervalSec;
+
+
+ /**
+ * Set the log factory.
+ */
+ public void setLogFactory(LogFactory factory) {
+ log = factory.getInstance(getClass());
+ }
+
+ /**
+ * Configure connection service
+ */
+ public void configure(Configuration config) throws FtpException {
+
+ // get configuration parameters
+ maxConnections = config.getInt ("max-connection", 20);
+ maxLogins = config.getInt ("max-login", 10);
+ anonEnabled = config.getBoolean ("anonymous-login-enabled", true);
+ maxAnonLogins = config.getInt ("max-anonymous-login", 10);
+ defaultIdleSec = config.getInt ("default-idle-time", 60);
+ pollIntervalSec = config.getInt ("timeout-poll-inverval", 60);
+
+ // set timer to remove inactive users and load data
+ timer = new Timer();
+ TimerTask timerTask = new TimerTask() {
+ public void run() {
+ timerTask();
+ }
+ };
+ timer.schedule(timerTask, 0, pollIntervalSec*1000L);
+ }
+
+ /**
+ * Set connection manager observer.
+ */
+ public void setObserver(ConnectionManagerObserver observer) {
+ this.observer = observer;
+ }
+
+ /**
+ * Get maximum number of connections.
+ */
+ public int getMaxConnections() {
+ return maxConnections;
+ }
+
+ /**
+ * Get maximum number of logins.
+ */
+ public int getMaxLogins() {
+ return maxLogins;
+ }
+
+ /**
+ * Is anonymous login enabled?
+ */
+ public boolean isAnonymousLoginEnabled() {
+ return anonEnabled;
+ }
+
+ public int getDefaultIdleSec() {
+ return defaultIdleSec;
+ }
+
+ /**
+ * Get maximum anonymous logins
+ */
+ public int getMaxAnonymousLogins() {
+ return maxAnonLogins;
+ }
+
+ /**
+ * Get all request handlers
+ */
+ public List getAllConnections() {
+ List cons = conList;
+ if(cons == null) {
+ return new Vector();
+ }
+ return new Vector(cons);
+ }
+
+ /**
+ * New connection has been established.
+ */
+ public void newConnection(Connection connection) {
+
+ // null connection - ignore
+ if (connection == null) {
+ return;
+ }
+
+ // disposed - ignore
+ List cons = conList;
+ if(cons == null) {
+ return;
+ }
+ cons.add(connection);
+
+ // notify observer about a new connection
+ ConnectionManagerObserver observer = this.observer;
+ if (observer != null) {
+ observer.openedConnection(connection);
+ observer.updatedConnection(connection);
+ }
+
+ /*
+ * set default idle time for request. This value should be overrided
+ * after user login
+ */
+ connection.getSession().setMaxIdleTime(defaultIdleSec);
+
+ // now start a new thread to serve this connection
+ new Thread(connection).start();
+ }
+
+ /**
+ * Connection has been updated - notify listeners
+ */
+ public void updateConnection(Connection connection) {
+
+ // null connection - ignore
+ if(connection == null) {
+ return;
+ }
+
+ // notify observer
+ ConnectionManagerObserver observer = this.observer;
+ if(observer != null) {
+ observer.updatedConnection(connection);
+ }
+ }
+
+ /**
+ * Close connection.
+ */
+ public void closeConnection(Connection connection) {
+
+ // null connection - ignore
+ if (connection == null) {
+ return;
+ }
+
+ // close socket
+ List cons = conList;
+ if(cons != null) {
+ cons.remove(connection);
+ }
+ connection.close();
+
+ // notify observer
+ ConnectionManagerObserver observer = this.observer;
+ if(observer != null) {
+ observer.closedConnection(connection);
+ }
+ }
+
+ /**
+ * Close all connections.
+ */
+ public void closeAllConnections() {
+ List allCons = getAllConnections();
+ for( Iterator it = allCons.iterator(); it.hasNext(); ) {
+ Connection connection = (Connection)it.next();
+ closeConnection(connection);
+ }
+ allCons.clear();
+ }
+
+ /**
+ * Timer thread will call this method periodically to
+ * close inactice connections.
+ */
+ public void timerTask() {
+
+ // get all connections
+ ArrayList inactiveCons = new ArrayList();
+ long currTime = System.currentTimeMillis();
+ Vector conList = this.conList;
+ if(conList == null) {
+ return;
+ }
+
+ // get inactive client connection list
+ synchronized(conList) {
+ for( int i = conList.size(); --i>=0; ) {
+ Connection con = (Connection)conList.get(i);
+ if(con == null) {
+ continue;
+ }
+
+ // idle client connection
+ FtpSessionImpl session = (FtpSessionImpl)con.getSession();
+ if(session == null) {
+ continue;
+ }
+ if(session.isTimeout(currTime)) {
+ inactiveCons.add(con);
+ continue;
+ }
+
+ // idle data connection
+ FtpDataConnection dataCon = session.getFtpDataConnection();
+ if(dataCon == null) {
+ continue;
+ }
+ synchronized(dataCon) {
+
+ // if the data connection is not active - close it
+ if(dataCon.isTimeout(currTime)) {
+ log.info("Removing idle data connection for " + session.getUser());
+ dataCon.closeDataSocket();
+ }
+ }
+ }
+ }
+
+ // close idle client connections
+ for( Iterator conIt=inactiveCons.iterator(); conIt.hasNext(); ) {
+ Connection connection = (Connection)conIt.next();
+ if(connection == null) {
+ continue;
+ }
+
+ FtpSession session = connection.getSession();
+ if(session == null) {
+ continue;
+ }
+
+ log.info("Removing idle user " + session.getUser());
+ closeConnection(connection);
+ }
+ }
+
+ /**
+ * Dispose connections
+ */
+ public void dispose() {
+
+ // stop timer
+ Timer timer = this.timer;
+ if (timer != null) {
+ timer.cancel();
+ this.timer = null;
+ }
+
+ // close all connections
+ List cons = conList;
+ if (cons != null) {
+ closeAllConnections();
+ conList = null;
+ }
+ }
+}
Propchange: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/ConnectionManagerImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/ConnectionManagerObserver.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/ConnectionManagerObserver.java?view=auto&rev=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/ConnectionManagerObserver.java (added)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/ConnectionManagerObserver.java Sun Jan 7 13:36:35 2007
@@ -0,0 +1,45 @@
+/*
+ * 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.ftpserver.listener;
+
+
+/**
+ * This observer interface monitors all the ftp connections.
+ *
+ * @author <a href="mailto:rana_b@yahoo.com">Rana Bhattacharyya</a>
+ */
+public
+interface ConnectionManagerObserver {
+
+ /**
+ * New ftp connection.
+ */
+ void openedConnection(Connection connection);
+
+ /**
+ * Closing ftp connection
+ */
+ void closedConnection(Connection connection);
+
+ /**
+ * Connected user property change
+ */
+ void updatedConnection(Connection connection);
+}
Propchange: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/ConnectionManagerObserver.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/ConnectionObserver.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/ConnectionObserver.java?view=auto&rev=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/ConnectionObserver.java (added)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/ConnectionObserver.java Sun Jan 7 13:36:35 2007
@@ -0,0 +1,42 @@
+/*
+ * 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.ftpserver.listener;
+
+
+/**
+ * This interface is used to monitor connection request & replies.
+ *
+ * @author <a href="mailto:rana_b@yahoo.com">Rana Bhattacharyya</a>
+ */
+public
+interface ConnectionObserver {
+
+ /**
+ * Write user request.
+ */
+ void request(String msg);
+
+
+ /**
+ * Write server response.
+ */
+ void response(String msg);
+
+}
Propchange: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/ConnectionObserver.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/Listener.java
URL: http://svn.apache.org/viewvc/incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/Listener.java?view=auto&rev=493852
==============================================================================
--- incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/Listener.java (added)
+++ incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/Listener.java Sun Jan 7 13:36:35 2007
@@ -0,0 +1,74 @@
+/*
+ * 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.ftpserver.listener;
+
+
+/**
+ * Interface for the component responsible for waiting for incoming
+ * socket requests and kicking off {@link Connection}s
+ *
+ */
+public interface Listener {
+
+ /**
+ * Start the listener, will initiate the listener waiting
+ * on the socket.
+ * The method should not return until the listener has
+ * started accepting socket requests.
+ *
+ * @throws Exception On error during start up
+ */
+ void start() throws Exception;
+
+ /**
+ * Stop the listener, it should no longer except socket requests.
+ * The method should not return until the listener has stopped
+ * accepting socket requests.
+ */
+ void stop();
+
+ /**
+ * Checks if the listener is currently started.
+ *
+ * @return True if the listener is started
+ */
+ boolean isStopped();
+
+ /**
+ * Temporarily stops the listener from accepting socket requests.
+ * Resume the listener by using the {@link #resume()} method.
+ * The method should not return until the listener has stopped
+ * accepting socket requests.
+ */
+ void suspend();
+
+ /**
+ * Resumes a suspended listener.
+ * The method should not return until the listener has
+ * started accepting socket requests.
+ */
+ void resume();
+
+ /**
+ * Checks if the listener is currently suspended
+ * @return True if the listener is suspended
+ */
+ boolean isSuspended();
+}
\ No newline at end of file
Propchange: incubator/ftpserver/trunk/core/src/java/org/apache/ftpserver/listener/Listener.java
------------------------------------------------------------------------------
svn:eol-style = native