Author: ngn
Date: Sun Oct 12 14:06:24 2008
New Revision: 703875

URL: http://svn.apache.org/viewvc?rev=703875&view=rev
Log:
User.getAuthorities() to return a List (FTPSERVER-193)
File.listFiles() to return a List (FTPSERVER-192)

Added:
    
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/filesystem/nativefs/impl/FtpFileTestTemplate.java
   (contents, props changed)
      - copied, changed from r703244, 
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/filesystem/nativefs/impl/FileObjectTestTemplate.java
Removed:
    
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/filesystem/nativefs/impl/FileObjectTestTemplate.java
Modified:
    
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/DefaultFtpServerContext.java
    
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/listing/DirectoryLister.java
    
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/filesystem/nativefs/impl/NativeFtpFile.java
    
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/usermanager/impl/BaseUser.java
    
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/usermanager/impl/DbUserManager.java
    
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/usermanager/impl/PropertiesUserManager.java
    
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/commands/impl/listing/LISTFileFormaterTest.java
    
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/commands/impl/listing/MLSTFileFormaterTest.java
    
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/commands/impl/listing/NLSTFileFormaterTest.java
    
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/filesystem/nativefs/impl/NativeFileObjectTest.java
    
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/usermanager/BaseUserTest.java
    
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/usermanager/UserManagerTestTemplate.java
    
mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpFile.java
    
mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/User.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=703875&r1=703874&r2=703875&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
 Sun Oct 12 14:06:24 2008
@@ -19,8 +19,10 @@
 
 package org.apache.ftpserver;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
 
 import org.apache.ftpserver.command.CommandFactory;
@@ -73,11 +75,15 @@
 
     private Map<String, Listener> listeners = new HashMap<String, Listener>();
 
