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/08/17 21:52:49 UTC
svn commit: r686637 [11/16] - in /mina/ftpserver/trunk:
core/src/main/java/org/apache/ftpserver/
core/src/main/java/org/apache/ftpserver/command/
core/src/main/java/org/apache/ftpserver/config/spring/
core/src/main/java/org/apache/ftpserver/filesystem/...
Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/IoUtils.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/IoUtils.java?rev=686637&r1=686636&r2=686637&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/IoUtils.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/IoUtils.java Sun Aug 17 12:52:42 2008
@@ -36,243 +36,247 @@
/**
* IO utility methods.
+ *
+ * @author The Apache MINA Project (dev@mina.apache.org)
+ * @version $Rev$, $Date$
*/
public class IoUtils {
- /**
- * Random number generator to make unique file name
- */
- private final static Random RANDOM_GEN = new Random(System
- .currentTimeMillis());
-
- /**
- * Get a <code>BufferedInputStream</code>.
- */
- public final static BufferedInputStream getBufferedInputStream(
- InputStream in) {
- BufferedInputStream bin = null;
- if (in instanceof java.io.BufferedInputStream) {
- bin = (BufferedInputStream) in;
- } else {
- bin = new BufferedInputStream(in);
- }
- return bin;
- }
-
- /**
- * Get a <code>BufferedOutputStream</code>.
- */
- public final static BufferedOutputStream getBufferedOutputStream(
- OutputStream out) {
- BufferedOutputStream bout = null;
- if (out instanceof java.io.BufferedOutputStream) {
- bout = (BufferedOutputStream) out;
- } else {
- bout = new BufferedOutputStream(out);
- }
- return bout;
- }
-
- /**
- * Get <code>BufferedReader</code>.
- */
- public final static BufferedReader getBufferedReader(Reader reader) {
- BufferedReader buffered = null;
- if (reader instanceof java.io.BufferedReader) {
- buffered = (BufferedReader) reader;
- } else {
- buffered = new BufferedReader(reader);
- }
- return buffered;
- }
-
- /**
- * Get <code>BufferedWriter</code>.
- */
- public final static BufferedWriter getBufferedWriter(Writer wr) {
- BufferedWriter bw = null;
- if (wr instanceof java.io.BufferedWriter) {
- bw = (BufferedWriter) wr;
- } else {
- bw = new BufferedWriter(wr);
- }
- return bw;
- }
-
- /**
- * Get unique file object.
- */
- public final static File getUniqueFile(File oldFile) {
- File newFile = oldFile;
- while (true) {
- if (!newFile.exists()) {
- break;
- }
- newFile = new File(oldFile.getAbsolutePath() + '.'
- + Math.abs(RANDOM_GEN.nextLong()));
- }
- return newFile;
- }
-
- /**
- * No exception <code>InputStream</code> close method.
- */
- public final static void close(InputStream is) {
- if (is != null) {
- try {
- is.close();
- } catch (Exception ex) {
- }
- }
- }
-
- /**
- * No exception <code>OutputStream</code> close method.
- */
- public final static void close(OutputStream os) {
- if (os != null) {
- try {
- os.close();
- } catch (Exception ex) {
- }
- }
- }
-
- /**
- * No exception <code>java.io.Reader</code> close method.
- */
- public final static void close(Reader rd) {
- if (rd != null) {
- try {
- rd.close();
- } catch (Exception ex) {
- }
- }
- }
-
- /**
- * No exception <code>java.io.Writer</code> close method.
- */
- public final static void close(Writer wr) {
- if (wr != null) {
- try {
- wr.close();
- } catch (Exception ex) {
- }
- }
- }
-
- /**
- * Get exception stack trace.
- */
- public final static String getStackTrace(Throwable ex) {
- String result = "";
- if (ex != null) {
- try {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
- ex.printStackTrace(pw);
- pw.close();
- sw.close();
- result = sw.toString();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- return result;
- }
-
- /**
- * Copy chars from a <code>Reader</code> to a <code>Writer</code>.
- *
- * @param bufferSize
- * Size of internal buffer to use.
- */
- public final static void copy(Reader input, Writer output, int bufferSize)
- throws IOException {
- char buffer[] = new char[bufferSize];
- int n = 0;
- while ((n = input.read(buffer)) != -1) {
- output.write(buffer, 0, n);
- }
- }
-
- /**
- * Copy chars from a <code>InputStream</code> to a
- * <code>OutputStream</code>.
- *
- * @param bufferSize
- * Size of internal buffer to use.
- */
- public final static void copy(InputStream input, OutputStream output,
- int bufferSize) throws IOException {
- byte buffer[] = new byte[bufferSize];
- int n = 0;
- while ((n = input.read(buffer)) != -1) {
- output.write(buffer, 0, n);
- }
- }
-
- /**
- * Read fully from reader
- */
- public final static String readFully(Reader reader) throws IOException {
- StringWriter writer = new StringWriter();
- copy(reader, writer, 1024);
- return writer.toString();
- }
-
- /**
- * Read fully from stream
- */
- public final static String readFully(InputStream input) throws IOException {
- StringWriter writer = new StringWriter();
- InputStreamReader reader = new InputStreamReader(input);
- copy(reader, writer, 1024);
- return writer.toString();
- }
-
- public final static void delete(File file) throws IOException {
- if (!file.exists()) {
- return;
- } else if (file.isDirectory()) {
- deleteDir(file);
- } else {
- deleteFile(file);
- }
- }
-
- private final static void deleteDir(File dir) throws IOException {
- File[] children = dir.listFiles();
-
- if(children == null) {
- return;
- }
-
- for (int i = 0; i < children.length; i++) {
- File file = children[i];
- delete(file);
- }
-
- if (!dir.delete()) {
- throw new IOException("Failed to delete directory: " + dir);
- }
-
- }
-
- private final static void deleteFile(File file) throws IOException {
- if (!file.delete()) {
- // hack around bug where files will sometimes not be deleted on Windows
- if (OS.isFamilyWindows()) {
- System.gc();
- }
- try {
- Thread.sleep(10);
- } catch (InterruptedException e) {
- }
- if (!file.delete()) {
- throw new IOException("Failed to delete file: " + file);
- }
- }
- }
+ /**
+ * Random number generator to make unique file name
+ */
+ private final static Random RANDOM_GEN = new Random(System
+ .currentTimeMillis());
+
+ /**
+ * Get a <code>BufferedInputStream</code>.
+ */
+ public final static BufferedInputStream getBufferedInputStream(
+ InputStream in) {
+ BufferedInputStream bin = null;
+ if (in instanceof java.io.BufferedInputStream) {
+ bin = (BufferedInputStream) in;
+ } else {
+ bin = new BufferedInputStream(in);
+ }
+ return bin;
+ }
+
+ /**
+ * Get a <code>BufferedOutputStream</code>.
+ */
+ public final static BufferedOutputStream getBufferedOutputStream(
+ OutputStream out) {
+ BufferedOutputStream bout = null;
+ if (out instanceof java.io.BufferedOutputStream) {
+ bout = (BufferedOutputStream) out;
+ } else {
+ bout = new BufferedOutputStream(out);
+ }
+ return bout;
+ }
+
+ /**
+ * Get <code>BufferedReader</code>.
+ */
+ public final static BufferedReader getBufferedReader(Reader reader) {
+ BufferedReader buffered = null;
+ if (reader instanceof java.io.BufferedReader) {
+ buffered = (BufferedReader) reader;
+ } else {
+ buffered = new BufferedReader(reader);
+ }
+ return buffered;
+ }
+
+ /**
+ * Get <code>BufferedWriter</code>.
+ */
+ public final static BufferedWriter getBufferedWriter(Writer wr) {
+ BufferedWriter bw = null;
+ if (wr instanceof java.io.BufferedWriter) {
+ bw = (BufferedWriter) wr;
+ } else {
+ bw = new BufferedWriter(wr);
+ }
+ return bw;
+ }
+
+ /**
+ * Get unique file object.
+ */
+ public final static File getUniqueFile(File oldFile) {
+ File newFile = oldFile;
+ while (true) {
+ if (!newFile.exists()) {
+ break;
+ }
+ newFile = new File(oldFile.getAbsolutePath() + '.'
+ + Math.abs(RANDOM_GEN.nextLong()));
+ }
+ return newFile;
+ }
+
+ /**
+ * No exception <code>InputStream</code> close method.
+ */
+ public final static void close(InputStream is) {
+ if (is != null) {
+ try {
+ is.close();
+ } catch (Exception ex) {
+ }
+ }
+ }
+
+ /**
+ * No exception <code>OutputStream</code> close method.
+ */
+ public final static void close(OutputStream os) {
+ if (os != null) {
+ try {
+ os.close();
+ } catch (Exception ex) {
+ }
+ }
+ }
+
+ /**
+ * No exception <code>java.io.Reader</code> close method.
+ */
+ public final static void close(Reader rd) {
+ if (rd != null) {
+ try {
+ rd.close();
+ } catch (Exception ex) {
+ }
+ }
+ }
+
+ /**
+ * No exception <code>java.io.Writer</code> close method.
+ */
+ public final static void close(Writer wr) {
+ if (wr != null) {
+ try {
+ wr.close();
+ } catch (Exception ex) {
+ }
+ }
+ }
+
+ /**
+ * Get exception stack trace.
+ */
+ public final static String getStackTrace(Throwable ex) {
+ String result = "";
+ if (ex != null) {
+ try {
+ StringWriter sw = new StringWriter();
+ PrintWriter pw = new PrintWriter(sw);
+ ex.printStackTrace(pw);
+ pw.close();
+ sw.close();
+ result = sw.toString();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Copy chars from a <code>Reader</code> to a <code>Writer</code>.
+ *
+ * @param bufferSize
+ * Size of internal buffer to use.
+ */
+ public final static void copy(Reader input, Writer output, int bufferSize)
+ throws IOException {
+ char buffer[] = new char[bufferSize];
+ int n = 0;
+ while ((n = input.read(buffer)) != -1) {
+ output.write(buffer, 0, n);
+ }
+ }
+
+ /**
+ * Copy chars from a <code>InputStream</code> to a <code>OutputStream</code>
+ * .
+ *
+ * @param bufferSize
+ * Size of internal buffer to use.
+ */
+ public final static void copy(InputStream input, OutputStream output,
+ int bufferSize) throws IOException {
+ byte buffer[] = new byte[bufferSize];
+ int n = 0;
+ while ((n = input.read(buffer)) != -1) {
+ output.write(buffer, 0, n);
+ }
+ }
+
+ /**
+ * Read fully from reader
+ */
+ public final static String readFully(Reader reader) throws IOException {
+ StringWriter writer = new StringWriter();
+ copy(reader, writer, 1024);
+ return writer.toString();
+ }
+
+ /**
+ * Read fully from stream
+ */
+ public final static String readFully(InputStream input) throws IOException {
+ StringWriter writer = new StringWriter();
+ InputStreamReader reader = new InputStreamReader(input);
+ copy(reader, writer, 1024);
+ return writer.toString();
+ }
+
+ public final static void delete(File file) throws IOException {
+ if (!file.exists()) {
+ return;
+ } else if (file.isDirectory()) {
+ deleteDir(file);
+ } else {
+ deleteFile(file);
+ }
+ }
+
+ private final static void deleteDir(File dir) throws IOException {
+ File[] children = dir.listFiles();
+
+ if (children == null) {
+ return;
+ }
+
+ for (int i = 0; i < children.length; i++) {
+ File file = children[i];
+ delete(file);
+ }
+
+ if (!dir.delete()) {
+ throw new IOException("Failed to delete directory: " + dir);
+ }
+
+ }
+
+ private final static void deleteFile(File file) throws IOException {
+ if (!file.delete()) {
+ // hack around bug where files will sometimes not be deleted on
+ // Windows
+ if (OS.isFamilyWindows()) {
+ System.gc();
+ }
+ try {
+ Thread.sleep(10);
+ } catch (InterruptedException e) {
+ }
+ if (!file.delete()) {
+ throw new IOException("Failed to delete file: " + file);
+ }
+ }
+ }
}
Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/OS.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/OS.java?rev=686637&r1=686636&r2=686637&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/OS.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/OS.java Sun Aug 17 12:52:42 2008
@@ -21,6 +21,9 @@
/**
* Condition that tests the OS type.
+ *
+ * @author The Apache MINA Project (dev@mina.apache.org)
+ * @version $Rev$, $Date$
*/
public final class OS {
private static final String FAMILY_OS_400 = "os/400";
Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/RegularExpr.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/RegularExpr.java?rev=686637&r1=686636&r2=686637&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/RegularExpr.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/RegularExpr.java Sun Aug 17 12:52:42 2008
@@ -15,191 +15,188 @@
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- */
+ */
package org.apache.ftpserver.util;
-
/**
- * This is a simplified regular character mattching class.
- * Supports *?^[]- pattern characters.
+ * This is a simplified regular character mattching class. Supports *?^[]-
+ * pattern characters.
+ *
+ * @author The Apache MINA Project (dev@mina.apache.org)
+ * @version $Rev$, $Date$
*/
-public
-class RegularExpr {
-
+public class RegularExpr {
+
private char[] pattern;
-
+
/**
* Constructor.
- * @param pattern regular expression
+ *
+ * @param pattern
+ * regular expression
*/
public RegularExpr(String pattern) {
this.pattern = pattern.toCharArray();
}
-
+
/**
* Compare string with a regular expression.
*/
public boolean isMatch(String name) {
-
+
// common pattern - *
- if( (pattern.length == 1) && (pattern[0] == '*') ) {
+ if ((pattern.length == 1) && (pattern[0] == '*')) {
return true;
}
-
+
return isMatch(name.toCharArray(), 0, 0);
}
-
-
+
/**
* Is a match?
*/
private boolean isMatch(char[] strName, int strIndex, int patternIndex) {
-
- while(true) {
-
+
+ while (true) {
+
// no more pattern characters
// if no more strName characters - return true
- if(patternIndex >= pattern.length) {
- return strIndex == strName.length;
+ if (patternIndex >= pattern.length) {
+ return strIndex == strName.length;
}
-
+
char pc = pattern[patternIndex++];
- switch(pc) {
-
- // Match a single character in the range
- // If no more strName character - return false
- case '[' :
-
- // no more string character - returns false
- // example : pattern = ab[^c] and string = ab
- if(strIndex >= strName.length) {
+ switch (pc) {
+
+ // Match a single character in the range
+ // If no more strName character - return false
+ case '[':
+
+ // no more string character - returns false
+ // example : pattern = ab[^c] and string = ab
+ if (strIndex >= strName.length) {
+ return false;
+ }
+
+ char fc = strName[strIndex++];
+ char lastc = 0;
+ boolean bMatch = false;
+ boolean bNegete = false;
+ boolean bFirst = true;
+
+ while (true) {
+
+ // single character match
+ // no more pattern character - error condition.
+ if (patternIndex >= pattern.length) {
return false;
}
-
- char fc = strName[strIndex++];
- char lastc = 0;
- boolean bMatch = false;
- boolean bNegete = false;
- boolean bFirst = true;
-
- while(true) {
-
- // single character match
- // no more pattern character - error condition.
- if(patternIndex>=pattern.length) {
- return false;
- }
- pc = pattern[patternIndex++];
-
- // end character - break out the loop
- // if end bracket is the first character - always a match.
- // example pattern - [], [^]
- if(pc == ']') {
- if (bFirst) {
- bMatch = true;
- }
- break;
- }
-
- // if already matched - just read the rest till we get ']'.
- if(bMatch) {
- continue;
- }
-
- // if the first character is the negete
- // character - inverse the matching condition
- if((pc == '^') && bFirst) {
- bNegete = true;
- continue;
- }
- bFirst = false;
-
- // '-' range check
- if(pc == '-') {
-
- // pattern string is [a- error condition.
- if(patternIndex>=pattern.length) {
- return false;
- }
-
- // read the high range character and compare.
- pc = pattern[patternIndex++];
- bMatch = (fc>=lastc) && (fc<=pc);
- lastc = pc;
- }
-
- // Single character match check. It might also be the
- // low range character.
- else {
- lastc = pc;
- bMatch = (pc == fc);
+ pc = pattern[patternIndex++];
+
+ // end character - break out the loop
+ // if end bracket is the first character - always a match.
+ // example pattern - [], [^]
+ if (pc == ']') {
+ if (bFirst) {
+ bMatch = true;
}
+ break;
}
-
- // no match - return false.
- if(bNegete) {
- if(bMatch) {
- return false;
- }
+
+ // if already matched - just read the rest till we get ']'.
+ if (bMatch) {
+ continue;
}
- else {
- if(!bMatch) {
+
+ // if the first character is the negete
+ // character - inverse the matching condition
+ if ((pc == '^') && bFirst) {
+ bNegete = true;
+ continue;
+ }
+ bFirst = false;
+
+ // '-' range check
+ if (pc == '-') {
+
+ // pattern string is [a- error condition.
+ if (patternIndex >= pattern.length) {
return false;
}
+
+ // read the high range character and compare.
+ pc = pattern[patternIndex++];
+ bMatch = (fc >= lastc) && (fc <= pc);
+ lastc = pc;
}
- break;
-
-
- // * - skip zero or more characters
- // No more pattern character - return true
- // Increment strIndex till the rest of the pattern matches.
- case '*' :
-
- // no more string character remaining - returns true
- if(patternIndex >= pattern.length) {
- return true;
+
+ // Single character match check. It might also be the
+ // low range character.
+ else {
+ lastc = pc;
+ bMatch = (pc == fc);
}
-
- // compare rest of the string
- do {
- if(isMatch(strName, strIndex++, patternIndex)) {
- return true;
- }
- }
- while(strIndex < strName.length);
-
- // Example pattern is (a*b) and the string is (adfdc).
- return false;
-
-
- // ? - skip one character - increment strIndex.
- // If no more strName character - return false.
- case '?' :
-
- // already at the end - no more character - returns false
- if(strIndex >= strName.length) {
+ }
+
+ // no match - return false.
+ if (bNegete) {
+ if (bMatch) {
return false;
}
- strIndex++;
- break;
-
-
- // match character.
- default:
-
- // already at the end - no match
- if (strIndex >= strName.length) {
+ } else {
+ if (!bMatch) {
return false;
}
-
- // the characters are not equal - no match
- if(strName[strIndex++] != pc) {
- return false;
- }
- break;
+ }
+ break;
+
+ // * - skip zero or more characters
+ // No more pattern character - return true
+ // Increment strIndex till the rest of the pattern matches.
+ case '*':
+
+ // no more string character remaining - returns true
+ if (patternIndex >= pattern.length) {
+ return true;
+ }
+
+ // compare rest of the string
+ do {
+ if (isMatch(strName, strIndex++, patternIndex)) {
+ return true;
+ }
+ } while (strIndex < strName.length);
+
+ // Example pattern is (a*b) and the string is (adfdc).
+ return false;
+
+ // ? - skip one character - increment strIndex.
+ // If no more strName character - return false.
+ case '?':
+
+ // already at the end - no more character - returns false
+ if (strIndex >= strName.length) {
+ return false;
+ }
+ strIndex++;
+ break;
+
+ // match character.
+ default:
+
+ // already at the end - no match
+ if (strIndex >= strName.length) {
+ return false;
+ }
+
+ // the characters are not equal - no match
+ if (strName[strIndex++] != pc) {
+ return false;
+ }
+ break;
}
}
}
-
-}
+
+}
Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/SocketAddressEncoder.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/SocketAddressEncoder.java?rev=686637&r1=686636&r2=686637&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/SocketAddressEncoder.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/SocketAddressEncoder.java Sun Aug 17 12:52:42 2008
@@ -27,50 +27,53 @@
/**
* Encodes and decodes socket addresses (IP and port) from and to the format
* used with for example the PORT and PASV command
+ *
+ * @author The Apache MINA Project (dev@mina.apache.org)
+ * @version $Rev$, $Date$
*/
public class SocketAddressEncoder {
private static int convertAndValidateNumber(String s) {
int i = Integer.parseInt(s);
- if(i < 0) {
+ if (i < 0) {
throw new IllegalArgumentException("Token can not be less than 0");
- } else if(i > 255) {
- throw new IllegalArgumentException("Token can not be larger than 255");
+ } else if (i > 255) {
+ throw new IllegalArgumentException(
+ "Token can not be larger than 255");
}
-
+
return i;
}
-
- public static InetSocketAddress decode(String str) throws UnknownHostException {
+
+ public static InetSocketAddress decode(String str)
+ throws UnknownHostException {
StringTokenizer st = new StringTokenizer(str, ",");
- if(st.countTokens() != 6) {
+ if (st.countTokens() != 6) {
throw new IllegalInetAddressException("Illegal amount of tokens");
}
-
+
StringBuffer sb = new StringBuffer();
try {
- sb.append(convertAndValidateNumber(st.nextToken()));
- sb.append('.');
- sb.append(convertAndValidateNumber(st.nextToken()));
- sb.append('.');
- sb.append(convertAndValidateNumber(st.nextToken()));
- sb.append('.');
- sb.append(convertAndValidateNumber(st.nextToken()));
- } catch(IllegalArgumentException e) {
+ sb.append(convertAndValidateNumber(st.nextToken()));
+ sb.append('.');
+ sb.append(convertAndValidateNumber(st.nextToken()));
+ sb.append('.');
+ sb.append(convertAndValidateNumber(st.nextToken()));
+ sb.append('.');
+ sb.append(convertAndValidateNumber(st.nextToken()));
+ } catch (IllegalArgumentException e) {
throw new IllegalInetAddressException(e.getMessage());
}
-
+
InetAddress dataAddr = InetAddress.getByName(sb.toString());
-
// get data server port
int dataPort = 0;
try {
int hi = convertAndValidateNumber(st.nextToken());
int lo = convertAndValidateNumber(st.nextToken());
- dataPort = (hi << 8) | lo;
- }
- catch(IllegalArgumentException ex) {
+ dataPort = (hi << 8) | lo;
+ } catch (IllegalArgumentException ex) {
throw new IllegalPortException("Invalid data port: " + str);
}
@@ -80,7 +83,8 @@
public static String encode(InetSocketAddress address) {
InetAddress servAddr = address.getAddress();
int servPort = address.getPort();
- return servAddr.getHostAddress().replace( '.', ',' ) + ',' + (servPort>>8) + ',' + (servPort&0xFF);
+ return servAddr.getHostAddress().replace('.', ',') + ','
+ + (servPort >> 8) + ',' + (servPort & 0xFF);
}
}
Modified: mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/StringUtils.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/StringUtils.java?rev=686637&r1=686636&r2=686637&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/StringUtils.java (original)
+++ mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/StringUtils.java Sun Aug 17 12:52:42 2008
@@ -15,28 +15,29 @@
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- */
+ */
package org.apache.ftpserver.util;
import java.util.Map;
-
/**
* String utility methods.
+ *
+ * @author The Apache MINA Project (dev@mina.apache.org)
+ * @version $Rev$, $Date$
*/
-
-public
-class StringUtils {
+public class StringUtils {
/**
* This is a string replacement method.
*/
- public final static String replaceString(String source, String oldStr, String newStr) {
+ public final static String replaceString(String source, String oldStr,
+ String newStr) {
StringBuffer sb = new StringBuffer(source.length());
int sind = 0;
int cind = 0;
- while ((cind=source.indexOf(oldStr, sind)) != -1) {
+ while ((cind = source.indexOf(oldStr, sind)) != -1) {
sb.append(source.substring(sind, cind));
sb.append(newStr);
sind = cind + oldStr.length();
@@ -45,82 +46,81 @@
return sb.toString();
}
-
/**
* Replace string
- */
+ */
public final static String replaceString(String source, Object[] args) {
int startIndex = 0;
int openIndex = source.indexOf('{', startIndex);
if (openIndex == -1) {
return source;
}
-
+
int closeIndex = source.indexOf('}', startIndex);
- if( (closeIndex == -1) || (openIndex > closeIndex) ) {
+ if ((closeIndex == -1) || (openIndex > closeIndex)) {
return source;
}
-
+
StringBuffer sb = new StringBuffer();
sb.append(source.substring(startIndex, openIndex));
- while(true) {
- String intStr = source.substring(openIndex+1, closeIndex);
+ while (true) {
+ String intStr = source.substring(openIndex + 1, closeIndex);
int index = Integer.parseInt(intStr);
sb.append(args[index]);
-
+
startIndex = closeIndex + 1;
openIndex = source.indexOf('{', startIndex);
if (openIndex == -1) {
sb.append(source.substring(startIndex));
break;
}
-
+
closeIndex = source.indexOf('}', startIndex);
- if( (closeIndex == -1) || (openIndex > closeIndex) ) {
- sb.append(source.substring(startIndex));
- break;
+ if ((closeIndex == -1) || (openIndex > closeIndex)) {
+ sb.append(source.substring(startIndex));
+ break;
}
sb.append(source.substring(startIndex, openIndex));
}
return sb.toString();
}
-
/**
* Replace string.
- */
- public final static String replaceString(String source, Map<String, Object> args) {
+ */
+ public final static String replaceString(String source,
+ Map<String, Object> args) {
int startIndex = 0;
int openIndex = source.indexOf('{', startIndex);
if (openIndex == -1) {
return source;
}
-
+
int closeIndex = source.indexOf('}', startIndex);
- if( (closeIndex == -1) || (openIndex > closeIndex) ) {
+ if ((closeIndex == -1) || (openIndex > closeIndex)) {
return source;
}
-
+
StringBuffer sb = new StringBuffer();
sb.append(source.substring(startIndex, openIndex));
- while(true) {
- String key = source.substring(openIndex+1, closeIndex);
+ while (true) {
+ String key = source.substring(openIndex + 1, closeIndex);
Object val = args.get(key);
- if(val != null) {
+ if (val != null) {
sb.append(val);
}
-
+
startIndex = closeIndex + 1;
openIndex = source.indexOf('{', startIndex);
if (openIndex == -1) {
sb.append(source.substring(startIndex));
break;
}
-
+
closeIndex = source.indexOf('}', startIndex);
- if( (closeIndex == -1) || (openIndex > closeIndex) ) {
- sb.append(source.substring(startIndex));
- break;
+ if ((closeIndex == -1) || (openIndex > closeIndex)) {
+ sb.append(source.substring(startIndex));
+ break;
}
sb.append(source.substring(startIndex, openIndex));
}
@@ -128,45 +128,51 @@
}
/**
- * This method is used to insert HTML block dynamically
- *
- * @param source the HTML code to be processes
- * @param bReplaceNl if true '\n' will be replaced by <br>
- * @param bReplaceTag if true '<' will be replaced by < and
- * '>' will be replaced by >
- * @param bReplaceQuote if true '\"' will be replaced by "
- */
- public final static String formatHtml(String source,
- boolean bReplaceNl,
- boolean bReplaceTag,
- boolean bReplaceQuote) {
+ * This method is used to insert HTML block dynamically
+ *
+ * @param source the HTML code to be processes
+ * @param bReplaceNl if true '\n' will be replaced by <br>
+ * @param bReplaceTag if true '<' will be replaced by < and
+ * '>' will be replaced by >
+ * @param bReplaceQuote if true '\"' will be replaced by "
+ */
+ public final static String formatHtml(String source, boolean bReplaceNl,
+ boolean bReplaceTag, boolean bReplaceQuote) {
StringBuffer sb = new StringBuffer();
int len = source.length();
- for (int i=0; i<len; i++) {
+ for (int i = 0; i < len; i++) {
char c = source.charAt(i);
switch (c) {
case '\"':
- if (bReplaceQuote)sb.append(""");
- else sb.append(c);
+ if (bReplaceQuote)
+ sb.append(""");
+ else
+ sb.append(c);
break;
case '<':
- if (bReplaceTag) sb.append("<");
- else sb.append(c);
+ if (bReplaceTag)
+ sb.append("<");
+ else
+ sb.append(c);
break;
case '>':
- if (bReplaceTag) sb.append(">");
- else sb.append(c);
+ if (bReplaceTag)
+ sb.append(">");
+ else
+ sb.append(c);
break;
case '\n':
if (bReplaceNl) {
- if (bReplaceTag) sb.append("<br>");
- else sb.append("<br>");
+ if (bReplaceTag)
+ sb.append("<br>");
+ else
+ sb.append("<br>");
} else {
- sb.append(c);
+ sb.append(c);
}
break;
@@ -183,41 +189,38 @@
}
}
return sb.toString();
- }
-
+ }
+
/**
* Pad string object
*/
- public final static String pad(String src,
- char padChar,
- boolean rightPad,
- int totalLength) {
-
+ public final static String pad(String src, char padChar, boolean rightPad,
+ int totalLength) {
+
int srcLength = src.length();
if (srcLength >= totalLength) {
return src;
}
-
+
int padLength = totalLength - srcLength;
StringBuffer sb = new StringBuffer(padLength);
- for(int i=0; i<padLength; ++i) {
+ for (int i = 0; i < padLength; ++i) {
sb.append(padChar);
}
-
+
if (rightPad) {
return src + sb.toString();
- }
- else {
+ } else {
return sb.toString() + src;
}
- }
-
+ }
+
/**
* Get hex string from byte array
*/
public final static String toHexString(byte[] res) {
StringBuffer sb = new StringBuffer(res.length << 1);
- for(int i=0; i<res.length; i++) {
+ for (int i = 0; i < res.length; i++) {
String digit = Integer.toHexString(0xFF & res[i]);
if (digit.length() == 1) {
digit = '0' + digit;
@@ -225,20 +228,20 @@
sb.append(digit);
}
return sb.toString().toUpperCase();
- }
-
+ }
+
/**
* Get byte array from hex string
*/
public final static byte[] toByteArray(String hexString) {
int arrLength = hexString.length() >> 1;
byte buff[] = new byte[arrLength];
- for(int i=0; i<arrLength; i++) {
+ for (int i = 0; i < arrLength; i++) {
int index = i << 1;
- String digit = hexString.substring(index, index+2);
- buff[i] = (byte)Integer.parseInt(digit, 16);
+ String digit = hexString.substring(index, index + 2);
+ buff[i] = (byte) Integer.parseInt(digit, 16);
}
return buff;
}
-
-}
+
+}
Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/DefaultCommandFactoryTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/DefaultCommandFactoryTest.java?rev=686637&r1=686636&r2=686637&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/DefaultCommandFactoryTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/DefaultCommandFactoryTest.java Sun Aug 17 12:52:42 2008
@@ -15,7 +15,7 @@
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- */
+ */
package org.apache.ftpserver;
@@ -28,61 +28,67 @@
import org.apache.ftpserver.command.STOR;
import org.apache.ftpserver.interfaces.Command;
-
+/**
+ *
+ *
+ * @author The Apache MINA Project (dev@mina.apache.org)
+ * @version $Rev$, $Date$
+ *
+ */
public class DefaultCommandFactoryTest extends TestCase {
- public void testReturnFromDefaultUpper() {
- DefaultCommandFactory factory = new DefaultCommandFactory();
- Command command = factory.getCommand("STOR");
-
- assertNotNull(command);
- assertTrue(command instanceof STOR);
- }
-
- public void testReturnFromDefaultLower() {
- DefaultCommandFactory factory = new DefaultCommandFactory();
- Command command = factory.getCommand("stor");
-
- assertNotNull(command);
- assertTrue(command instanceof STOR);
- }
-
- public void testReturnFromDefaultUnknown() {
- DefaultCommandFactory factory = new DefaultCommandFactory();
- Command command = factory.getCommand("dummy");
-
- assertNull(command);
- }
-
- public void testOverride() {
- DefaultCommandFactory factory = new DefaultCommandFactory();
- Map<String, Command> commands = new HashMap<String, Command>();
- commands.put("stor", new NOOP());
- factory.setCommandMap(commands);
-
- Command command = factory.getCommand("Stor");
-
- assertTrue(command instanceof NOOP);
- }
-
- public void testAppend() {
- DefaultCommandFactory factory = new DefaultCommandFactory();
- Map<String, Command> commands = new HashMap<String, Command>();
- commands.put("foo", new NOOP());
- factory.setCommandMap(commands);
-
- assertTrue(factory.getCommand("FOO") instanceof NOOP);
- assertTrue(factory.getCommand("stor") instanceof STOR);
- }
-
- public void testAppendWithoutDefault() {
- DefaultCommandFactory factory = new DefaultCommandFactory();
- factory.setUseDefaultCommands(false);
- Map<String, Command> commands = new HashMap<String, Command>();
- commands.put("foo", new NOOP());
- factory.setCommandMap(commands);
-
- assertTrue(factory.getCommand("FOO") instanceof NOOP);
- assertNull(factory.getCommand("stor"));
- }
+ public void testReturnFromDefaultUpper() {
+ DefaultCommandFactory factory = new DefaultCommandFactory();
+ Command command = factory.getCommand("STOR");
+
+ assertNotNull(command);
+ assertTrue(command instanceof STOR);
+ }
+
+ public void testReturnFromDefaultLower() {
+ DefaultCommandFactory factory = new DefaultCommandFactory();
+ Command command = factory.getCommand("stor");
+
+ assertNotNull(command);
+ assertTrue(command instanceof STOR);
+ }
+
+ public void testReturnFromDefaultUnknown() {
+ DefaultCommandFactory factory = new DefaultCommandFactory();
+ Command command = factory.getCommand("dummy");
+
+ assertNull(command);
+ }
+
+ public void testOverride() {
+ DefaultCommandFactory factory = new DefaultCommandFactory();
+ Map<String, Command> commands = new HashMap<String, Command>();
+ commands.put("stor", new NOOP());
+ factory.setCommandMap(commands);
+
+ Command command = factory.getCommand("Stor");
+
+ assertTrue(command instanceof NOOP);
+ }
+
+ public void testAppend() {
+ DefaultCommandFactory factory = new DefaultCommandFactory();
+ Map<String, Command> commands = new HashMap<String, Command>();
+ commands.put("foo", new NOOP());
+ factory.setCommandMap(commands);
+
+ assertTrue(factory.getCommand("FOO") instanceof NOOP);
+ assertTrue(factory.getCommand("stor") instanceof STOR);
+ }
+
+ public void testAppendWithoutDefault() {
+ DefaultCommandFactory factory = new DefaultCommandFactory();
+ factory.setUseDefaultCommands(false);
+ Map<String, Command> commands = new HashMap<String, Command>();
+ commands.put("foo", new NOOP());
+ factory.setCommandMap(commands);
+
+ assertTrue(factory.getCommand("FOO") instanceof NOOP);
+ assertNull(factory.getCommand("stor"));
+ }
}
Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/DefaultFtpReplyTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/DefaultFtpReplyTest.java?rev=686637&r1=686636&r2=686637&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/DefaultFtpReplyTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/DefaultFtpReplyTest.java Sun Aug 17 12:52:42 2008
@@ -15,7 +15,7 @@
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- */
+ */
package org.apache.ftpserver;
@@ -23,48 +23,54 @@
import org.apache.ftpserver.ftplet.DefaultFtpReply;
-
+/**
+ *
+ * @author The Apache MINA Project (dev@mina.apache.org)
+ * @version $Rev$, $Date$
+ *
+ */
public class DefaultFtpReplyTest extends TestCase {
public void testSingleLineToString() {
DefaultFtpReply response = new DefaultFtpReply(123, "foo bar");
-
+
assertEquals("123 foo bar\r\n", response.toString());
}
public void testNullToString() {
- DefaultFtpReply response = new DefaultFtpReply(123, (String)null);
-
+ DefaultFtpReply response = new DefaultFtpReply(123, (String) null);
+
assertEquals("123 \r\n", response.toString());
}
public void testMultipleLinesToString() {
DefaultFtpReply response = new DefaultFtpReply(123, "foo\nbar\nbaz");
-
+
assertEquals("123-foo\r\nbar\r\n123 baz\r\n", response.toString());
}
public void testMultipleLinesEndWithNewlineToString() {
DefaultFtpReply response = new DefaultFtpReply(123, "foo\nbar\nbaz\n");
-
+
assertEquals("123-foo\r\nbar\r\n123 baz\r\n", response.toString());
}
-
+
public void testArrayLinesToString() {
- DefaultFtpReply response = new DefaultFtpReply(123, new String[]{"foo", "bar", "baz"});
-
+ DefaultFtpReply response = new DefaultFtpReply(123, new String[] {
+ "foo", "bar", "baz" });
+
assertEquals("123-foo\r\nbar\r\n123 baz\r\n", response.toString());
}
public void testMultipleLinesToString1() {
DefaultFtpReply response = new DefaultFtpReply(123, "\nfoo\nbar\nbaz");
-
+
assertEquals("123-\r\nfoo\r\nbar\r\n123 baz\r\n", response.toString());
}
-
+
public void testMultipleLinesToStringSpaceFirst() {
DefaultFtpReply response = new DefaultFtpReply(123, "foo\n bar\nbaz");
-
+
assertEquals("123-foo\r\n bar\r\n123 baz\r\n", response.toString());
}
}
Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/FtpRequestImplTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/FtpRequestImplTest.java?rev=686637&r1=686636&r2=686637&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/FtpRequestImplTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/FtpRequestImplTest.java Sun Aug 17 12:52:42 2008
@@ -15,18 +15,23 @@
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- */
+ */
package org.apache.ftpserver;
import junit.framework.TestCase;
-
+/**
+*
+* @author The Apache MINA Project (dev@mina.apache.org)
+* @version $Rev$, $Date$
+*
+*/
public class FtpRequestImplTest extends TestCase {
public void testCommandOnly() {
FtpRequestImpl request = new FtpRequestImpl("foo");
-
+
assertEquals("foo", request.getRequestLine());
assertEquals("FOO", request.getCommand());
assertFalse(request.hasArgument());
@@ -35,7 +40,7 @@
public void testCommandWithLeadingWhitespace() {
FtpRequestImpl request = new FtpRequestImpl("\rfoo");
-
+
assertEquals("foo", request.getRequestLine());
assertEquals("FOO", request.getCommand());
assertFalse(request.hasArgument());
@@ -44,7 +49,7 @@
public void testCommandWithTrailingWhitespace() {
FtpRequestImpl request = new FtpRequestImpl("foo\r");
-
+
assertEquals("foo", request.getRequestLine());
assertEquals("FOO", request.getCommand());
assertFalse(request.hasArgument());
@@ -53,7 +58,7 @@
public void testCommandAndSingleArgument() {
FtpRequestImpl request = new FtpRequestImpl("foo bar");
-
+
assertEquals("foo bar", request.getRequestLine());
assertEquals("FOO", request.getCommand());
assertTrue(request.hasArgument());
@@ -62,7 +67,7 @@
public void testCommandAndMultipleArguments() {
FtpRequestImpl request = new FtpRequestImpl("foo bar baz");
-
+
assertEquals("foo bar baz", request.getRequestLine());
assertEquals("FOO", request.getCommand());
assertTrue(request.hasArgument());
Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/FtpStatisticsImplTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/FtpStatisticsImplTest.java?rev=686637&r1=686636&r2=686637&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/FtpStatisticsImplTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/FtpStatisticsImplTest.java Sun Aug 17 12:52:42 2008
@@ -15,12 +15,18 @@
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- */
+ */
package org.apache.ftpserver;
import org.apache.ftpserver.interfaces.ServerFtpStatisticsTestTemplate;
+/**
+*
+* @author The Apache MINA Project (dev@mina.apache.org)
+* @version $Rev$, $Date$
+*
+*/
public class FtpStatisticsImplTest extends ServerFtpStatisticsTestTemplate {
protected FtpStatisticsImpl createStatistics() {
Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/PassivePortsTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/PassivePortsTest.java?rev=686637&r1=686636&r2=686637&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/PassivePortsTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/PassivePortsTest.java Sun Aug 17 12:52:42 2008
@@ -15,32 +15,37 @@
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- */
+ */
package org.apache.ftpserver;
import junit.framework.TestCase;
-
+/**
+*
+* @author The Apache MINA Project (dev@mina.apache.org)
+* @version $Rev$, $Date$
+*
+*/
public class PassivePortsTest extends TestCase {
public void testParseSingleValue() {
PassivePorts ports = new PassivePorts("123");
-
+
assertEquals(123, ports.reserveNextPort());
assertEquals(-1, ports.reserveNextPort());
}
public void testParseMaxValue() {
PassivePorts ports = new PassivePorts("65535");
-
+
assertEquals(65535, ports.reserveNextPort());
assertEquals(-1, ports.reserveNextPort());
}
public void testParseMinValue() {
PassivePorts ports = new PassivePorts("0");
-
+
assertEquals(0, ports.reserveNextPort());
assertEquals(0, ports.reserveNextPort());
assertEquals(0, ports.reserveNextPort());
@@ -52,7 +57,7 @@
try {
new PassivePorts("65536");
fail("Must fail due to too high port number");
- } catch(IllegalArgumentException e) {
+ } catch (IllegalArgumentException e) {
// ok
}
}
@@ -61,11 +66,11 @@
try {
new PassivePorts("foo");
fail("Must fail due to non numerical port number");
- } catch(IllegalArgumentException e) {
+ } catch (IllegalArgumentException e) {
// ok
}
}
-
+
public void testParseListOfValues() {
PassivePorts ports = new PassivePorts("123, 456,\t\n789");
@@ -77,25 +82,25 @@
public void testParseListOfValuesOrder() {
PassivePorts ports = new PassivePorts("123, 789, 456");
-
+
assertEquals(123, ports.reserveNextPort());
assertEquals(789, ports.reserveNextPort());
assertEquals(456, ports.reserveNextPort());
assertEquals(-1, ports.reserveNextPort());
}
-
+
public void testParseListOfValuesDuplicate() {
PassivePorts ports = new PassivePorts("123, 789, 456, 789");
-
+
assertEquals(123, ports.reserveNextPort());
assertEquals(789, ports.reserveNextPort());
assertEquals(456, ports.reserveNextPort());
assertEquals(-1, ports.reserveNextPort());
}
-
+
public void testParseSimpleRange() {
PassivePorts ports = new PassivePorts("123-125");
-
+
assertEquals(123, ports.reserveNextPort());
assertEquals(124, ports.reserveNextPort());
assertEquals(125, ports.reserveNextPort());
@@ -104,7 +109,7 @@
public void testParseMultipleRanges() {
PassivePorts ports = new PassivePorts("123-125, 127-128, 130-132");
-
+
assertEquals(123, ports.reserveNextPort());
assertEquals(124, ports.reserveNextPort());
assertEquals(125, ports.reserveNextPort());
@@ -115,10 +120,10 @@
assertEquals(132, ports.reserveNextPort());
assertEquals(-1, ports.reserveNextPort());
}
-
+
public void testParseMixedRangeAndSingle() {
PassivePorts ports = new PassivePorts("123-125, 126, 128-129");
-
+
assertEquals(123, ports.reserveNextPort());
assertEquals(124, ports.reserveNextPort());
assertEquals(125, ports.reserveNextPort());
@@ -130,7 +135,7 @@
public void testParseOverlapingRanges() {
PassivePorts ports = new PassivePorts("123-125, 124-126");
-
+
assertEquals(123, ports.reserveNextPort());
assertEquals(124, ports.reserveNextPort());
assertEquals(125, ports.reserveNextPort());
@@ -140,7 +145,7 @@
public void testParseOverlapingRangesorder() {
PassivePorts ports = new PassivePorts("124-126, 123-125");
-
+
assertEquals(124, ports.reserveNextPort());
assertEquals(125, ports.reserveNextPort());
assertEquals(126, ports.reserveNextPort());
@@ -150,7 +155,7 @@
public void testParseOpenLowerRange() {
PassivePorts ports = new PassivePorts("9, -3");
-
+
assertEquals(9, ports.reserveNextPort());
assertEquals(1, ports.reserveNextPort());
assertEquals(2, ports.reserveNextPort());
@@ -160,26 +165,26 @@
public void testParseOpenUpperRange() {
PassivePorts ports = new PassivePorts("65533-");
-
+
assertEquals(65533, ports.reserveNextPort());
assertEquals(65534, ports.reserveNextPort());
assertEquals(65535, ports.reserveNextPort());
assertEquals(-1, ports.reserveNextPort());
}
-
+
public void testParseOpenUpperRange3() {
PassivePorts ports = new PassivePorts("65533-, 65532-");
-
+
assertEquals(65533, ports.reserveNextPort());
assertEquals(65534, ports.reserveNextPort());
assertEquals(65535, ports.reserveNextPort());
assertEquals(65532, ports.reserveNextPort());
assertEquals(-1, ports.reserveNextPort());
}
-
+
public void testParseOpenUpperRange2() {
PassivePorts ports = new PassivePorts("65533-, 1");
-
+
assertEquals(65533, ports.reserveNextPort());
assertEquals(65534, ports.reserveNextPort());
assertEquals(65535, ports.reserveNextPort());
@@ -189,15 +194,14 @@
public void testParseRelease() {
PassivePorts ports = new PassivePorts("123, 456,789");
-
-
+
assertEquals(123, ports.reserveNextPort());
assertEquals(456, ports.reserveNextPort());
ports.releasePort(456);
assertEquals(456, ports.reserveNextPort());
-
+
assertEquals(789, ports.reserveNextPort());
assertEquals(-1, ports.reserveNextPort());
}
-
+
}
Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ActiveModeReplyTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ActiveModeReplyTest.java?rev=686637&r1=686636&r2=686637&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ActiveModeReplyTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ActiveModeReplyTest.java Sun Aug 17 12:52:42 2008
@@ -26,15 +26,21 @@
import org.apache.commons.net.ftp.FTPClientConfig;
import org.apache.ftpserver.test.TestUtil;
-
+/**
+*
+* @author The Apache MINA Project (dev@mina.apache.org)
+* @version $Rev$, $Date$
+*
+*/
public class ActiveModeReplyTest extends ClientTestTemplate {
private static final File TEST_TMP_DIR = new File("test-tmp");
+
private static final File TEST_FILE = new File(ROOT_DIR, "test.txt");
+
private static final File TEST_FILE1 = new File(TEST_TMP_DIR, "test1.txt");
private static byte[] testData;
-
protected void setUp() throws Exception {
super.setUp();
@@ -45,14 +51,12 @@
TestUtil.writeDataToFile(TEST_FILE, testData);
assertTrue(TEST_FILE.exists());
-
- FTPClientConfig config = new FTPClientConfig ("UNIX");
+ FTPClientConfig config = new FTPClientConfig("UNIX");
client.configure(config);
client.login(ADMIN_USERNAME, ADMIN_PASSWORD);
}
-
public void testStoreInActiveModeIfNotAllowed() throws Exception {
assertTrue(client.getDataConnectionMode() == FTPClient.ACTIVE_LOCAL_DATA_CONNECTION_MODE);
@@ -65,12 +69,11 @@
sendCommand("STOU");
}
- private void sendCommand(final String command) throws IOException
- {
+ private void sendCommand(final String command) throws IOException {
final int returnCode = client.sendCommand(command);
assertEquals(503, returnCode);
- assertEquals("503 PORT or PASV must be issued first", client.getReplyString().trim());
+ assertEquals("503 PORT or PASV must be issued first", client
+ .getReplyString().trim());
}
}
-
\ No newline at end of file
Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/CdCaseInsensitiveTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/CdCaseInsensitiveTest.java?rev=686637&r1=686636&r2=686637&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/CdCaseInsensitiveTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/CdCaseInsensitiveTest.java Sun Aug 17 12:52:42 2008
@@ -15,29 +15,37 @@
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- */
+ */
package org.apache.ftpserver.clienttests;
import org.apache.ftpserver.FtpServer;
import org.apache.ftpserver.filesystem.NativeFileSystemManager;
-
+/**
+*
+* @author The Apache MINA Project (dev@mina.apache.org)
+* @version $Rev$, $Date$
+*
+*/
public class CdCaseInsensitiveTest extends CdTest {
protected FtpServer createServer() throws Exception {
- FtpServer server = super.createServer();
-
- NativeFileSystemManager fs = (NativeFileSystemManager) server.getServerContext().getFileSystemManager();
- fs.setCaseInsensitive(true);
-
- return server;
- }
+ FtpServer server = super.createServer();
+
+ NativeFileSystemManager fs = (NativeFileSystemManager) server
+ .getServerContext().getFileSystemManager();
+ fs.setCaseInsensitive(true);
+
+ return server;
+ }
public void testCWDCaseInsensitive() throws Exception {
- assertTrue(client.changeWorkingDirectory(TEST_DIR1.getName().toUpperCase()));
+ assertTrue(client.changeWorkingDirectory(TEST_DIR1.getName()
+ .toUpperCase()));
assertEquals("/dir1", client.printWorkingDirectory());
- assertTrue(client.changeWorkingDirectory(TEST_DIR_IN_DIR1.getName().toUpperCase()));
+ assertTrue(client.changeWorkingDirectory(TEST_DIR_IN_DIR1.getName()
+ .toUpperCase()));
assertEquals("/dir1/dir3", client.printWorkingDirectory());
assertTrue(client.changeWorkingDirectory("/DiR2"));
Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/CdTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/CdTest.java?rev=686637&r1=686636&r2=686637&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/CdTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/CdTest.java Sun Aug 17 12:52:42 2008
@@ -15,20 +15,31 @@
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- */
+ */
package org.apache.ftpserver.clienttests;
import java.io.File;
-
+/**
+*
+* @author The Apache MINA Project (dev@mina.apache.org)
+* @version $Rev$, $Date$
+*
+*/
public class CdTest extends ClientTestTemplate {
protected static final File TEST_DIR1 = new File(ROOT_DIR, "dir1");
+
protected static final File TEST_DIR2 = new File(ROOT_DIR, "dir2");
- protected static final File TEST_DIR_WITH_LEADING_SPACE = new File(ROOT_DIR, " leadingspace");
+
+ protected static final File TEST_DIR_WITH_LEADING_SPACE = new File(
+ ROOT_DIR, " leadingspace");
+
protected static final File TEST_DIR_IN_DIR1 = new File(TEST_DIR1, "dir3");
- /* (non-Javadoc)
+ /*
+ * (non-Javadoc)
+ *
* @see org.apache.ftpserver.clienttests.ClientTestTemplate#setUp()
*/
protected void setUp() throws Exception {
@@ -42,12 +53,12 @@
assertTrue(TEST_DIR2.exists());
assertTrue(TEST_DIR_WITH_LEADING_SPACE.exists());
assertTrue(TEST_DIR_IN_DIR1.exists());
-
+
client.login(ADMIN_USERNAME, ADMIN_PASSWORD);
}
public void testCWD() throws Exception {
-
+
assertTrue(client.changeWorkingDirectory(TEST_DIR1.getName()));
assertEquals("/dir1", client.printWorkingDirectory());
@@ -59,7 +70,7 @@
assertTrue(client.changeWorkingDirectory("/ leadingspace"));
assertEquals("/ leadingspace", client.printWorkingDirectory());
-
+
assertTrue(client.changeWorkingDirectory("/"));
assertEquals("/", client.printWorkingDirectory());
@@ -72,15 +83,15 @@
assertTrue(client.changeWorkingDirectory(".."));
assertEquals("/", client.printWorkingDirectory());
- assertTrue(client.changeWorkingDirectory(
- TEST_DIR1.getName() + '/' + TEST_DIR_IN_DIR1.getName()));
+ assertTrue(client.changeWorkingDirectory(TEST_DIR1.getName() + '/'
+ + TEST_DIR_IN_DIR1.getName()));
assertEquals("/dir1/dir3", client.printWorkingDirectory());
}
-
+
public void testCDUP() throws Exception {
-
- assertTrue(client.changeWorkingDirectory(
- TEST_DIR1.getName() + '/' + TEST_DIR_IN_DIR1.getName()));
+
+ assertTrue(client.changeWorkingDirectory(TEST_DIR1.getName() + '/'
+ + TEST_DIR_IN_DIR1.getName()));
assertEquals("/dir1/dir3", client.printWorkingDirectory());
assertTrue(client.changeToParentDirectory());
Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ClientTestTemplate.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ClientTestTemplate.java?rev=686637&r1=686636&r2=686637&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ClientTestTemplate.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ClientTestTemplate.java Sun Aug 17 12:52:42 2008
@@ -15,7 +15,7 @@
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- */
+ */
package org.apache.ftpserver.clienttests;
@@ -37,16 +37,29 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+/**
+*
+* @author The Apache MINA Project (dev@mina.apache.org)
+* @version $Rev$, $Date$
+*
+*/
public abstract class ClientTestTemplate extends TestCase {
- private final Logger LOG = LoggerFactory.getLogger(ClientTestTemplate.class);
-
+ private final Logger LOG = LoggerFactory
+ .getLogger(ClientTestTemplate.class);
+
protected static final String ADMIN_PASSWORD = "admin";
+
protected static final String ADMIN_USERNAME = "admin";
+
protected static final String ANONYMOUS_PASSWORD = "foo@bar.com";
+
protected static final String ANONYMOUS_USERNAME = "anonymous";
+
protected static final String TESTUSER2_USERNAME = "testuser2";
+
protected static final String TESTUSER1_USERNAME = "testuser1";
+
protected static final String TESTUSER_PASSWORD = "password";
protected FtpServer server;
@@ -55,31 +68,34 @@
protected FTPClient client;
-
- private static final File USERS_FILE = new File(TestUtil.getBaseDir(), "src/test/resources/users.properties");
+ private static final File USERS_FILE = new File(TestUtil.getBaseDir(),
+ "src/test/resources/users.properties");
+
private static final File TEST_TMP_DIR = new File("test-tmp");
+
protected static final File ROOT_DIR = new File(TEST_TMP_DIR, "ftproot");
-
+
protected FtpServer createServer() throws Exception {
- assertTrue(USERS_FILE.getAbsolutePath() + " must exist", USERS_FILE.exists());
+ assertTrue(USERS_FILE.getAbsolutePath() + " must exist", USERS_FILE
+ .exists());
DefaultFtpServerContext context = new DefaultFtpServerContext();
NioListener listener = new NioListener();
listener.setPort(port);
context.setListener("default", listener);
-
+
PropertiesUserManager userManager = new PropertiesUserManager();
userManager.setAdminName("admin");
userManager.setEncryptPasswords(false);
userManager.setPropFile(USERS_FILE);
userManager.configure();
-
+
context.setUserManager(userManager);
-
- return new FtpServer(context);
+
+ return new FtpServer(context);
}
-
+
/*
* (non-Javadoc)
*
@@ -87,7 +103,7 @@
*/
protected void setUp() throws Exception {
initDirs();
-
+
initServer();
connectClient();
@@ -98,7 +114,7 @@
*/
protected void initDirs() throws IOException {
cleanTmpDirs();
-
+
TEST_TMP_DIR.mkdirs();
ROOT_DIR.mkdirs();
}
@@ -111,8 +127,8 @@
initPort();
server = createServer();
-
- if(isStartServer()) {
+
+ if (isStartServer()) {
server.start();
}
}
@@ -120,49 +136,51 @@
protected boolean isStartServer() {
return true;
}
-
+
protected FTPClient createFTPClient() throws Exception {
return new FTPClient();
}
/**
- * @throws Exception
+ * @throws Exception
*/
protected void connectClient() throws Exception {
client = createFTPClient();
- client.addProtocolCommandListener(new ProtocolCommandListener(){
+ client.addProtocolCommandListener(new ProtocolCommandListener() {
public void protocolCommandSent(ProtocolCommandEvent event) {
LOG.debug("> " + event.getMessage().trim());
-
+
}
public void protocolReplyReceived(ProtocolCommandEvent event) {
LOG.debug("< " + event.getMessage().trim());
- }});
-
- if(isConnectClient()) {
- doConnect();
+ }
+ });
+
+ if (isConnectClient()) {
+ doConnect();
}
}
protected void doConnect() throws Exception {
- try{
+ try {
client.connect("localhost", port);
- } catch(FTPConnectionClosedException e) {
+ } catch (FTPConnectionClosedException e) {
// try again
Thread.sleep(200);
client.connect("localhost", port);
}
}
-
+
protected boolean isConnectClient() {
return true;
}
-
+
/**
* Attempts to find a free port or fallback to a default
- * @throws IOException
+ *
+ * @throws IOException
*
* @throws IOException
*/
@@ -173,29 +191,29 @@
}
protected void cleanTmpDirs() throws IOException {
- if(TEST_TMP_DIR.exists()) {
+ if (TEST_TMP_DIR.exists()) {
IoUtils.delete(TEST_TMP_DIR);
}
}
-
+
/*
* (non-Javadoc)
*
* @see junit.framework.TestCase#tearDown()
*/
protected void tearDown() throws Exception {
- if(isConnectClient() ) {
- try {
- client.quit();
- } catch(Exception e) {
- // ignore
- }
- }
-
- if(server != null) {
+ if (isConnectClient()) {
+ try {
+ client.quit();
+ } catch (Exception e) {
+ // ignore
+ }
+ }
+
+ if (server != null) {
server.stop();
}
-
+
cleanTmpDirs();
}
Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ConcatedCommandsTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ConcatedCommandsTest.java?rev=686637&r1=686636&r2=686637&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ConcatedCommandsTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ConcatedCommandsTest.java Sun Aug 17 12:52:42 2008
@@ -15,7 +15,7 @@
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- */
+ */
package org.apache.ftpserver.clienttests;
@@ -23,18 +23,22 @@
/**
* Tests that commands sent simultaniously are handled correctly.
+ *
+ * @author The Apache MINA Project (dev@mina.apache.org)
+ * @version $Rev$, $Date$
+ *
*/
public class ConcatedCommandsTest extends ClientTestTemplate {
-
+
public void testLogin() throws Exception {
- // send both commands, expect a 331 response
- assertEquals(331, client.sendCommand("USER admin\r\nPASS admin"));
-
- // make sure we wait for the 230 to come back
- client.completePendingCommand();
- assertEquals(230, client.getReplyCode());
+ // send both commands, expect a 331 response
+ assertEquals(331, client.sendCommand("USER admin\r\nPASS admin"));
+
+ // make sure we wait for the 230 to come back
+ client.completePendingCommand();
+ assertEquals(230, client.getReplyCode());
assertTrue(FTPReply.isPositiveCompletion(client.noop()));
}
-
+
}
Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ConnectTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ConnectTest.java?rev=686637&r1=686636&r2=686637&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ConnectTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/ConnectTest.java Sun Aug 17 12:52:42 2008
@@ -15,13 +15,18 @@
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- */
+ */
package org.apache.ftpserver.clienttests;
import org.apache.ftpserver.listener.nio.NioListener;
-
+/**
+*
+* @author The Apache MINA Project (dev@mina.apache.org)
+* @version $Rev$, $Date$
+*
+*/
public class ConnectTest extends ClientTestTemplate {
@Override
@@ -35,19 +40,24 @@
}
public void testPortWithZeroPort() throws Exception {
- ((NioListener)server.getServerContext().getListener("default")).setPort(0);
- assertEquals(0, ((NioListener)server.getServerContext().getListener("default")).getPort());
-
+ ((NioListener) server.getServerContext().getListener("default"))
+ .setPort(0);
+ assertEquals(0, ((NioListener) server.getServerContext().getListener(
+ "default")).getPort());
+
server.start();
-
- assertTrue(((NioListener)server.getServerContext().getListener("default")).getPort() > 0);
+
+ assertTrue(((NioListener) server.getServerContext().getListener(
+ "default")).getPort() > 0);
}
-
+
public void testPort() throws Exception {
- assertEquals(port, ((NioListener)server.getServerContext().getListener("default")).getPort());
-
+ assertEquals(port, ((NioListener) server.getServerContext()
+ .getListener("default")).getPort());
+
server.start();
-
- assertEquals(port, ((NioListener)server.getServerContext().getListener("default")).getPort());
+
+ assertEquals(port, ((NioListener) server.getServerContext()
+ .getListener("default")).getPort());
}
}
Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/CustomMaxLoginTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/CustomMaxLoginTest.java?rev=686637&r1=686636&r2=686637&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/CustomMaxLoginTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/CustomMaxLoginTest.java Sun Aug 17 12:52:42 2008
@@ -15,7 +15,7 @@
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- */
+ */
package org.apache.ftpserver.clienttests;
@@ -26,38 +26,42 @@
import org.apache.ftpserver.DefaultFtpServerContext;
import org.apache.ftpserver.FtpServer;
-
+/**
+*
+* @author The Apache MINA Project (dev@mina.apache.org)
+* @version $Rev$, $Date$
+*
+*/
public class CustomMaxLoginTest extends ClientTestTemplate {
private static final String UNKNOWN_USERNAME = "foo";
+
private static final String UNKNOWN_PASSWORD = "bar";
-
-
protected FtpServer createServer() throws Exception {
- FtpServer server = super.createServer();
-
- DefaultFtpServerContext context = (DefaultFtpServerContext) server.getServerContext();
- DefaultConnectionConfig cc = (DefaultConnectionConfig) context.getConnectionConfig();
+ FtpServer server = super.createServer();
+
+ DefaultFtpServerContext context = (DefaultFtpServerContext) server
+ .getServerContext();
+ DefaultConnectionConfig cc = (DefaultConnectionConfig) context
+ .getConnectionConfig();
cc.setMaxLoginFailures(2);
return server;
}
-
-
public void testLogin() throws Exception {
assertFalse(client.login(UNKNOWN_USERNAME, UNKNOWN_PASSWORD));
assertFalse(client.login(UNKNOWN_USERNAME, UNKNOWN_PASSWORD));
-
+
try {
client.login(UNKNOWN_USERNAME, UNKNOWN_PASSWORD);
-
+
fail("Must be disconnected");
- } catch(FTPConnectionClosedException e) {
+ } catch (FTPConnectionClosedException e) {
+ // OK
+ } catch (SocketException e) {
// OK
- } catch(SocketException e) {
- // OK
}
}
}
Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/DefaultMaxLoginTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/DefaultMaxLoginTest.java?rev=686637&r1=686636&r2=686637&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/DefaultMaxLoginTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/DefaultMaxLoginTest.java Sun Aug 17 12:52:42 2008
@@ -15,7 +15,7 @@
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- */
+ */
package org.apache.ftpserver.clienttests;
@@ -23,24 +23,30 @@
import org.apache.commons.net.ftp.FTPConnectionClosedException;
-
+/**
+*
+* @author The Apache MINA Project (dev@mina.apache.org)
+* @version $Rev$, $Date$
+*
+*/
public class DefaultMaxLoginTest extends ClientTestTemplate {
private static final String UNKNOWN_USERNAME = "foo";
+
private static final String UNKNOWN_PASSWORD = "bar";
public void testLogin() throws Exception {
assertFalse(client.login(UNKNOWN_USERNAME, UNKNOWN_PASSWORD));
assertFalse(client.login(UNKNOWN_USERNAME, UNKNOWN_PASSWORD));
assertFalse(client.login(UNKNOWN_USERNAME, UNKNOWN_PASSWORD));
-
+
try {
client.login(UNKNOWN_USERNAME, UNKNOWN_PASSWORD);
-
+
fail("Must be disconnected");
- } catch(FTPConnectionClosedException e) {
+ } catch (FTPConnectionClosedException e) {
+ // OK
+ } catch (SocketException e) {
// OK
- } catch(SocketException e) {
- // OK
}
}
}
Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/DeleteTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/DeleteTest.java?rev=686637&r1=686636&r2=686637&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/DeleteTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/DeleteTest.java Sun Aug 17 12:52:42 2008
@@ -15,20 +15,32 @@
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- */
+ */
package org.apache.ftpserver.clienttests;
import java.io.File;
-
+/**
+*
+* @author The Apache MINA Project (dev@mina.apache.org)
+* @version $Rev$, $Date$
+*
+*/
public class DeleteTest extends ClientTestTemplate {
private static final File TEST_FILE1 = new File(ROOT_DIR, "test1.txt");
- private static final File TEST_FILE_WITH_SPACE = new File(ROOT_DIR, "test 2.txt");
+
+ private static final File TEST_FILE_WITH_SPACE = new File(ROOT_DIR,
+ "test 2.txt");
+
private static final File TEST_DIR1 = new File(ROOT_DIR, "dir1");
- private static final File TEST_FILE_IN_DIR1 = new File(TEST_DIR1, "test2.txt");
- /* (non-Javadoc)
+ private static final File TEST_FILE_IN_DIR1 = new File(TEST_DIR1,
+ "test2.txt");
+
+ /*
+ * (non-Javadoc)
+ *
* @see org.apache.ftpserver.clienttests.ClientTestTemplate#setUp()
*/
protected void setUp() throws Exception {
@@ -39,60 +51,60 @@
public void testDelete() throws Exception {
TEST_FILE1.createNewFile();
-
+
assertTrue(TEST_FILE1.exists());
-
+
assertTrue(client.deleteFile(TEST_FILE1.getName()));
-
+
assertFalse(TEST_FILE1.exists());
}
public void testDeleteNoFileName() throws Exception {
assertEquals(501, client.sendCommand("DELE"));
}
-
+
public void testDeleteWithSpaceInFileName() throws Exception {
TEST_FILE_WITH_SPACE.createNewFile();
-
+
assertTrue(TEST_FILE_WITH_SPACE.exists());
-
+
assertTrue(client.deleteFile(TEST_FILE_WITH_SPACE.getName()));
-
+
assertFalse(TEST_FILE_WITH_SPACE.exists());
}
public void testDeleteWithoutWriteAccess() throws Exception {
client.rein();
client.login(ANONYMOUS_USERNAME, ANONYMOUS_PASSWORD);
-
+
TEST_FILE1.createNewFile();
-
+
assertTrue(TEST_FILE1.exists());
assertFalse(client.deleteFile(TEST_FILE1.getName()));
-
+
assertTrue(TEST_FILE1.exists());
}
public void testDeleteDir() throws Exception {
TEST_DIR1.mkdirs();
-
+
assertTrue(TEST_DIR1.exists());
-
+
assertTrue(client.deleteFile(TEST_DIR1.getName()));
-
+
assertFalse(TEST_DIR1.exists());
}
public void testDeleteDirWithFile() throws Exception {
TEST_DIR1.mkdirs();
TEST_FILE_IN_DIR1.createNewFile();
-
+
assertTrue(TEST_DIR1.exists());
assertTrue(TEST_FILE_IN_DIR1.exists());
-
+
assertFalse(client.deleteFile(TEST_DIR1.getName()));
-
+
assertTrue(TEST_DIR1.exists());
assertTrue(TEST_FILE_IN_DIR1.exists());
}
@@ -100,13 +112,13 @@
public void testDeleteFileInDir() throws Exception {
TEST_DIR1.mkdirs();
TEST_FILE_IN_DIR1.createNewFile();
-
+
assertTrue(TEST_DIR1.exists());
assertTrue(TEST_FILE_IN_DIR1.exists());
-
- assertTrue(client.deleteFile(
- TEST_DIR1.getName() + '/' + TEST_FILE_IN_DIR1.getName()));
-
+
+ assertTrue(client.deleteFile(TEST_DIR1.getName() + '/'
+ + TEST_FILE_IN_DIR1.getName()));
+
assertTrue(TEST_DIR1.exists());
assertFalse(TEST_FILE_IN_DIR1.exists());
}
Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/DirectoryTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/DirectoryTest.java?rev=686637&r1=686636&r2=686637&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/DirectoryTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/DirectoryTest.java Sun Aug 17 12:52:42 2008
@@ -15,7 +15,7 @@
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- */
+ */
package org.apache.ftpserver.clienttests;
@@ -23,12 +23,20 @@
import org.apache.commons.net.ftp.FTPReply;
-
+/**
+*
+* @author The Apache MINA Project (dev@mina.apache.org)
+* @version $Rev$, $Date$
+*
+*/
public class DirectoryTest extends ClientTestTemplate {
private static final File TEST_DIR1 = new File(ROOT_DIR, "dir1");
+
private static final File TEST_DIR_IN_DIR1 = new File(TEST_DIR1, "dir3");
- /* (non-Javadoc)
+ /*
+ * (non-Javadoc)
+ *
* @see org.apache.ftpserver.clienttests.ClientTestTemplate#setUp()
*/
protected void setUp() throws Exception {
@@ -39,27 +47,28 @@
public void testMkdir() throws Exception {
assertFalse(TEST_DIR1.exists());
-
- assertTrue(FTPReply.isPositiveCompletion(client.mkd(TEST_DIR1.getName())));
-
+
+ assertTrue(FTPReply.isPositiveCompletion(client
+ .mkd(TEST_DIR1.getName())));
+
assertTrue(TEST_DIR1.exists());
}
public void testMkdirNoDirectoryName() throws Exception {
- assertEquals(501 ,client.sendCommand("MKD"));
+ assertEquals(501, client.sendCommand("MKD"));
}
public void testMkdirInValidDirectoryName() throws Exception {
- assertEquals(501 ,client.sendCommand("MKD foo:bar;foo"));
+ assertEquals(501, client.sendCommand("MKD foo:bar;foo"));
}
public void testMkdirDouble() throws Exception {
assertFalse(TEST_DIR1.exists());
assertFalse(TEST_DIR_IN_DIR1.exists());
-
- assertTrue(FTPReply.isPositiveCompletion(client.mkd(
- TEST_DIR1.getName() + '/' + TEST_DIR_IN_DIR1.getName())));
-
+
+ assertTrue(FTPReply.isPositiveCompletion(client.mkd(TEST_DIR1.getName()
+ + '/' + TEST_DIR_IN_DIR1.getName())));
+
assertTrue(TEST_DIR1.exists());
assertTrue(TEST_DIR_IN_DIR1.exists());
}
@@ -68,42 +77,45 @@
TEST_DIR1.mkdirs();
assertTrue(TEST_DIR1.exists());
assertFalse(TEST_DIR_IN_DIR1.exists());
-
- assertTrue(FTPReply.isPositiveCompletion(client.mkd(
- TEST_DIR1.getName() + '/' + TEST_DIR_IN_DIR1.getName())));
-
+
+ assertTrue(FTPReply.isPositiveCompletion(client.mkd(TEST_DIR1.getName()
+ + '/' + TEST_DIR_IN_DIR1.getName())));
+
assertTrue(TEST_DIR1.exists());
assertTrue(TEST_DIR_IN_DIR1.exists());
}
-
+
public void testMkdirExisting() throws Exception {
TEST_DIR1.mkdirs();
assertTrue(TEST_DIR1.exists());
-
- assertTrue(FTPReply.isNegativePermanent(client.mkd(TEST_DIR1.getName())));
-
+
+ assertTrue(FTPReply
+ .isNegativePermanent(client.mkd(TEST_DIR1.getName())));
+
assertTrue(TEST_DIR1.exists());
}
public void testMkdirExistingFile() throws Exception {
TEST_DIR1.createNewFile();
-
+
assertTrue(TEST_DIR1.exists());
-
- assertTrue(FTPReply.isNegativePermanent(client.mkd(TEST_DIR1.getName())));
-
+
+ assertTrue(FTPReply
+ .isNegativePermanent(client.mkd(TEST_DIR1.getName())));
+
assertTrue(TEST_DIR1.exists());
}
-
+
public void testMkdirWithoutWriteAccess() throws Exception {
client.rein();
client.login(ANONYMOUS_USERNAME, ANONYMOUS_PASSWORD);
-
+
assertFalse(TEST_DIR1.exists());
-
- assertTrue(FTPReply.isNegativePermanent(client.mkd(TEST_DIR1.getName())));
-
+
+ assertTrue(FTPReply
+ .isNegativePermanent(client.mkd(TEST_DIR1.getName())));
+
assertFalse(TEST_DIR1.exists());
}
}
Modified: mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/FeatTest.java
URL: http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/FeatTest.java?rev=686637&r1=686636&r2=686637&view=diff
==============================================================================
--- mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/FeatTest.java (original)
+++ mina/ftpserver/trunk/core/src/test/java/org/apache/ftpserver/clienttests/FeatTest.java Sun Aug 17 12:52:42 2008
@@ -15,27 +15,29 @@
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- */
+ */
package org.apache.ftpserver.clienttests;
-
-
-
+/**
+*
+* @author The Apache MINA Project (dev@mina.apache.org)
+* @version $Rev$, $Date$
+*
+*/
public class FeatTest extends ClientTestTemplate {
-
public void test() throws Exception {
client.login(ADMIN_USERNAME, ADMIN_PASSWORD);
-
+
client.sendCommand("FEAT");
String[] featReplies = client.getReplyString().split("\r\n");
-
- for(int i = 0; i<featReplies.length; i++) {
- if(i == 0) {
+
+ for (int i = 0; i < featReplies.length; i++) {
+ if (i == 0) {
// first must be 211-Extensions supported
assertEquals("211-Extensions supported", featReplies[i]);
- } else if(i +1 == featReplies.length) {
+ } else if (i + 1 == featReplies.length) {
// last must be 211 End
assertEquals("211 End", featReplies[i]);
} else {