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/04/15 23:21:18 UTC

svn commit: r648416 - in /mina/ftpserver/trunk: core/src/main/java/org/apache/ftpserver/ core/src/main/java/org/apache/ftpserver/ftplet/ core/src/test/java/org/apache/ftpserver/ftplet/ ftplet-api/src/main/java/org/apache/ftpserver/ftplet/

Author: ngn
Date: Tue Apr 15 14:21:14 2008
New Revision: 648416

URL: http://svn.apache.org/viewvc?rev=648416&view=rev
Log:
Removing the use of Configuration from Ftplet, instead use setter based configuration in ConfigurableFtpServerContext

Modified:
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/ConfigurableFtpServerContext.java
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/ftplet/DefaultFtpletContainer.java
    mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ftplet/MockFtplet.java
    mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ftplet/MockFtpletCallback.java
    mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/DefaultFtplet.java
    mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/Ftplet.java

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/ConfigurableFtpServerContext.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/ConfigurableFtpServerContext.java?rev=648416&r1=648415&r2=648416&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/ConfigurableFtpServerContext.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/ConfigurableFtpServerContext.java Tue Apr 15 14:21:14 2008
@@ -28,6 +28,7 @@
 import org.apache.ftpserver.filesystem.NativeFileSystemManager;
 import org.apache.ftpserver.ftplet.Authority;
 import org.apache.ftpserver.ftplet.Configuration;
+import org.apache.ftpserver.ftplet.DefaultFtplet;
 import org.apache.ftpserver.ftplet.DefaultFtpletContainer;
 import org.apache.ftpserver.ftplet.FileSystemManager;
 import org.apache.ftpserver.ftplet.FtpException;
@@ -46,6 +47,7 @@
 import org.apache.ftpserver.usermanager.PropertiesUserManager;
 import org.apache.ftpserver.usermanager.TransferRatePermission;
 import org.apache.ftpserver.usermanager.WritePermission;
+import org.apache.ftpserver.util.ClassUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -159,12 +161,9 @@
                 
                 // get ftplet specific configuration
                 Configuration subConfig = ftpletConf.subset(ftpletName);
-                String className = subConfig.getString("class", null);
-                if(className == null) {
-                    continue;
-                }
-                Ftplet ftplet = (Ftplet)Class.forName(className).newInstance();
-                ftplet.init(this, subConfig);
+                
+                Ftplet ftplet = (Ftplet) ClassUtils.createBean(subConfig, DefaultFtplet.class.getName());
+                ftplet.init(this);
                 container.addFtplet(ftpletName, ftplet);
             }
         }

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/ftplet/DefaultFtpletContainer.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/ftplet/DefaultFtpletContainer.java?rev=648416&r1=648415&r2=648416&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/ftplet/DefaultFtpletContainer.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/ftplet/DefaultFtpletContainer.java Tue Apr 15 14:21:14 2008
@@ -533,7 +533,7 @@
         return retVal;
     }
 
-    public void init(FtpletContext ftpletContext, Configuration config) throws FtpException {
+    public void init(FtpletContext ftpletContext) throws FtpException {
         // dummy, forced by Ftplet API       
     }
 

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ftplet/MockFtplet.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ftplet/MockFtplet.java?rev=648416&r1=648415&r2=648416&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ftplet/MockFtplet.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ftplet/MockFtplet.java Tue Apr 15 14:21:14 2008
@@ -29,8 +29,8 @@
         callback.destroy();
     }
 
-    public void init(FtpletContext ftpletContext, Configuration config) throws FtpException {
-        callback.init(ftpletContext, config);
+    public void init(FtpletContext ftpletContext) throws FtpException {
+        callback.init(ftpletContext);
     }
 
     public FtpletEnum onAppendEnd(FtpSession session, FtpRequest request) throws FtpException, IOException {

Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ftplet/MockFtpletCallback.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ftplet/MockFtpletCallback.java?rev=648416&r1=648415&r2=648416&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ftplet/MockFtpletCallback.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/ftplet/MockFtpletCallback.java Tue Apr 15 14:21:14 2008
@@ -28,7 +28,7 @@
     public void destroy() {
     }
 
-    public void init(FtpletContext ftpletContext, Configuration config) throws FtpException {
+    public void init(FtpletContext ftpletContext) throws FtpException {
     }
 
     public FtpletEnum onAppendEnd(FtpSession session, FtpRequest request) throws FtpException, IOException {

Modified: mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/DefaultFtplet.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/DefaultFtplet.java?rev=648416&r1=648415&r2=648416&view=diff
==============================================================================
--- mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/DefaultFtplet.java (original)
+++ mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/DefaultFtplet.java Tue Apr 15 14:21:14 2008
@@ -29,7 +29,7 @@
 public 
 class DefaultFtplet implements Ftplet {
 
-    public void init(FtpletContext ftpletContext, Configuration config) throws FtpException {}
+    public void init(FtpletContext ftpletContext) throws FtpException {}
     public void destroy() {}
     
     public FtpletEnum onConnect(FtpSession session) throws FtpException, IOException {return null;}

Modified: mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/Ftplet.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/Ftplet.java?rev=648416&r1=648415&r2=648416&view=diff
==============================================================================
--- mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/Ftplet.java (original)
+++ mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/Ftplet.java Tue Apr 15 14:21:14 2008
@@ -24,7 +24,7 @@
 /**
  * Defines methods that all ftplets must implement. 
  *
- * A servlet is a small Java program that runs within a FTP server. 
+ * A ftplet is a small Java program that runs within a FTP server. 
  * Ftplets receive and respond to requests from FTP clients.
  *
  * This interface defines methods to initialize a ftplet, to service requests, 
@@ -53,7 +53,7 @@
      * the ftplet. The init method must complete successfully before the ftplet can 
      * receive any requests.
      */
-    void init(FtpletContext ftpletContext, Configuration config) throws FtpException;
+    void init(FtpletContext ftpletContext) throws FtpException;
     
     /**
      * Called by the servlet container to indicate to a ftplet that the ftplet is