[ 
https://issues.apache.org/jira/browse/FTPSERVER-82?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Niklas Gustavsson closed FTPSERVER-82.
--------------------------------------

    Resolution: Fixed

Done

svn commit "/media/big/home/svn/apache/ftpserver-trunk/core" 
"/media/big/home/svn/apache/ftpserver-trunk/ftplet-api" -m "Generalized 
Ftplets, now support beforeCommand anf afterCommand (FTPSERVER-138 and 
FTPSERVER-82)
DefaultFtplet supports the same interface as the old Ftplet, users who 
previously implemented Ftplet can now extend DefaultFtplet" --username "ngn"
        M 
/media/big/home/svn/apache/ftpserver-trunk/core/src/main/java/org/apache/ftpserver/command/APPE.java
        M 
/media/big/home/svn/apache/ftpserver-trunk/core/src/main/java/org/apache/ftpserver/command/DELE.java
        M 
/media/big/home/svn/apache/ftpserver-trunk/core/src/main/java/org/apache/ftpserver/command/MKD.java
        M 
/media/big/home/svn/apache/ftpserver-trunk/core/src/main/java/org/apache/ftpserver/command/PASS.java
        M 
/media/big/home/svn/apache/ftpserver-trunk/core/src/main/java/org/apache/ftpserver/command/RETR.java
        M 
/media/big/home/svn/apache/ftpserver-trunk/core/src/main/java/org/apache/ftpserver/command/RMD.java
        M 
/media/big/home/svn/apache/ftpserver-trunk/core/src/main/java/org/apache/ftpserver/command/RNTO.java
        M 
/media/big/home/svn/apache/ftpserver-trunk/core/src/main/java/org/apache/ftpserver/command/SITE.java
        M 
/media/big/home/svn/apache/ftpserver-trunk/core/src/main/java/org/apache/ftpserver/command/STOR.java
        M 
/media/big/home/svn/apache/ftpserver-trunk/core/src/main/java/org/apache/ftpserver/command/STOU.java
        M 
/media/big/home/svn/apache/ftpserver-trunk/core/src/main/java/org/apache/ftpserver/DefaultFtpHandler.java
        M 
/media/big/home/svn/apache/ftpserver-trunk/core/src/main/java/org/apache/ftpserver/ftplet/DefaultFtpletContainer.java
        M 
/media/big/home/svn/apache/ftpserver-trunk/core/src/test/java/org/apache/ftpserver/clienttests/FeatTest.java
        M 
/media/big/home/svn/apache/ftpserver-trunk/core/src/test/java/org/apache/ftpserver/clienttests/LoginTest.java
        M 
/media/big/home/svn/apache/ftpserver-trunk/core/src/test/java/org/apache/ftpserver/DefaultFtpReplyTest.java
        M 
/media/big/home/svn/apache/ftpserver-trunk/core/src/test/java/org/apache/ftpserver/ftplet/FtpLetContainerTestTemplate.java
        M 
/media/big/home/svn/apache/ftpserver-trunk/core/src/test/java/org/apache/ftpserver/ftplet/FtpLetReturnDefaultTest.java
        M 
/media/big/home/svn/apache/ftpserver-trunk/core/src/test/java/org/apache/ftpserver/ftplet/FtpLetReturnDisconnectTest.java
        M 
/media/big/home/svn/apache/ftpserver-trunk/core/src/test/java/org/apache/ftpserver/ftplet/FtpLetReturnSkipTest.java
        M 
/media/big/home/svn/apache/ftpserver-trunk/core/src/test/java/org/apache/ftpserver/ftplet/MockFtplet.java
        M 
/media/big/home/svn/apache/ftpserver-trunk/core/src/test/java/org/apache/ftpserver/ftplet/MockFtpletCallback.java
        M 
/media/big/home/svn/apache/ftpserver-trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/DefaultFtplet.java
        M 
/media/big/home/svn/apache/ftpserver-trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/Ftplet.java
        M 
/media/big/home/svn/apache/ftpserver-trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpSession.java
        A 
/media/big/home/svn/apache/ftpserver-trunk/ftplet-api/src/test/java/org/apache/ftpserver/ftplet/Foo.java
          Transmitting file data: 
/media/big/home/svn/apache/ftpserver-trunk/core/src/main/java/org/apache/ftpserver/DefaultFtpHandler.java
          Transmitting file data: 
/media/big/home/svn/apache/ftpserver-trunk/core/src/main/java/org/apache/ftpserver/command/APPE.java
          Transmitting file data: 
/media/big/home/svn/apache/ftpserver-trunk/core/src/main/java/org/apache/ftpserver/command/DELE.java
          Transmitting file data: 
/media/big/home/svn/apache/ftpserver-trunk/core/src/main/java/org/apache/ftpserver/command/MKD.java
          Transmitting file data: 
/media/big/home/svn/apache/ftpserver-trunk/core/src/main/java/org/apache/ftpserver/command/PASS.java
          Transmitting file data: 
/media/big/home/svn/apache/ftpserver-trunk/core/src/main/java/org/apache/ftpserver/command/RETR.java
          Transmitting file data: 
/media/big/home/svn/apache/ftpserver-trunk/core/src/main/java/org/apache/ftpserver/command/RMD.java
          Transmitting file data: 
/media/big/home/svn/apache/ftpserver-trunk/core/src/main/java/org/apache/ftpserver/command/RNTO.java
          Transmitting file data: 
/media/big/home/svn/apache/ftpserver-trunk/core/src/main/java/org/apache/ftpserver/command/SITE.java
          Transmitting file data: 
/media/big/home/svn/apache/ftpserver-trunk/core/src/main/java/org/apache/ftpserver/command/STOR.java
          Transmitting file data: 
/media/big/home/svn/apache/ftpserver-trunk/core/src/main/java/org/apache/ftpserver/command/STOU.java
          Transmitting file data: 
/media/big/home/svn/apache/ftpserver-trunk/core/src/main/java/org/apache/ftpserver/ftplet/DefaultFtpletContainer.java
          Transmitting file data: 
/media/big/home/svn/apache/ftpserver-trunk/core/src/test/java/org/apache/ftpserver/DefaultFtpReplyTest.java
          Transmitting file data: 
/media/big/home/svn/apache/ftpserver-trunk/core/src/test/java/org/apache/ftpserver/clienttests/FeatTest.java
          Transmitting file data: 
/media/big/home/svn/apache/ftpserver-trunk/core/src/test/java/org/apache/ftpserver/clienttests/LoginTest.java
          Transmitting file data: 
/media/big/home/svn/apache/ftpserver-trunk/core/src/test/java/org/apache/ftpserver/ftplet/FtpLetContainerTestTemplate.java
          Transmitting file data: 
/media/big/home/svn/apache/ftpserver-trunk/core/src/test/java/org/apache/ftpserver/ftplet/FtpLetReturnDefaultTest.java
          Transmitting file data: 
/media/big/home/svn/apache/ftpserver-trunk/core/src/test/java/org/apache/ftpserver/ftplet/FtpLetReturnDisconnectTest.java
          Transmitting file data: 
/media/big/home/svn/apache/ftpserver-trunk/core/src/test/java/org/apache/ftpserver/ftplet/FtpLetReturnSkipTest.java
          Transmitting file data: 
/media/big/home/svn/apache/ftpserver-trunk/core/src/test/java/org/apache/ftpserver/ftplet/MockFtplet.java
          Transmitting file data: 
/media/big/home/svn/apache/ftpserver-trunk/core/src/test/java/org/apache/ftpserver/ftplet/MockFtpletCallback.java
          Transmitting file data: 
/media/big/home/svn/apache/ftpserver-trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/DefaultFtplet.java
          Transmitting file data: 
/media/big/home/svn/apache/ftpserver-trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpSession.java
          Transmitting file data: 
/media/big/home/svn/apache/ftpserver-trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/Ftplet.java
          Transmitting file data: 
/media/big/home/svn/apache/ftpserver-trunk/ftplet-api/src/test/java/org/apache/ftpserver/ftplet/Foo.java
Committed revision 686360

> Ftplet onBeforeCommand and onAfterCommand events
> ------------------------------------------------
>
>                 Key: FTPSERVER-82
>                 URL: https://issues.apache.org/jira/browse/FTPSERVER-82
>             Project: FtpServer
>          Issue Type: Improvement
>          Components: Ftplets
>    Affects Versions: 1.0-M1, 1.0-M2
>            Reporter: im-james
>            Assignee: Niklas Gustavsson
>             Fix For: 1.0-M3
>
>
> In the mailing list there was a message from someone who wanted to execute 
> some code before a LIST command. 
> The ftplet api does not currently allows this.
> The same problem can happen for several other commands so it would be nice to 
> extends the ftplet api to add a way to execute code before and after any 
> command.
> This could be done by adding a couple of method in the ftplet api for every 
> command (onBeforeList, onAfterList) or by using a generic method like:
> onBeforeCommand(enum command, ... )
> onAfterCommand(enum command, ...)
> In these method the developer can create a switch() on the enum to filter the 
> events he wants to catch.
> Of course in onBeforeCommand you should be able to abort the execution of the 
> command.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to