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/07/14 23:03:45 UTC

svn commit: r676732 - in /mina/ftpserver/trunk: ./ core/src/main/java/org/apache/ftpserver/ core/src/main/java/org/apache/ftpserver/ftplet/ core/src/main/java/org/apache/ftpserver/util/ distribution/ ftplet-api/src/main/java/org/apache/ftpserver/ftplet...

Author: ngn
Date: Mon Jul 14 14:03:44 2008
New Revision: 676732

URL: http://svn.apache.org/viewvc?rev=676732&view=rev
Log:
Moving deprecated classes to the server module and renaming to to ftpserver-deprecated. These will be dropped in M3

Added:
    mina/ftpserver/trunk/server/src/main/java/org/apache/ftpserver/ftplet/
    mina/ftpserver/trunk/server/src/main/java/org/apache/ftpserver/ftplet/Component.java   (contents, props changed)
      - copied, changed from r676151, mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/Component.java
    mina/ftpserver/trunk/server/src/main/java/org/apache/ftpserver/ftplet/Configuration.java   (props changed)
      - copied unchanged from r676151, mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/Configuration.java
Removed:
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/Bean.java
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/ComponentBean.java
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/ConfigurableFtpServerContext.java
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/PojoBean.java
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/ftplet/EmptyConfiguration.java
    mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/Component.java
    mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/Configuration.java
Modified:
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DefaultFtpServerContext.java
    mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/ClassUtils.java
    mina/ftpserver/trunk/distribution/pom.xml
    mina/ftpserver/trunk/pom.xml
    mina/ftpserver/trunk/server/pom.xml
    mina/ftpserver/trunk/server/src/test/java/org/apache/ftpserver/util/ConfigurationClassUtilsTest.java

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DefaultFtpServerContext.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DefaultFtpServerContext.java?rev=676732&r1=676731&r2=676732&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DefaultFtpServerContext.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DefaultFtpServerContext.java Mon Jul 14 14:03:44 2008
@@ -25,7 +25,6 @@
 
 import org.apache.ftpserver.filesystem.NativeFileSystemManager;
 import org.apache.ftpserver.ftplet.Authority;
-import org.apache.ftpserver.ftplet.Component;
 import org.apache.ftpserver.ftplet.DefaultFtpletContainer;
 import org.apache.ftpserver.ftplet.FileSystemManager;
 import org.apache.ftpserver.ftplet.FtpStatistics;
@@ -215,26 +214,6 @@
 			Listener listener = listenerIter.next();
 			listener.stop();
 		}
