소스 검색

HADOOP-4687. Fix libraries to be consistent with each other and fix
TestFTPFileSystem test case to use the current API.


git-svn-id: https://svn.apache.org/repos/asf/hadoop/core/branches/HADOOP-4687/hdfs@786386 13f79535-47bb-0310-9956-ffa450edef68

Owen O'Malley 16 년 전
부모
커밋
63c97f010c
3개의 변경된 파일28개의 추가작업 그리고 39개의 파일을 삭제
  1. 0 4
      ivy.xml
  2. 3 4
      ivy/libraries.properties
  3. 25 31
      src/test/hdfs/org/apache/hadoop/fs/ftp/TestFTPFileSystem.java

+ 0 - 4
ivy.xml

@@ -219,10 +219,6 @@
       name="ftpserver-core"
       rev="${ftpserver-core.version}"
       conf="test->default"/>
-    <dependency org="org.apache.ftpserver"
-      name="ftpserver-deprecated"
-      rev="${ftpserver-deprecated.version}"
-      conf="test->default"/>
 
     <dependency org="junit"
       name="junit"

+ 3 - 4
ivy/libraries.properties

@@ -33,9 +33,8 @@ commons-net.version=1.4.1
 core.version=3.1.1
 coreplugin.version=1.3.2
 
-ftplet-api.version=1.0.0-M3
-ftpserver-core.version=1.0.0-M2
-ftpserver-deprecated.version=1.0.0-M2
+ftplet-api.version=1.0.2
+ftpserver-core.version=1.0.2
 
 hsqldb.version=1.8.0.10
 
@@ -57,7 +56,7 @@ kfs.version=0.3
 log4j.version=1.2.15
 lucene-core.version=2.3.1
 
-mina-core.version=2.0.0-M4
+mina-core.version=2.0.0-M6
 
 oro.version=2.0.8
 

+ 25 - 31
src/test/hdfs/org/apache/hadoop/fs/ftp/TestFTPFileSystem.java

@@ -17,16 +17,19 @@
  */
 package org.apache.hadoop.fs.ftp;
 
+import java.io.File;
 import java.net.URI;
 import junit.framework.TestCase;
 
-import org.apache.ftpserver.DefaultFtpServerContext;
 import org.apache.ftpserver.FtpServer;
+import org.apache.ftpserver.FtpServerFactory;
+import org.apache.ftpserver.listener.Listener;
+import org.apache.ftpserver.listener.ListenerFactory;
 import org.apache.ftpserver.ftplet.Authority;
 import org.apache.ftpserver.ftplet.UserManager;
-import org.apache.ftpserver.listener.nio.NioListener;
-import org.apache.ftpserver.usermanager.BaseUser;
-import org.apache.ftpserver.usermanager.WritePermission;
+import org.apache.ftpserver.usermanager.ClearTextPasswordEncryptor;
+import org.apache.ftpserver.usermanager.PropertiesUserManagerFactory;
+import org.apache.ftpserver.usermanager.UserManagerFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hdfs.DFSTestUtil;
 import org.apache.hadoop.fs.FileSystem;
@@ -44,36 +47,30 @@ public class TestFTPFileSystem extends TestCase {
   private FtpServer server = null;
   private FileSystem localFs = null;
   private FileSystem ftpFs = null;
+  private Listener listener = null;
 
-  private Path workDir = new Path(new Path(System.getProperty(
-      "test.build.data", "."), "data"), "TestFTPFileSystem");
+  private Path workDir = new Path(System.getProperty("test.build.data", "."));
+  private File userFile = new File(System.getProperty("test.src.dir"), "ftp.user.properties");
 
-  Path ftpServerRoot = new Path(workDir, "FTPServer");
-  Path ftpServerConfig = null;
+  Path ftpServerRoot = new Path(workDir, "ftp-server");
 
   private void startServer() {
     try {
-      DefaultFtpServerContext context = new DefaultFtpServerContext(false);
-      NioListener listener = new NioListener();
-      // Set port to 0 for OS to give a free port
-      listener.setPort(0);
-      context.setListener("default", listener);
-
-      // Create a test user.
-      UserManager userManager = context.getUserManager();
-      BaseUser adminUser = new BaseUser();
-      adminUser.setName("admin");
-      adminUser.setPassword("admin");
-      adminUser.setEnabled(true);
-      adminUser.setAuthorities(new Authority[] { new WritePermission() });
-
-      Path adminUserHome = new Path(ftpServerRoot, "user/admin");
-      adminUser.setHomeDirectory(adminUserHome.toUri().getPath());
-      adminUser.setMaxIdleTime(0);
-      userManager.save(adminUser);
+      FtpServerFactory serverFactory = new FtpServerFactory();
+      ListenerFactory factory = new ListenerFactory();
+      factory.setPort(0);
+      listener = factory.createListener();
+      serverFactory.addListener("default", listener);
+      // Create a test user
+      PropertiesUserManagerFactory userFactory = new PropertiesUserManagerFactory();
+      userFactory.setFile(userFile);
+      userFactory.setPasswordEncryptor(new ClearTextPasswordEncryptor());
+      UserManager userManager = userFactory.createUserManager();
+      serverFactory.setUserManager(userManager);
 
       // Initialize the server and start.
-      server = new FtpServer(context);
+      
+      server = serverFactory.createServer();
       server.start();
 
     } catch (Exception e) {
@@ -92,9 +89,7 @@ public class TestFTPFileSystem extends TestCase {
     startServer();
     defaultConf = new Configuration();
     localFs = FileSystem.getLocal(defaultConf);
-    ftpServerConfig = new Path(localFs.getWorkingDirectory(), "res");
-    NioListener listener = (NioListener) server.getServerContext()
-        .getListener("default");
+    localFs.mkdirs(ftpServerRoot);
     int serverPort = listener.getPort();
     ftpFs = FileSystem.get(URI.create("ftp://admin:admin@localhost:"
         + serverPort), defaultConf);
@@ -103,7 +98,6 @@ public class TestFTPFileSystem extends TestCase {
   @Override
   public void tearDown() throws Exception {
     localFs.delete(ftpServerRoot, true);
-    localFs.delete(ftpServerConfig, true);
     localFs.close();
     ftpFs.close();
     stopServer();