-    private static final Authority[] ADMIN_AUTHORITIES = new Authority[] { new 
WritePermission() };
-
-    private static final Authority[] ANON_AUTHORITIES = new Authority[] {
-            new ConcurrentLoginPermission(20, 2),
-            new TransferRatePermission(4800, 4800) };
+    private static final List<Authority> ADMIN_AUTHORITIES = new 
ArrayList<Authority>();
+    private static final List<Authority> ANON_AUTHORITIES = new 
ArrayList<Authority>();
+    static {
+        ADMIN_AUTHORITIES.add(new WritePermission());
+        
+        ANON_AUTHORITIES.add(new ConcurrentLoginPermission(20, 2));
+        ANON_AUTHORITIES.add(new TransferRatePermission(4800, 4800));
+    }
+    
 
     public DefaultFtpServerContext() throws Exception {
         // create the default listener

Modified: 
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/listing/DirectoryLister.java
URL: 
http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/listing/DirectoryLister.java?rev=703875&r1=703874&r2=703875&view=diff
==============================================================================
--- 
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/listing/DirectoryLister.java
 (original)
+++ 
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/command/impl/listing/DirectoryLister.java
 Sun Oct 12 14:06:24 2008
@@ -20,6 +20,8 @@
 package org.apache.ftpserver.command.impl.listing;
 
 import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
 
 import org.apache.ftpserver.ftplet.FileSystemView;
 import org.apache.ftpserver.ftplet.FtpException;
@@ -33,7 +35,7 @@
  */
 public class DirectoryLister {
 
-    private String traverseFiles(final FtpFile[] files,
+    private String traverseFiles(final List<FtpFile> files,
             final FileFilter filter, final FileFormater formater) {
         StringBuffer sb = new StringBuffer();
 
@@ -43,18 +45,18 @@
         return sb.toString();
     }
 
-    private String traverseFiles(final FtpFile[] files,
+    private String traverseFiles(final List<FtpFile> files,
             final FileFilter filter, final FileFormater formater,
             boolean matchDirs) {
         StringBuffer sb = new StringBuffer();
-        for (int i = 0; i < files.length; i++) {
-            if (files[i] == null) {
+        for (FtpFile file : files) {
+            if (file == null) {
                 continue;
             }
 
-            if (filter == null || filter.accept(files[i])) {
-                if (files[i].isDirectory() == matchDirs) {
-                    sb.append(formater.format(files[i]));
+            if (filter == null || filter.accept(file)) {
+                if (file.isDirectory() == matchDirs) {
+                    sb.append(formater.format(file));
                 }
             }
         }
@@ -69,7 +71,7 @@
         StringBuffer sb = new StringBuffer();
 
         // get all the file objects
-        FtpFile[] files = listFiles(fileSystemView, argument.getFile());
+        List<FtpFile> files = listFiles(fileSystemView, argument.getFile());
         if (files != null) {
             FileFilter filter = null;
             if ((argument.hasOption('a'))) {
@@ -88,12 +90,13 @@
     /**
      * Get the file list. Files will be listed in alphabetlical order.
      */
-    private FtpFile[] listFiles(FileSystemView fileSystemView, String file) {
-        FtpFile[] files = null;
+    private List<FtpFile> listFiles(FileSystemView fileSystemView, String 
file) {
+        List<FtpFile> files = null;
         try {
             FtpFile virtualFile = fileSystemView.getFileObject(file);
             if (virtualFile.isFile()) {
-                files = new FtpFile[] { virtualFile };
+                files = new ArrayList<FtpFile>();
+                files.add(virtualFile);
             } else {
                 files = virtualFile.listFiles();
             }

Modified: 
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/filesystem/nativefs/impl/NativeFtpFile.java
URL: 
http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/filesystem/nativefs/impl/NativeFtpFile.java?rev=703875&r1=703874&r2=703875&view=diff
==============================================================================
--- 
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/filesystem/nativefs/impl/NativeFtpFile.java
 (original)
+++ 
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/filesystem/nativefs/impl/NativeFtpFile.java
 Sun Oct 12 14:06:24 2008
@@ -27,7 +27,9 @@
 import java.io.OutputStream;
 import java.io.RandomAccessFile;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.Comparator;
+import java.util.List;
 import java.util.StringTokenizer;
 
 import org.apache.ftpserver.ftplet.FtpFile;
@@ -297,7 +299,7 @@
     /**
      * List files. If not a directory or does not exist, null will be returned.
      */
-    public FtpFile[] listFiles() {
+    public List<FtpFile> listFiles() {
 
         // is a directory
         if (!file.isDirectory()) {
@@ -331,7 +333,7 @@
             virtualFiles[i] = new NativeFtpFile(fileName, fileObj, user);
         }
 
-        return virtualFiles;
+        return Collections.unmodifiableList(Arrays.asList(virtualFiles));
     }
 
     /**

Modified: 
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/usermanager/impl/BaseUser.java
URL: 
http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/usermanager/impl/BaseUser.java?rev=703875&r1=703874&r2=703875&view=diff
==============================================================================
--- 
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/usermanager/impl/BaseUser.java
 (original)
+++ 
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/usermanager/impl/BaseUser.java
 Sun Oct 12 14:06:24 2008
@@ -20,6 +20,7 @@
 package org.apache.ftpserver.usermanager.impl;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 
 import org.apache.ftpserver.ftplet.Authority;
@@ -55,7 +56,7 @@
 
     private boolean isEnabled = true;
 
-    private Authority[] authorities = new Authority[0];
+    private List<Authority> authorities = new ArrayList<Authority>();
 
     /**
      * Default constructor.
@@ -103,17 +104,17 @@
         password = pass;
     }
 
-    public Authority[] getAuthorities() {
+    public List<Authority> getAuthorities() {
         if (authorities != null) {
-            return authorities.clone();
+            return Collections.unmodifiableList(authorities);
         } else {
             return null;
         }
     }
 
-    public void setAuthorities(Authority[] authorities) {
+    public void setAuthorities(List<Authority> authorities) {
         if (authorities != null) {
-            this.authorities = authorities.clone();
+            this.authorities = Collections.unmodifiableList(authorities);
         } else {
             this.authorities = null;
         }
@@ -175,17 +176,13 @@
      * [EMAIL PROTECTED]
      */
     public AuthorizationRequest authorize(AuthorizationRequest request) {
-        Authority[] authorities = getAuthorities();
-
         // check for no authorities at all
         if(authorities == null) {
             return null;
         }
         
         boolean someoneCouldAuthorize = false;
-        for (int i = 0; i < authorities.length; i++) {
-            Authority authority = authorities[i];
-
+        for (Authority authority : authorities) {
             if (authority.canAuthorize(request)) {
                 someoneCouldAuthorize = true;
 
@@ -209,15 +206,15 @@
     /**
      * [EMAIL PROTECTED]
      */
-    public Authority[] getAuthorities(Class<? extends Authority> clazz) {
+    public List<Authority> getAuthorities(Class<? extends Authority> clazz) {
         List<Authority> selected = new ArrayList<Authority>();
 
-        for (int i = 0; i < authorities.length; i++) {
-            if (authorities[i].getClass().equals(clazz)) {
-                selected.add(authorities[i]);
+        for (Authority authority : authorities) {
+            if (authority.getClass().equals(clazz)) {
+                selected.add(authority);
             }
         }
 
-        return selected.toArray(new Authority[0]);
+        return selected;
     }
 }

Modified: 
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/usermanager/impl/DbUserManager.java
URL: 
http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/usermanager/impl/DbUserManager.java?rev=703875&r1=703874&r2=703875&view=diff
==============================================================================
--- 
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/usermanager/impl/DbUserManager.java
 (original)
+++ 
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/usermanager/impl/DbUserManager.java
 Sun Oct 12 14:06:24 2008
@@ -471,7 +471,7 @@
                         .getInt(ATTR_MAX_DOWNLOAD_RATE), rs
                         .getInt(ATTR_MAX_UPLOAD_RATE)));
 
-                thisUser.setAuthorities(authorities.toArray(new Authority[0]));
+                thisUser.setAuthorities(authorities);
             }
             return thisUser;
         } catch (SQLException ex) {

Modified: 
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/usermanager/impl/PropertiesUserManager.java
URL: 
http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/usermanager/impl/PropertiesUserManager.java?rev=703875&r1=703874&r2=703875&view=diff
==============================================================================
--- 
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/usermanager/impl/PropertiesUserManager.java
 (original)
+++ 
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/usermanager/impl/PropertiesUserManager.java
 Sun Oct 12 14:06:24 2008
@@ -295,7 +295,7 @@
 
         authorities.add(new TransferRatePermission(downloadRate, uploadRate));
 
-        user.setAuthorities(authorities.toArray(new Authority[0]));
+        user.setAuthorities(authorities);
 
         user.setMaxIdleTime(userDataProp.getInteger(baseKey
                 + ATTR_MAX_IDLE_TIME, 0));

Modified: 
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/commands/impl/listing/LISTFileFormaterTest.java
URL: 
http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/commands/impl/listing/LISTFileFormaterTest.java?rev=703875&r1=703874&r2=703875&view=diff
==============================================================================
--- 
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/commands/impl/listing/LISTFileFormaterTest.java
 (original)
+++ 
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/commands/impl/listing/LISTFileFormaterTest.java
 Sun Oct 12 14:06:24 2008
@@ -23,6 +23,7 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.util.Date;
+import java.util.List;
 
 import junit.framework.TestCase;
 
@@ -117,7 +118,7 @@
             return false;
         }
 
-        public FtpFile[] listFiles() {
+        public List<FtpFile> listFiles() {
             return null;
         }
 

Modified: 
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/commands/impl/listing/MLSTFileFormaterTest.java
URL: 
http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/commands/impl/listing/MLSTFileFormaterTest.java?rev=703875&r1=703874&r2=703875&view=diff
==============================================================================
--- 
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/commands/impl/listing/MLSTFileFormaterTest.java
 (original)
+++ 
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/commands/impl/listing/MLSTFileFormaterTest.java
 Sun Oct 12 14:06:24 2008
@@ -23,6 +23,7 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.util.Date;
+import java.util.List;
 
 import junit.framework.TestCase;
 
@@ -113,7 +114,7 @@
             return false;
         }
 
-        public FtpFile[] listFiles() {
+        public List<FtpFile> listFiles() {
             return null;
         }
 

Modified: 
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/commands/impl/listing/NLSTFileFormaterTest.java
URL: 
http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/commands/impl/listing/NLSTFileFormaterTest.java?rev=703875&r1=703874&r2=703875&view=diff
==============================================================================
--- 
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/commands/impl/listing/NLSTFileFormaterTest.java
 (original)
+++ 
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/commands/impl/listing/NLSTFileFormaterTest.java
 Sun Oct 12 14:06:24 2008
@@ -22,6 +22,7 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.util.List;
 
 import junit.framework.TestCase;
 
@@ -109,7 +110,7 @@
             return false;
         }
 
-        public FtpFile[] listFiles() {
+        public List<FtpFile> listFiles() {
             return null;
         }
 

Copied: 
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/filesystem/nativefs/impl/FtpFileTestTemplate.java
 (from r703244, 
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/filesystem/nativefs/impl/FileObjectTestTemplate.java)
URL: 
http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/filesystem/nativefs/impl/FtpFileTestTemplate.java?p2=mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/filesystem/nativefs/impl/FtpFileTestTemplate.java&p1=mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/filesystem/nativefs/impl/FileObjectTestTemplate.java&r1=703244&r2=703875&rev=703875&view=diff
==============================================================================
--- 
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/filesystem/nativefs/impl/FileObjectTestTemplate.java
 (original)
+++ 
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/filesystem/nativefs/impl/FtpFileTestTemplate.java
 Sun Oct 12 14:06:24 2008
@@ -19,6 +19,8 @@
 
 package org.apache.ftpserver.filesystem.nativefs.impl;
 
+import java.util.List;
+
 import junit.framework.TestCase;
 
 import org.apache.ftpserver.ftplet.AuthorizationRequest;
@@ -32,7 +34,7 @@
 * @version $Rev$, $Date$
 *
 */
-public abstract class FileObjectTestTemplate extends TestCase {
+public abstract class FtpFileTestTemplate extends TestCase {
 
     protected static final String FILE2_PATH = "/dir1/file2";
 
@@ -115,11 +117,11 @@
     public void testListFilesInOrder() {
         FtpFile root = createFileObject("/", USER);
 
-        FtpFile[] files = root.listFiles();
-        assertEquals(3, files.length);
-        assertEquals("dir1", files[0].getShortName());
-        assertEquals("file1", files[1].getShortName());
-        assertEquals("file3", files[2].getShortName());
+        List<FtpFile> files = root.listFiles();
+        assertEquals(3, files.size());
+        assertEquals("dir1", files.get(0).getShortName());
+        assertEquals("file1", files.get(1).getShortName());
+        assertEquals("file3", files.get(2).getShortName());
     }
 
 }
\ No newline at end of file

Propchange: 
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/filesystem/nativefs/impl/FtpFileTestTemplate.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/filesystem/nativefs/impl/NativeFileObjectTest.java
URL: 
http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/filesystem/nativefs/impl/NativeFileObjectTest.java?rev=703875&r1=703874&r2=703875&view=diff
==============================================================================
--- 
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/filesystem/nativefs/impl/NativeFileObjectTest.java
 (original)
+++ 
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/filesystem/nativefs/impl/NativeFileObjectTest.java
 Sun Oct 12 14:06:24 2008
@@ -34,7 +34,7 @@
 * @version $Rev$, $Date$
 *
 */
-public class NativeFileObjectTest extends FileObjectTestTemplate {
+public class NativeFileObjectTest extends FtpFileTestTemplate {
 
     private static final File TEST_TMP_DIR = new File("test-tmp");
 

Modified: 
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/usermanager/BaseUserTest.java
URL: 
http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/usermanager/BaseUserTest.java?rev=703875&r1=703874&r2=703875&view=diff
==============================================================================
--- 
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/usermanager/BaseUserTest.java
 (original)
+++ 
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/usermanager/BaseUserTest.java
 Sun Oct 12 14:06:24 2008
@@ -19,6 +19,9 @@
 
 package org.apache.ftpserver.usermanager;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import junit.framework.TestCase;
 
 import org.apache.ftpserver.ftplet.Authority;
@@ -69,7 +72,8 @@
     private BaseUser user = new BaseUser();
 
     public void testAllow() {
-        Authority[] authorities = new Authority[] { ALWAYS_ALLOW_AUTHORITY };
+        List<Authority> authorities = new ArrayList<Authority>();
+        authorities.add(ALWAYS_ALLOW_AUTHORITY);
 
         user.setAuthorities(authorities);
 
@@ -77,7 +81,8 @@
     }
 
     public void testDisallow() {
-        Authority[] authorities = new Authority[] { NEVER_ALLOW_AUTHORITY };
+        List<Authority> authorities = new ArrayList<Authority>();
+        authorities.add(NEVER_ALLOW_AUTHORITY);
 
         user.setAuthorities(authorities);
 
@@ -85,17 +90,19 @@
     }
 
     public void testMultipleDisallowLast() {
-        Authority[] authorities = new Authority[] { ALWAYS_ALLOW_AUTHORITY,
-                NEVER_ALLOW_AUTHORITY };
-
+        List<Authority> authorities = new ArrayList<Authority>();
+        authorities.add(ALWAYS_ALLOW_AUTHORITY);
+        authorities.add(NEVER_ALLOW_AUTHORITY);
+        
         user.setAuthorities(authorities);
 
         assertNull(user.authorize(REQUEST));
     }
 
     public void testMultipleAllowLast() {
-        Authority[] authorities = new Authority[] { NEVER_ALLOW_AUTHORITY,
-                ALWAYS_ALLOW_AUTHORITY };
+        List<Authority> authorities = new ArrayList<Authority>();
+        authorities.add(NEVER_ALLOW_AUTHORITY);
+        authorities.add(ALWAYS_ALLOW_AUTHORITY);
 
         user.setAuthorities(authorities);
 
@@ -103,7 +110,8 @@
     }
 
     public void testNonCanAuthorize() {
-        Authority[] authorities = new Authority[] { CANT_AUTHORITY };
+        List<Authority> authorities = new ArrayList<Authority>();
+        authorities.add(CANT_AUTHORITY);
 
         user.setAuthorities(authorities);
 

Modified: 
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/usermanager/UserManagerTestTemplate.java
URL: 
http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/usermanager/UserManagerTestTemplate.java?rev=703875&r1=703874&r2=703875&view=diff
==============================================================================
--- 
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/usermanager/UserManagerTestTemplate.java
 (original)
+++ 
mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/usermanager/UserManagerTestTemplate.java
 Sun Oct 12 14:06:24 2008
@@ -244,7 +244,7 @@
         authorities.add(new WritePermission());
         authorities.add(new ConcurrentLoginPermission(3, 4));
         authorities.add(new TransferRatePermission(1, 5));
-        user.setAuthorities(authorities.toArray(new Authority[0]));
+        user.setAuthorities(authorities);
 
         userManager.save(user);
 

Modified: 
mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpFile.java
URL: 
http://svn.apache.org/viewvc/mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpFile.java?rev=703875&r1=703874&r2=703875&view=diff
==============================================================================
--- 
mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpFile.java
 (original)
+++ 
mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/FtpFile.java
 Sun Oct 12 14:06:24 2008
@@ -22,6 +22,7 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.util.List;
 
 /**
  * This is the file abstraction used by the server.
@@ -119,8 +120,9 @@
     /**
      * List file objects. If not a directory or does not exist, null will be
      * returned. Files must be returned in alphabetical order.
+     * List must be immutable.
      */
-    FtpFile[] listFiles();
+    List<FtpFile> listFiles();
 
     /**
      * Create output stream for writing. If the file is not random accessible,

Modified: 
mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/User.java
URL: 
http://svn.apache.org/viewvc/mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/User.java?rev=703875&r1=703874&r2=703875&view=diff
==============================================================================
--- 
mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/User.java
 (original)
+++ 
mina/ftpserver/trunk/ftplet-api/src/main/java/org/apache/ftpserver/ftplet/User.java
 Sun Oct 12 14:06:24 2008
@@ -19,6 +19,8 @@
 
 package org.apache.ftpserver.ftplet;
 
+import java.util.List;
+
 /**
  * Basic user interface.
  *
@@ -42,9 +44,14 @@
      * 
      * @return All authorities
      */
-    Authority[] getAuthorities();
+    List<Authority> getAuthorities();
 
-    Authority[] getAuthorities(Class<? extends Authority> clazz);
+    /**
+     * Get authorities of the specified type granted to this user
+     * @param clazz The type of [EMAIL PROTECTED] Authority}
+     * @return Authorities of the specified class
+     */
+    List<Authority> getAuthorities(Class<? extends Authority> clazz);
 
     /**
      * Authorize a [EMAIL PROTECTED] AuthorizationRequest} for this user


Reply via email to