-
-		if (ftpletContainer != null && ftpletContainer instanceof Component) {
-			((Component) ftpletContainer).dispose();
-		}
-
-		if (userManager != null && userManager instanceof Component) {
-			((Component) userManager).dispose();
-		}
-
-		if (fileSystemManager != null && fileSystemManager instanceof Component) {
-			((Component) fileSystemManager).dispose();
-		}
-
-		if (statistics != null && statistics instanceof Component) {
-			((Component) statistics).dispose();
-		}
-
-		if (messageResource != null && messageResource instanceof Component) {
-			((Component) messageResource).dispose();
-		}
 	}
 
 	public Listener getListener(String name) {

Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/ClassUtils.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/ClassUtils.java?rev=676732&r1=676731&r2=676732&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/ClassUtils.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/ClassUtils.java Mon Jul 14 14:03:44 2008
@@ -34,18 +34,12 @@
 import java.net.URL;
 import java.net.UnknownHostException;
 import java.util.ArrayList;
-import java.util.Collection;
 import java.util.Collections;
 import java.util.Comparator;
-import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Map;
 import java.util.StringTokenizer;
 
-import org.apache.ftpserver.FtpServerConfigurationException;
-import org.apache.ftpserver.ftplet.Configuration;
-
 
 
 public class ClassUtils {
@@ -66,7 +60,7 @@
         setProperty(target, setter, propertyValue);
     }
     
-    private static void setProperty(Object target, PropertyDescriptor setter, Object castValue) {
+    static void setProperty(Object target, PropertyDescriptor setter, Object castValue) {
         Method setterMethod = setter.getWriteMethod();
         
         if(setter != null && setterMethod != null) {
@@ -115,7 +109,7 @@
         
     }
     
-    private static PropertyDescriptor getDescriptor(Class<?> clazz, String propertyName) {
+    static PropertyDescriptor getDescriptor(Class<?> clazz, String propertyName) {
         propertyName = normalizePropertyName(propertyName);
         
         BeanInfo beanInfo;
@@ -136,86 +130,6 @@
         return null;
     }
         
-    private static Object createObject(Class<?> clazz, Configuration config, String propValue) {
-        Object value;
-        
-        if(config.isEmpty()) {
-            // regular property
-            value = cast(clazz, propValue);
-        } else {
-            if(clazz == null) {
-                String className = config.getString("class", null);
-                if(className != null) {
-                    try {
-                        clazz = Class.forName(className);
-                    } catch (ClassNotFoundException e) {
-                        throw new RuntimeException("Class not found: " + className, e);
-                    }
-                } else {
-                    // TODO improve error message
-                    throw new RuntimeException("Can not resolve class");
-                }
-            }
-            
-            if(Map.class.isAssignableFrom(clazz)) {
-                Map<String, Object> map = new HashMap<String, Object>();
-                
-                Iterator<String> mapKeys = getKeysInOrder(config.getKeys());
-                
-                while (mapKeys.hasNext()) {
-                    String mapKey = mapKeys.next();
-                    String mapValue = config.getString(mapKey, null);
-                    Configuration mapConfig = config.subset(mapKey);
-                    
-                    map.put(mapKey, createObject(String.class, mapConfig, mapValue));
-                }
-                
-                value = map;
-            } else if(Collection.class.isAssignableFrom(clazz)) {
-                List<Object> list = new ArrayList<Object>();
-                
-                Iterator<String> mapKeys = getKeysInOrder(config.getKeys());
-                
-                while (mapKeys.hasNext()) {
-                    String mapKey = mapKeys.next();
-                    
-                    String listValue = config.getString(mapKey, null);
-
-                    list.add(createObject(null, config.subset(mapKey), listValue));
-                }
-                
-                value = list;
-            } else if(clazz.isArray()) {
-                List<Object> list = new ArrayList<Object>();
-                
-                Iterator<String> mapKeys = getKeysInOrder(config.getKeys());
-                
-                while (mapKeys.hasNext()) {
-                    String mapKey = mapKeys.next();
-                    
-                    String listValue = config.getString(mapKey, null);
-
-                    list.add(createObject(clazz.getComponentType(), config.subset(mapKey), listValue));
-                }
-                
-                Object castArray = Array.newInstance(clazz.getComponentType(), list.size());
-                
-                for (int i = 0; i < list.size(); i++) {
-                    Array.set(castArray, i, list.get(i));
-                } 
-                
-                
-                value = castArray;
-            } else {
-                // create new bean
-                
-                value = createBean(config, clazz.getName());
-            }
-            
-        }
-
-        return value;
-    }
     
     public static class KeyComparator implements Comparator<String> {
         public int compare(String key1, String key2) {
@@ -232,7 +146,7 @@
         }
     }
     
-    private static Iterator<String> getKeysInOrder(Iterator<String> keys) {
+    static Iterator<String> getKeysInOrder(Iterator<String> keys) {
         List<String> keyList = new ArrayList<String>();
         
         while (keys.hasNext()) {
@@ -245,51 +159,6 @@
         return keyList.iterator();
     }
     
-    public static Map<?, ?> createMap(Configuration config) {
-        return (Map<?, ?>) createObject(Map.class, config, null);
-        
-    }
-    
-    public static Object createBean(Configuration config, String defaultClass) {
-        String className = config.getString("class", defaultClass);
-        
-        Class<?> clazz;
-        Object bean;
-        try {
-            clazz = Class.forName(className);
-            bean = clazz.newInstance();
-        } catch (Exception e) {
-            throw new RuntimeException("Failed to create instance of class " + className, e);
-        }
-        
-        
-        Iterator<String> keys = config.getKeys();
-        
-        while (keys.hasNext()) {
-            String key = keys.next();
-
-            if(key.equals("class")) {
-                continue;
-            }
-            
-            Configuration subConfig = config.subset(key);
-            
-            String propValue = config.getString(key, null);
-            
-            PropertyDescriptor descriptor = getDescriptor(clazz, key);
-            
-            if(descriptor == null) {
-                throw new FtpServerConfigurationException("Unknown property \"" + key + "\" on class " + className);
-            }
-
-            Object value = createObject(descriptor.getPropertyType(), subConfig, propValue);
-
-            setProperty(bean, descriptor, value);
-        }
-        
-        
-        return bean;
-    }
     
     public static void invokeMethod(Object target, String methodName) {
         try {

Modified: mina/ftpserver/trunk/distribution/pom.xml
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/distribution/pom.xml?rev=676732&r1=676731&r2=676732&view=diff
==============================================================================
--- mina/ftpserver/trunk/distribution/pom.xml (original)
+++ mina/ftpserver/trunk/distribution/pom.xml Mon Jul 14 14:03:44 2008
@@ -123,7 +123,7 @@
     </dependency>
     <dependency>
       <groupId>org.apache.ftpserver</groupId>
-      <artifactId>ftpserver-server</artifactId>
+      <artifactId>ftpserver-deprecated</artifactId>
     </dependency>
     <dependency>
         <groupId>org.slf4j</groupId>
@@ -181,17 +181,17 @@
                 </configuration>
               </execution>
               <execution>
-                <id>unpack-server-javadoc</id>
+                <id>unpack-deprecated-javadoc</id>
                 <phase>package</phase>
                 <goals>
                   <goal>unpack</goal>
                 </goals>
                 <configuration>
-                  <outputDirectory>${project.build.directory}/api/ftpserver-server</outputDirectory>
+                  <outputDirectory>${project.build.directory}/api/ftpserver-deprecated</outputDirectory>
                   <artifactItems>
                     <artifactItem>
                       <groupId>${pom.groupId}</groupId>
-                      <artifactId>ftpserver-server</artifactId>
+                      <artifactId>ftpserver-deprecated</artifactId>
                       <classifier>javadoc</classifier>
                       <version>${pom.version}</version>
                     </artifactItem>

Modified: mina/ftpserver/trunk/pom.xml
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/pom.xml?rev=676732&r1=676731&r2=676732&view=diff
==============================================================================
--- mina/ftpserver/trunk/pom.xml (original)
+++ mina/ftpserver/trunk/pom.xml Mon Jul 14 14:03:44 2008
@@ -145,7 +145,7 @@
 
       <dependency>
         <groupId>${groupId}</groupId>
-        <artifactId>ftpserver-server</artifactId>
+        <artifactId>ftpserver-deprecated</artifactId>
         <version>${pom.version}</version>
       </dependency>
 
@@ -393,7 +393,7 @@
       <modules>
         <module>ftplet-api</module>
         <module>core</module>
-        <module>server</module>
+        <module>deprecated</module>
       </modules>
       <distributionManagement>
         <site>

Modified: mina/ftpserver/trunk/server/pom.xml
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/server/pom.xml?rev=676732&r1=676731&r2=676732&view=diff
==============================================================================
--- mina/ftpserver/trunk/server/pom.xml (original)
+++ mina/ftpserver/trunk/server/pom.xml Mon Jul 14 14:03:44 2008
@@ -25,20 +25,20 @@
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.ftpserver</groupId>
-  <artifactId>ftpserver-server</artifactId>
-  <name>Apache FtpServer Server</name>
+  <artifactId>ftpserver-deprecated</artifactId>
+  <name>Apache FtpServer Deprecated classes</name>
   <version>1.0.0-SNAPSHOT</version>
   <packaging>jar</packaging>
 
   <scm>
     <connection>
-      scm:svn:http://svn.apache.org/repos/asf/mina/ftpserver/trunk/server
+      scm:svn:http://svn.apache.org/repos/asf/mina/ftpserver/trunk/deprecated
     </connection>
     <developerConnection>
-      scm:svn:https://svn.apache.org/repos/asf/mina/ftpserver/trunk/server
+      scm:svn:https://svn.apache.org/repos/asf/mina/ftpserver/trunk/deprecated
     </developerConnection>
     <url>
-      http://svn.apache.org/viewvc/mina/ftpserver/trunk/server
+      http://svn.apache.org/viewvc/mina/ftpserver/trunk/deprecated
     </url>
   </scm>
 

Copied: mina/ftpserver/trunk/server/src/main/java/org/apache/ftpserver/ftplet/Component.java (from r676151, mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/Component.java)
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/server/src/main/java/org/apache/ftpserver/ftplet/Component.java?p2=mina/ftpserver/trunk/server/src/main/java/org/apache/ftpserver/ftplet/Component.java&p1=mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/Component.java&r1=676151&r2=676732&rev=676732&view=diff
==============================================================================
--- mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/Component.java (original)
+++ mina/ftpserver/trunk/server/src/main/java/org/apache/ftpserver/ftplet/Component.java Mon Jul 14 14:03:44 2008
@@ -19,6 +19,9 @@
 
 package org.apache.ftpserver.ftplet;
 
+import org.apache.ftpserver.ftplet.Configuration;
+import org.apache.ftpserver.ftplet.FtpException;
+
 
 /**
  * This interface abstracts the basic lifecycle method. 

Propchange: mina/ftpserver/trunk/server/src/main/java/org/apache/ftpserver/ftplet/Component.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: mina/ftpserver/trunk/server/src/main/java/org/apache/ftpserver/ftplet/Component.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: mina/ftpserver/trunk/server/src/main/java/org/apache/ftpserver/ftplet/Configuration.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: mina/ftpserver/trunk/server/src/main/java/org/apache/ftpserver/ftplet/Configuration.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: mina/ftpserver/trunk/server/src/test/java/org/apache/ftpserver/util/ConfigurationClassUtilsTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/server/src/test/java/org/apache/ftpserver/util/ConfigurationClassUtilsTest.java?rev=676732&r1=676731&r2=676732&view=diff
==============================================================================
--- mina/ftpserver/trunk/server/src/test/java/org/apache/ftpserver/util/ConfigurationClassUtilsTest.java (original)
+++ mina/ftpserver/trunk/server/src/test/java/org/apache/ftpserver/util/ConfigurationClassUtilsTest.java Mon Jul 14 14:03:44 2008
@@ -40,7 +40,7 @@
         
         Configuration config = new PropertiesConfiguration(props);
         
-        MyBean bean = (MyBean) ClassUtils.createBean(config, null);
+        MyBean bean = (MyBean) ConfigurationClassUtils.createBean(config, null);
         assertEquals("flopp", bean.getFoo());
         assertEquals(123, bean.getBar());
     }
@@ -55,7 +55,7 @@
         
         Configuration config = new PropertiesConfiguration(props);
         
-        MyOtherBean otherBean = (MyOtherBean) ClassUtils.createBean(config, null);
+        MyOtherBean otherBean = (MyOtherBean) ConfigurationClassUtils.createBean(config, null);
         assertEquals(InetAddress.getByName("1.2.3.4"), otherBean.getBaz());
         
         MyBean bean = otherBean.getMyBean();
@@ -73,7 +73,7 @@
         
         Configuration config = new PropertiesConfiguration(props);
         
-        MyOtherBean otherBean = (MyOtherBean) ClassUtils.createBean(config, null);
+        MyOtherBean otherBean = (MyOtherBean) ConfigurationClassUtils.createBean(config, null);
         assertEquals(InetAddress.getByName("1.2.3.4"), otherBean.getBaz());
         
         MyBean bean = otherBean.getMyBean();
@@ -89,7 +89,7 @@
         
         Configuration config = new PropertiesConfiguration(props);
         
-        MyCollectionBean bean = (MyCollectionBean) ClassUtils.createBean(config, null);
+        MyCollectionBean bean = (MyCollectionBean) ConfigurationClassUtils.createBean(config, null);
         
         Iterator<?> iter = bean.getList().iterator();
         
@@ -112,7 +112,7 @@
         
         Configuration config = new PropertiesConfiguration(props);
         
-        MyCollectionBean bean = (MyCollectionBean) ClassUtils.createBean(config, null);
+        MyCollectionBean bean = (MyCollectionBean) ConfigurationClassUtils.createBean(config, null);
         
         Iterator<?> iter = bean.getList().iterator();
         
@@ -135,7 +135,7 @@
         
         Configuration config = new PropertiesConfiguration(props);
         
-        MyCollectionBean bean = (MyCollectionBean) ClassUtils.createBean(config, null);
+        MyCollectionBean bean = (MyCollectionBean) ConfigurationClassUtils.createBean(config, null);
         
         int[] array = bean.getArray();
         
@@ -155,7 +155,7 @@
         
         Configuration config = new PropertiesConfiguration(props);
         
-        MyCollectionBean bean = (MyCollectionBean) ClassUtils.createBean(config, null);
+        MyCollectionBean bean = (MyCollectionBean) ConfigurationClassUtils.createBean(config, null);
         
         MyBean[] array = bean.getMyBeans();
         
@@ -173,7 +173,7 @@
         
         Configuration config = new PropertiesConfiguration(props);
         
-        MyCollectionBean bean = (MyCollectionBean) ClassUtils.createBean(config, null);
+        MyCollectionBean bean = (MyCollectionBean) ConfigurationClassUtils.createBean(config, null);
         
         MyBean[] array = bean.getMyBeans();
         
@@ -192,7 +192,7 @@
         
         Configuration config = new PropertiesConfiguration(props);
         
-        MyCollectionBean bean = (MyCollectionBean) ClassUtils.createBean(config, null);
+        MyCollectionBean bean = (MyCollectionBean) ConfigurationClassUtils.createBean(config, null);
         
         int[] array = bean.getArray();
         
@@ -212,7 +212,7 @@
         
         Configuration config = new PropertiesConfiguration(props);
         
-        MyMapBean bean = (MyMapBean) ClassUtils.createBean(config, null);
+        MyMapBean bean = (MyMapBean) ConfigurationClassUtils.createBean(config, null);
         
         Map<?, ?> map = bean.getMap();
         
@@ -236,7 +236,7 @@
         
         Configuration config = new PropertiesConfiguration(props);
         
-        Map<?, ?> map = ClassUtils.createMap(config);
+        Map<?, ?> map = ConfigurationClassUtils.createMap(config);
         
         for(int i = 1; i<5; i++) {
             MyBean bean = (MyBean) map.get("foo" + i);