Author: danielr Date: 2008-03-15 11:56:47 +0100 (Sat, 15 Mar 2008) New Revision: 4566
Modified: trunk/source/de/anomic/net/ftpc.java Log: ftpc: fixed date parsing, some refactoring Modified: trunk/source/de/anomic/net/ftpc.java =================================================================== --- trunk/source/de/anomic/net/ftpc.java 2008-03-15 10:46:55 UTC (rev 4565) +++ trunk/source/de/anomic/net/ftpc.java 2008-03-15 10:56:47 UTC (rev 4566) @@ -72,6 +72,7 @@ import java.util.Date; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Properties; import java.util.StringTokenizer; @@ -88,6 +89,7 @@ private final InputStream in; private final PrintStream out; private final PrintStream err; + private boolean glob = true; // glob = false -> filenames are taken // literally for mget, .. @@ -131,6 +133,11 @@ // entry info cache private final Map<String, entryInfo> infoCache = new HashMap<String, entryInfo>(); + // date-format in LIST (english month names) + private static final SimpleDateFormat lsDateFormat = new SimpleDateFormat("MMM d y H:m", new Locale("en")); + + // TODO: implement RFC 2640 Internationalization + public ftpc() { this(System.in, System.out, System.err); } @@ -197,20 +204,20 @@ } } catch (final Exception e) { - errPrintln(logPrefix + "---- Error - ftp exception: " + e); + errPrintln("Error - ftp exception: " + e); e.printStackTrace(err); } } private void errPrintln(final String msg) { if (err != null) { - err.println(msg); + err.println(logPrefix + "---- " + msg); } } private void outPrintln(final String msg) { if (out != null) { - out.println(msg); + out.println(logPrefix + msg); } } @@ -234,7 +241,7 @@ command = command.substring(pos + 1); } if (promptIt) { - outPrintln(logPrefix + prompt + com); + outPrintln(prompt + com); } cmd = line2args(com); try { @@ -245,15 +252,15 @@ } else if (ControlSocket == null) { // the error was probably caused because there is no // connection - errPrintln(logPrefix + "---- not connected. no effect."); + errPrintln("not connected. no effect."); e.printStackTrace(); return ret; } else { - errPrintln(logPrefix + "---- ftp internal exception: target exception " + e); + errPrintln("ftp internal exception: target exception " + e); return ret; } } catch (final IllegalAccessException e) { - errPrintln(logPrefix + "---- ftp internal exception: wrong access " + e); + errPrintln("ftp internal exception: wrong access " + e); return ret; } catch (final NoSuchMethodException e) { // consider first that the user attempted to execute a java @@ -264,7 +271,7 @@ try { javaexec(cmd); } catch (final Exception ee) { - errPrintln(logPrefix + "---- Command '" + cmd[0] + "' not supported. Try 'HELP'."); + errPrintln("Command '" + cmd[0] + "' not supported. Try 'HELP'."); } } else { // try a remote exec @@ -383,41 +390,41 @@ // handle result if (result != null) { - outPrintln(logPrefix + "returns " + result); + outPrintln("returns " + result); } // set the local path to the user.dir (which may have changed) currentLocalPath = new File((String) pr.get("user.dir")); } catch (final ClassNotFoundException e) { - // errPrintln(logPrefix + "---- cannot find class file " + obj + + // errPrintln("cannot find class file " + obj + // ".class"); // class file does not exist, go silently over it to not show // everybody that the // system attempted to load a class file - errPrintln(logPrefix + "---- Command '" + obj + "' not supported. Try 'HELP'."); + errPrintln("Command '" + obj + "' not supported. Try 'HELP'."); } catch (final NoSuchMethodException e) { - errPrintln(logPrefix + "---- no \"public static main(String args[])\" in " + obj); + errPrintln("no \"public static main(String args[])\" in " + obj); } catch (final InvocationTargetException e) { final Throwable orig = e.getTargetException(); if (orig.getMessage() == null) { } else { - errPrintln(logPrefix + "---- Exception from " + obj + ": " + orig.getMessage()); + errPrintln("Exception from " + obj + ": " + orig.getMessage()); orig.printStackTrace(err); } } catch (final IllegalAccessException e) { - errPrintln(logPrefix + "---- Illegal access for " + obj + ": class is probably not declared as public"); + errPrintln("Illegal access for " + obj + ": class is probably not declared as public"); e.printStackTrace(err); } catch (final NullPointerException e) { - errPrintln(logPrefix + "---- main(String args[]) is not defined as static for " + obj); + errPrintln("main(String args[]) is not defined as static for " + obj); /* * } catch (IOException e) { // class file does not exist, go * silently over it to not show everybody that the // system - * attempted to load a class file errPrintln(logPrefix + "---- - * Command '" + obj + "' not supported. Try 'HELP'."); + * attempted to load a class file errPrintln("Command '" + obj + "' + * not supported. Try 'HELP'."); */ } catch (final Exception e) { - errPrintln(logPrefix + "---- Exception caught: " + e); + errPrintln("Exception caught: " + e); e.printStackTrace(err); } @@ -430,26 +437,26 @@ public boolean ASCII() { if (cmd.length != 1) { - errPrintln(logPrefix + "---- Syntax: ASCII (no parameter)"); + errPrintln("Syntax: ASCII (no parameter)"); return true; } try { literal("TYPE A"); } catch (final IOException e) { - errPrintln(logPrefix + "---- Error: ASCII transfer type not supported by server."); + errPrintln("Error: ASCII transfer type not supported by server."); } return true; } public boolean BINARY() { if (cmd.length != 1) { - errPrintln(logPrefix + "---- Syntax: BINARY (no parameter)"); + errPrintln("Syntax: BINARY (no parameter)"); return true; } try { literal("TYPE I"); } catch (final IOException e) { - errPrintln(logPrefix + "---- Error: BINARY transfer type not supported by server."); + errPrintln("Error: BINARY transfer type not supported by server."); } return true; } @@ -460,7 +467,7 @@ public boolean CD() { if (cmd.length != 2) { - errPrintln(logPrefix + "---- Syntax: CD <path>"); + errPrintln("Syntax: CD <path>"); return true; } if (ControlSocket == null) { @@ -475,7 +482,7 @@ throw new IOException(reply); } } catch (final IOException e) { - errPrintln(logPrefix + "---- Error: change of working directory to path " + cmd[1] + " failed."); + errPrintln("Error: change of working directory to path " + cmd[1] + " failed."); } return true; } @@ -514,14 +521,14 @@ final entryInfo info = fileInfo(path); Date date = null; if (info != null) { - date = info.getDate(); + date = info.date; } return date; } public boolean DEL() { if (cmd.length != 2) { - errPrintln(logPrefix + "---- Syntax: DEL <file>"); + errPrintln("Syntax: DEL <file>"); return true; } if (ControlSocket == null) { @@ -530,7 +537,7 @@ try { rmForced(cmd[1]); } catch (final IOException e) { - errPrintln(logPrefix + "---- Error: deletion of file " + cmd[1] + " failed."); + errPrintln("Error: deletion of file " + cmd[1] + " failed."); } return true; } @@ -541,7 +548,7 @@ public boolean DIR() { if (cmd.length > 2) { - errPrintln(logPrefix + "---- Syntax: DIR [<path>|<file>]"); + errPrintln("Syntax: DIR [<path>|<file>]"); return true; } if (ControlSocket == null) { @@ -556,7 +563,7 @@ } printElements(l); } catch (final IOException e) { - errPrintln(logPrefix + "---- Error: remote list not available"); + errPrintln("Error: remote list not available"); } return true; } @@ -564,9 +571,9 @@ public boolean DISCONNECT() { try { quit(); - outPrintln(logPrefix + "---- Connection closed."); + outPrintln("---- Connection closed."); } catch (final IOException e) { - errPrintln(logPrefix + "---- Connection to server lost."); + errPrintln("Connection to server lost."); } ControlSocket = null; DataSocketActive = null; @@ -616,7 +623,7 @@ public boolean GET() { if ((cmd.length < 2) || (cmd.length > 3)) { - errPrintln(logPrefix + "---- Syntax: GET <remote-file> [<local-file>]"); + errPrintln("Syntax: GET <remote-file> [<local-file>]"); return true; } final String remote = cmd[1]; // (new File(cmd[1])).getName(); @@ -626,7 +633,7 @@ final File local = absoluteLocalFile(localFilename); if (local.exists()) { - errPrintln(logPrefix + "---- Error: local file " + local.toString() + " already exists."); + errPrintln("Error: local file " + local.toString() + " already exists."); errPrintln(logPrefix + " File " + remote + " not retrieved. Local file unchanged."); } else { if (withoutLocalFile) { @@ -635,8 +642,7 @@ try { get(local.getAbsolutePath(), remote); } catch (final IOException e) { - errPrintln(logPrefix + "---- Error: retrieving file " + remote + " failed. (" + e.getMessage() - + ")"); + errPrintln("Error: retrieving file " + remote + " failed. (" + e.getMessage() + ")"); } } } @@ -667,7 +673,7 @@ rmForced(remote); } } catch (final IOException eee) { - errPrintln(logPrefix + "---- Warning: remote file or path " + remote + " cannot be removed."); + errPrintln("Warning: remote file or path " + remote + " cannot be removed."); } } catch (final IOException e) { if (e.getMessage().startsWith("550")) { @@ -690,13 +696,13 @@ rmForced(remote); } } catch (final IOException eee) { - errPrintln(logPrefix + "---- Warning: remote file or path " + remote + " cannot be removed."); + errPrintln("Warning: remote file or path " + remote + " cannot be removed."); } } else { - errPrintln(logPrefix + "---- Error: remote file or path " + remote + " does not exist."); + errPrintln("Error: remote file or path " + remote + " does not exist."); } } else { - errPrintln(logPrefix + "---- Error: retrieving file " + remote + " failed. (" + e.getMessage() + ")"); + errPrintln("Error: retrieving file " + remote + " failed. (" + e.getMessage() + ")"); } } } @@ -740,16 +746,16 @@ public boolean GLOB() { if (cmd.length != 1) { - errPrintln(logPrefix + "---- Syntax: GLOB (no parameter)"); + errPrintln("Syntax: GLOB (no parameter)"); return true; } glob = !glob; - outPrintln(logPrefix + "---- globbing is now turned " + ((glob) ? "ON" : "OFF")); + outPrintln("---- globbing is now turned " + ((glob) ? "ON" : "OFF")); return true; } public boolean HASH() { - errPrintln(logPrefix + "---- no games implemented"); + errPrintln("no games implemented"); return true; } @@ -764,7 +770,7 @@ public boolean JJENCODE() { if (cmd.length != 2) { - errPrintln(logPrefix + "---- Syntax: JJENCODE <path>"); + errPrintln("Syntax: JJENCODE <path>"); return true; } final String path = cmd[1]; @@ -789,17 +795,17 @@ exec("cd ..;jar -cfM \"" + path + ".jj\" \"" + path + ".jar\"", true); exec("rm \"" + path + ".jar\"", true); } else { - errPrintln(logPrefix + "---- Error: local path " + newPath.toString() + " denotes not to a directory."); + errPrintln("Error: local path " + newPath.toString() + " denotes not to a directory."); } } else { - errPrintln(logPrefix + "---- Error: local path " + newPath.toString() + " does not exist."); + errPrintln("Error: local path " + newPath.toString() + " does not exist."); } return true; } public boolean JJDECODE() { if (cmd.length != 2) { - errPrintln(logPrefix + "---- Syntax: JJENCODE <path>"); + errPrintln("Syntax: JJENCODE <path>"); return true; } final String path = cmd[1]; @@ -818,13 +824,13 @@ exec("mkdir \"" + path + ".dir\"", true); } else { - errPrintln(logPrefix + "---- Error: target dir " + newFolder.toString() + " cannot be created"); + errPrintln("Error: target dir " + newFolder.toString() + " cannot be created"); } } else { - errPrintln(logPrefix + "---- Error: local path " + newPath.toString() + " must denote to jar/jar file"); + errPrintln("Error: local path " + newPath.toString() + " must denote to jar/jar file"); } } else { - errPrintln(logPrefix + "---- Error: local path " + newPath.toString() + " does not exist."); + errPrintln("Error: local path " + newPath.toString() + " does not exist."); } return true; } @@ -1002,7 +1008,7 @@ public boolean LCD() { if (cmd.length != 2) { - errPrintln(logPrefix + "---- Syntax: LCD <path>"); + errPrintln("Syntax: LCD <path>"); return true; } final String path = cmd[1]; @@ -1015,12 +1021,12 @@ if (newPath.exists()) { if (newPath.isDirectory()) { currentLocalPath = newPath; - outPrintln(logPrefix + "---- New local path: " + currentLocalPath.toString()); + outPrintln("---- New local path: " + currentLocalPath.toString()); } else { - errPrintln(logPrefix + "---- Error: local path " + newPath.toString() + " denotes not a directory."); + errPrintln("Error: local path " + newPath.toString() + " denotes not a directory."); } } else { - errPrintln(logPrefix + "---- Error: local path " + newPath.toString() + " does not exist."); + errPrintln("Error: local path " + newPath.toString() + " does not exist."); } return true; } @@ -1031,12 +1037,12 @@ public boolean LDIR() { if (cmd.length != 1) { - errPrintln(logPrefix + "---- Syntax: LDIR (no parameter)"); + errPrintln("Syntax: LDIR (no parameter)"); return true; } final String[] name = currentLocalPath.list(); for (int n = 0; n < name.length; ++n) { - outPrintln(logPrefix + ls(new File(currentLocalPath, name[n]))); + outPrintln(ls(new File(currentLocalPath, name[n]))); } return true; } @@ -1143,30 +1149,34 @@ if (tokens.matches()) { final boolean isDir = tokens.group(1).startsWith("d"); int size = -1; - int day = -1; try { size = Integer.parseInt(tokens.group(2)); - day = Integer.parseInt(tokens.group(4)); } catch (final NumberFormatException e) { - errPrintln(logPrefix + "not a number in list-entry: " + e.getMessage()); + errPrintln("Error: not a number in list-entry: " + e.getMessage()); return null; } String time; - int year; + String year; if (tokens.group(5).contains(":")) { time = tokens.group(5); - year = Calendar.getInstance().get(Calendar.YEAR); // current + year = String.valueOf(Calendar.getInstance().get(Calendar.YEAR)); // current // year } else { time = "00:00"; - try { - year = Integer.parseInt(tokens.group(5)); - } catch (final NumberFormatException e) { - errPrintln(logPrefix + "not a number in list-entry: " + e.getMessage()); - return null; - } + year = tokens.group(5); } - return new entryInfo(isDir, size, tokens.group(3), day, time, year, tokens.group(6)); + // construct date string + // this has to be done, because the list-entry may have multiple + // spaces, tabs or so + Date date; + final String dateString = tokens.group(3) + " " + tokens.group(4) + " " + year + " " + time; + try { + date = lsDateFormat.parse(dateString); + } catch (ParseException e) { + errPrintln(logPrefix + "---- Error: not ls date-format '" + dateString + "': " + e.getMessage()); + date = new Date(); + } + return new entryInfo(isDir, size, date, tokens.group(6)); } return null; } @@ -1187,66 +1197,30 @@ */ public final int size; /** - * month as string like Apr + * date of file */ - public final String month; + public final Date date; /** - * day of month - */ - public final int day; - /** - * time in [h]h:mm format - */ - public final String time; - /** - * year - */ - public final int year; - /** * name of entry */ public final String name; - final SimpleDateFormat dateFormat = new SimpleDateFormat("d MMM y H:m"); - /** * constructor * * @param isDir * @param size * bytes - * @param month - * 3 letters, ie 'Apr' or 'Dez' - * @param day - * @param time - * hh:mm - * @param year + * @param date * @param name */ - public entryInfo(final boolean isDir, final int size, final String month, final int day, final String time, - final int year, final String name) { + public entryInfo(final boolean isDir, final int size, final Date date, final String name) { this.isDir = isDir; this.size = size; - this.month = month; - this.day = day; - this.time = time; - this.year = year; + this.date = date; this.name = name; } - /** - * @return - */ - public Date getDate() { - // current date as default - Date date = new Date(); - try { - date = dateFormat.parse(day + " " + month + " " + year + " " + time); - } catch (final ParseException e) { - } - return date; - } - /* * (non-Javadoc) * @@ -1260,7 +1234,7 @@ info.append(", size="); info.append(size); info.append(", "); - info.append(getDate()); + info.append(date); info.append(")"); return info.toString(); } @@ -1309,7 +1283,7 @@ public boolean LITERAL() { if (cmd.length == 1) { - errPrintln(logPrefix + "---- Syntax: LITERAL <ftp-command> [<command-argument>] (see RFC959)"); + errPrintln("Syntax: LITERAL <ftp-command> [<command-argument>] (see RFC959)"); return true; } String s = ""; @@ -1319,7 +1293,7 @@ try { literal(s.substring(1)); } catch (final IOException e) { - errPrintln(logPrefix + "---- Error: Syntax of FTP-command wrong. See RFC959 for details."); + errPrintln("Error: Syntax of FTP-command wrong. See RFC959 for details."); } return true; } @@ -1334,15 +1308,15 @@ public boolean LMKDIR() { if (cmd.length != 2) { - errPrintln(logPrefix + "---- Syntax: LMKDIR <folder-name>"); + errPrintln("Syntax: LMKDIR <folder-name>"); return true; } final File f = new File(currentLocalPath, cmd[1]); if (f.exists()) { - errPrintln(logPrefix + "---- Error: local file/folder " + cmd[1] + " already exists"); + errPrintln("Error: local file/folder " + cmd[1] + " already exists"); } else { if (!f.mkdir()) { - errPrintln(logPrefix + "---- Error: creation of local folder " + cmd[1] + " failed"); + errPrintln("Error: creation of local folder " + cmd[1] + " failed"); } } return true; @@ -1350,14 +1324,14 @@ public boolean LMV() { if (cmd.length != 3) { - errPrintln(logPrefix + "---- Syntax: LMV <from> <to>"); + errPrintln("Syntax: LMV <from> <to>"); return true; } final File from = new File(cmd[1]); final File to = new File(cmd[2]); if (!to.exists()) { if (from.renameTo(to)) { - outPrintln(logPrefix + "---- \"" + from.toString() + "\" renamed to \"" + to.toString() + "\""); + outPrintln("---- \"" + from.toString() + "\" renamed to \"" + to.toString() + "\""); } else { errPrintln(logPrefix + "rename failed"); } @@ -1369,10 +1343,10 @@ public boolean LPWD() { if (cmd.length != 1) { - errPrintln(logPrefix + "---- Syntax: LPWD (no parameter)"); + errPrintln("Syntax: LPWD (no parameter)"); return true; } - outPrintln(logPrefix + "---- Local path: " + currentLocalPath.toString()); + outPrintln("---- Local path: " + currentLocalPath.toString()); return true; } @@ -1382,15 +1356,15 @@ public boolean LRMDIR() { if (cmd.length != 2) { - errPrintln(logPrefix + "---- Syntax: LRMDIR <folder-name>"); + errPrintln("Syntax: LRMDIR <folder-name>"); return true; } final File f = new File(currentLocalPath, cmd[1]); if (!f.exists()) { - errPrintln(logPrefix + "---- Error: local folder " + cmd[1] + " does not exist"); + errPrintln("Error: local folder " + cmd[1] + " does not exist"); } else { if (!f.delete()) { - errPrintln(logPrefix + "---- Error: deletion of local folder " + cmd[1] + " failed"); + errPrintln("Error: deletion of local folder " + cmd[1] + " failed"); } } return true; @@ -1398,15 +1372,15 @@ public boolean LRM() { if (cmd.length != 2) { - errPrintln(logPrefix + "---- Syntax: LRM <file-name>"); + errPrintln("Syntax: LRM <file-name>"); return true; } final File f = new File(currentLocalPath, cmd[1]); if (!f.exists()) { - errPrintln(logPrefix + "---- Error: local file " + cmd[1] + " does not exist"); + errPrintln("Error: local file " + cmd[1] + " does not exist"); } else { if (!f.delete()) { - errPrintln(logPrefix + "---- Error: deletion of file " + cmd[1] + " failed"); + errPrintln("Error: deletion of file " + cmd[1] + " failed"); } } return true; @@ -1414,7 +1388,7 @@ public boolean LS() { if (cmd.length > 2) { - errPrintln(logPrefix + "---- Syntax: LS [<path>|<file>]"); + errPrintln("Syntax: LS [<path>|<file>]"); return true; } if (ControlSocket == null) { @@ -1429,7 +1403,7 @@ } printElements(l); } catch (final IOException e) { - errPrintln(logPrefix + "---- Error: remote list not available"); + errPrintln("Error: remote list not available"); } return true; } @@ -1438,11 +1412,12 @@ * @param list */ private void printElements(final List<String> list) { - outPrintln(logPrefix + "---- v---v---v---v---v---v---v---v---v---v---v---v---v---v---v---v---v---v---v"); + outPrintln("---- v---v---v---v---v---v---v---v---v---v---v---v---v---v---v---v---v---v---v"); for (final String element : list) { - outPrintln(logPrefix + element); + outPrintln(element); + outPrintln("--> " + parseListData(element)); } - outPrintln(logPrefix + "---- ^---^---^---^---^---^---^---^---^---^---^---^---^---^---^---^---^---^---^"); + outPrintln("---- ^---^---^---^---^---^---^---^---^---^---^---^---^---^---^---^---^---^---^"); } private List<String> list(final String path, final boolean extended) throws IOException { @@ -1499,7 +1474,7 @@ public boolean MKDIR() { if (cmd.length != 2) { - errPrintln(logPrefix + "---- Syntax: MKDIR <folder-name>"); + errPrintln("Syntax: MKDIR <folder-name>"); return true; } if (ControlSocket == null) { @@ -1514,20 +1489,20 @@ throw new IOException(reply); } } catch (final IOException e) { - errPrintln(logPrefix + "---- Error: creation of folder " + cmd[1] + " failed"); + errPrintln("Error: creation of folder " + cmd[1] + " failed"); } return true; } public boolean MGET() { if (cmd.length != 2) { - errPrintln(logPrefix + "---- Syntax: MGET <file-pattern>"); + errPrintln("Syntax: MGET <file-pattern>"); return true; } try { mget(cmd[1], false); } catch (final IOException e) { - errPrintln(logPrefix + "---- Error: mget failed (" + e.getMessage() + ")"); + errPrintln("Error: mget failed (" + e.getMessage() + ")"); } return true; } @@ -1539,7 +1514,7 @@ if (matches(remote, pattern)) { local = new File(currentLocalPath, remote); if (local.exists()) { - errPrintln(logPrefix + "---- Warning: local file " + local.toString() + " overwritten."); + errPrintln("Warning: local file " + local.toString() + " overwritten."); local.delete(); } retrieveFilesRecursively(remote, remove); @@ -1549,13 +1524,13 @@ public boolean MOVEDOWN() { if (cmd.length != 2) { - errPrintln(logPrefix + "---- Syntax: MOVEDOWN <file-pattern>"); + errPrintln("Syntax: MOVEDOWN <file-pattern>"); return true; } try { mget(cmd[1], true); } catch (final IOException e) { - errPrintln(logPrefix + "---- Error: movedown failed (" + e.getMessage() + ")"); + errPrintln("Error: movedown failed (" + e.getMessage() + ")"); } return true; } @@ -1567,7 +1542,7 @@ */ public boolean MV() { if (cmd.length != 3) { - errPrintln(logPrefix + "---- Syntax: MV <from> <to>"); + errPrintln("Syntax: MV <from> <to>"); return true; } if (ControlSocket == null) { @@ -1588,27 +1563,27 @@ throw new IOException(reply); } } catch (final IOException e) { - errPrintln(logPrefix + "---- Error: rename of " + cmd[1] + " to " + cmd[2] + " failed."); + errPrintln("Error: rename of " + cmd[1] + " to " + cmd[2] + " failed."); } return true; } public boolean NOOP() { if (cmd.length != 1) { - errPrintln(logPrefix + "---- Syntax: NOOP (no parameter)"); + errPrintln("Syntax: NOOP (no parameter)"); return true; } try { literal("NOOP"); } catch (final IOException e) { - errPrintln(logPrefix + "---- Error: server does not know how to do nothing"); + errPrintln("Error: server does not know how to do nothing"); } return true; } public boolean OPEN() { if ((cmd.length < 2) || (cmd.length > 3)) { - errPrintln(logPrefix + "---- Syntax: OPEN <host> [<port>]"); + errPrintln("Syntax: OPEN <host> [<port>]"); return true; } int port = 21; @@ -1626,10 +1601,10 @@ } try { open(cmd[1], port); - outPrintln(logPrefix + "---- Connection to " + cmd[1] + " established."); + outPrintln("---- Connection to " + cmd[1] + " established."); prompt = "ftp [" + cmd[1] + "]>"; } catch (final IOException e) { - errPrintln(logPrefix + "---- Error: connecting " + cmd[1] + " on port " + port + " failed."); + errPrintln("Error: connecting " + cmd[1] + " on port " + port + " failed."); } return true; } @@ -1654,25 +1629,25 @@ } public boolean PROMPT() { - errPrintln(logPrefix + "---- prompt is always off"); + errPrintln("prompt is always off"); return true; } public boolean PUT() { if ((cmd.length < 2) || (cmd.length > 3)) { - errPrintln(logPrefix + "---- Syntax: PUT <local-file> [<remote-file>]"); + errPrintln("Syntax: PUT <local-file> [<remote-file>]"); return true; } final File local = new File(currentLocalPath, cmd[1]); final String remote = (cmd.length == 2) ? local.getName() : cmd[2]; if (!local.exists()) { - errPrintln(logPrefix + "---- Error: local file " + local.toString() + " does not exist."); + errPrintln("Error: local file " + local.toString() + " does not exist."); errPrintln(logPrefix + " Remote file " + remote + " not overwritten."); } else { try { put(local.getAbsolutePath(), remote); } catch (final IOException e) { - errPrintln(logPrefix + "---- Error: transmitting file " + local.toString() + " failed."); + errPrintln("Error: transmitting file " + local.toString() + " failed."); } } return true; @@ -1680,16 +1655,16 @@ public boolean PWD() { if (cmd.length > 1) { - errPrintln(logPrefix + "---- Syntax: PWD (no parameter)"); + errPrintln("Syntax: PWD (no parameter)"); return true; } if (ControlSocket == null) { return LPWD(); } try { - outPrintln(logPrefix + "---- Current remote path is: " + pwd()); + outPrintln("---- Current remote path is: " + pwd()); } catch (final IOException e) { - errPrintln(logPrefix + "---- Error: remote path not available"); + errPrintln("Error: remote path not available"); } return true; } @@ -1710,20 +1685,20 @@ public boolean REMOTEHELP() { if (cmd.length != 1) { - errPrintln(logPrefix + "---- Syntax: REMOTEHELP (no parameter)"); + errPrintln("Syntax: REMOTEHELP (no parameter)"); return true; } try { literal("HELP"); } catch (final IOException e) { - errPrintln(logPrefix + "---- Error: remote help not supported by server."); + errPrintln("Error: remote help not supported by server."); } return true; } public boolean RMDIR() { if (cmd.length != 2) { - errPrintln(logPrefix + "---- Syntax: RMDIR <folder-name>"); + errPrintln("Syntax: RMDIR <folder-name>"); return true; } if (ControlSocket == null) { @@ -1732,7 +1707,7 @@ try { rmForced(cmd[1]); } catch (final IOException e) { - errPrintln(logPrefix + "---- Error: deletion of folder " + cmd[1] + " failed."); + errPrintln("Error: deletion of folder " + cmd[1] + " failed."); } return true; } @@ -1798,180 +1773,180 @@ public boolean USER() { if (cmd.length != 3) { - errPrintln(logPrefix + "---- Syntax: USER <user-name> <password>"); + errPrintln("Syntax: USER <user-name> <password>"); return true; } try { login(cmd[1], cmd[2]); - outPrintln(logPrefix + "---- Granted access for user " + cmd[1] + "."); + outPrintln("---- Granted access for user " + cmd[1] + "."); } catch (final IOException e) { - errPrintln(logPrefix + "---- Error: authorization of user " + cmd[1] + " failed."); + errPrintln("Error: authorization of user " + cmd[1] + " failed."); } return true; } public boolean APPEND() { - errPrintln(logPrefix + "---- not yet supported"); + errPrintln("not yet supported"); return true; } public boolean HELP() { - outPrintln(logPrefix + "---- ftp HELP ----"); - outPrintln(logPrefix + ""); - outPrintln(logPrefix + "This ftp client shell can act as command shell for the local host as well for the"); - outPrintln(logPrefix + "remote host. Commands that point to the local host are preceded by 'L'."); - outPrintln(logPrefix + ""); - outPrintln(logPrefix + "Supported Commands:"); - outPrintln(logPrefix + "ASCII"); - outPrintln(logPrefix + " switch remote server to ASCII transfer mode"); - outPrintln(logPrefix + "BINARY"); - outPrintln(logPrefix + " switch remote server to BINARY transfer mode"); - outPrintln(logPrefix + "BYE"); - outPrintln(logPrefix + " quit the command shell (same as EXIT)"); - outPrintln(logPrefix + "CD <path>"); - outPrintln(logPrefix + " change remote path"); - outPrintln(logPrefix + "CLOSE"); - outPrintln(logPrefix + " close connection to remote host (same as DISCONNECT)"); - outPrintln(logPrefix + "DEL <file>"); - outPrintln(logPrefix + " delete file on remote server (same as RM)"); - outPrintln(logPrefix + "RM <file>"); - outPrintln(logPrefix + " remove file from remote server (same as DEL)"); - outPrintln(logPrefix + "DIR [<path>|<file>] "); - outPrintln(logPrefix + " print file information for remote directory or file"); - outPrintln(logPrefix + "DISCONNECT"); - outPrintln(logPrefix + " disconnect from remote server (same as CLOSE)"); - outPrintln(logPrefix + "EXIT"); - outPrintln(logPrefix + " quit the command shell (same as BYE)"); - outPrintln(logPrefix + "GET <remote-file> [<local-file>]"); - outPrintln(logPrefix + " load <remote-file> from remote server and store it locally,"); - outPrintln(logPrefix + " optionally to <local-file>. if the <remote-file> is a directory,"); - outPrintln(logPrefix + " then all files in that directory are retrieved,"); - outPrintln(logPrefix + " including recursively all subdirectories."); - outPrintln(logPrefix + "GLOB"); - outPrintln(logPrefix + " toggles globbing: matching with wild cards or not"); - outPrintln(logPrefix + "COPY"); - outPrintln(logPrefix + " copies local files"); - outPrintln(logPrefix + "LCD <path>"); - outPrintln(logPrefix + " local directory change"); - outPrintln(logPrefix + "LDEL <file>"); - outPrintln(logPrefix + " local file delete"); - outPrintln(logPrefix + "LDIR"); - outPrintln(logPrefix + " shows local directory content"); - outPrintln(logPrefix + "LITERAL <ftp-command> [<command-argument>]"); - outPrintln(logPrefix + " Sends FTP commands as documented in RFC959"); - outPrintln(logPrefix + "LLS"); - outPrintln(logPrefix + " as LDIR"); - outPrintln(logPrefix + "LMD"); - outPrintln(logPrefix + " as LMKDIR"); - outPrintln(logPrefix + "LMV <local-from> <local-to>"); - outPrintln(logPrefix + " copies local files"); - outPrintln(logPrefix + "LPWD"); - outPrintln(logPrefix + " prints local path"); - outPrintln(logPrefix + "LRD"); - outPrintln(logPrefix + " as LMKDIR"); - outPrintln(logPrefix + "LRMD <folder-name>"); - outPrintln(logPrefix + " deletes local directory <folder-name>"); - outPrintln(logPrefix + "LRM <file-name>"); - outPrintln(logPrefix + " deletes local file <file-name>"); - outPrintln(logPrefix + "LS [<path>|<file>]"); - outPrintln(logPrefix + " prints list of remote directory <path> or information of file <file>"); - outPrintln(logPrefix + "MDIR"); - outPrintln(logPrefix + " as MKDIR"); - outPrintln(logPrefix + "MGET <file-pattern>"); - outPrintln(logPrefix + " copies files from remote server that fits into the"); - outPrintln(logPrefix + " pattern <file-pattern> to the local path."); - outPrintln(logPrefix + "MOVEDOWN <file-pattern>"); - outPrintln(logPrefix + " copies files from remote server as with MGET"); - outPrintln(logPrefix + " and deletes them afterwards on the remote server"); - outPrintln(logPrefix + "MV <from> <to>"); - outPrintln(logPrefix + " moves or renames files on the local host"); - outPrintln(logPrefix + "NOOP"); - outPrintln(logPrefix + " sends the NOOP command to the remote server (which does nothing)"); - outPrintln(logPrefix + " This command is usually used to measure the speed of the remote server."); - outPrintln(logPrefix + "OPEN <host[':'port]> [<port>]"); - outPrintln(logPrefix + " connects the ftp shell to the remote server <host>. Optionally,"); - outPrintln(logPrefix + " a port number can be given, the default port number is 21."); - outPrintln(logPrefix + " Example: OPEN localhost:2121 or OPEN 192.168.0.1 2121"); - outPrintln(logPrefix + "PROMPT"); - outPrintln(logPrefix + " compatibility command, that usually toggles beween prompting on or off."); - outPrintln(logPrefix + " ftp has prompting switched off by default and cannot switched on."); - outPrintln(logPrefix + "PUT <local-file> [<remote-file>]"); - outPrintln(logPrefix + " copies the <local-file> to the remote server to the current remote path or"); - outPrintln(logPrefix + " optionally to the given <remote-file> path."); - outPrintln(logPrefix + "PWD"); - outPrintln(logPrefix + " prints current path on the remote server."); - outPrintln(logPrefix + "REMOTEHELP"); - outPrintln(logPrefix + " asks the remote server to print the help text of the remote server"); - outPrintln(logPrefix + "RMDIR <folder-name>"); - outPrintln(logPrefix + " removes the directory <folder-name> on the remote server"); - outPrintln(logPrefix + "QUIT"); - outPrintln(logPrefix + " exits the ftp application"); - outPrintln(logPrefix + "RECV"); - outPrintln(logPrefix + " as GET"); - outPrintln(logPrefix + "USER <user-name> <password>"); - outPrintln(logPrefix + " logs into the remote server with the user <user-name>"); - outPrintln(logPrefix + " and the password <password>"); - outPrintln(logPrefix + ""); - outPrintln(logPrefix + ""); - outPrintln(logPrefix + "EXAMPLE:"); - outPrintln(logPrefix + "a standard sessions looks like this"); - outPrintln(logPrefix + ">open 192.168.0.1:2121"); - outPrintln(logPrefix + ">user anonymous bob"); - outPrintln(logPrefix + ">pwd"); - outPrintln(logPrefix + ">ls"); - outPrintln(logPrefix + ">....."); - outPrintln(logPrefix + ""); - outPrintln(logPrefix + ""); + outPrintln("---- ftp HELP ----"); + outPrintln(""); + outPrintln("This ftp client shell can act as command shell for the local host as well for the"); + outPrintln("remote host. Commands that point to the local host are preceded by 'L'."); + outPrintln(""); + outPrintln("Supported Commands:"); + outPrintln("ASCII"); + outPrintln(" switch remote server to ASCII transfer mode"); + outPrintln("BINARY"); + outPrintln(" switch remote server to BINARY transfer mode"); + outPrintln("BYE"); + outPrintln(" quit the command shell (same as EXIT)"); + outPrintln("CD <path>"); + outPrintln(" change remote path"); + outPrintln("CLOSE"); + outPrintln(" close connection to remote host (same as DISCONNECT)"); + outPrintln("DEL <file>"); + outPrintln(" delete file on remote server (same as RM)"); + outPrintln("RM <file>"); + outPrintln(" remove file from remote server (same as DEL)"); + outPrintln("DIR [<path>|<file>] "); + outPrintln(" print file information for remote directory or file"); + outPrintln("DISCONNECT"); + outPrintln(" disconnect from remote server (same as CLOSE)"); + outPrintln("EXIT"); + outPrintln(" quit the command shell (same as BYE)"); + outPrintln("GET <remote-file> [<local-file>]"); + outPrintln(" load <remote-file> from remote server and store it locally,"); + outPrintln(" optionally to <local-file>. if the <remote-file> is a directory,"); + outPrintln(" then all files in that directory are retrieved,"); + outPrintln(" including recursively all subdirectories."); + outPrintln("GLOB"); + outPrintln(" toggles globbing: matching with wild cards or not"); + outPrintln("COPY"); + outPrintln(" copies local files"); + outPrintln("LCD <path>"); + outPrintln(" local directory change"); + outPrintln("LDEL <file>"); + outPrintln(" local file delete"); + outPrintln("LDIR"); + outPrintln(" shows local directory content"); + outPrintln("LITERAL <ftp-command> [<command-argument>]"); + outPrintln(" Sends FTP commands as documented in RFC959"); + outPrintln("LLS"); + outPrintln(" as LDIR"); + outPrintln("LMD"); + outPrintln(" as LMKDIR"); + outPrintln("LMV <local-from> <local-to>"); + outPrintln(" copies local files"); + outPrintln("LPWD"); + outPrintln(" prints local path"); + outPrintln("LRD"); + outPrintln(" as LMKDIR"); + outPrintln("LRMD <folder-name>"); + outPrintln(" deletes local directory <folder-name>"); + outPrintln("LRM <file-name>"); + outPrintln(" deletes local file <file-name>"); + outPrintln("LS [<path>|<file>]"); + outPrintln(" prints list of remote directory <path> or information of file <file>"); + outPrintln("MDIR"); + outPrintln(" as MKDIR"); + outPrintln("MGET <file-pattern>"); + outPrintln(" copies files from remote server that fits into the"); + outPrintln(" pattern <file-pattern> to the local path."); + outPrintln("MOVEDOWN <file-pattern>"); + outPrintln(" copies files from remote server as with MGET"); + outPrintln(" and deletes them afterwards on the remote server"); + outPrintln("MV <from> <to>"); + outPrintln(" moves or renames files on the local host"); + outPrintln("NOOP"); + outPrintln(" sends the NOOP command to the remote server (which does nothing)"); + outPrintln(" This command is usually used to measure the speed of the remote server."); + outPrintln("OPEN <host[':'port]> [<port>]"); + outPrintln(" connects the ftp shell to the remote server <host>. Optionally,"); + outPrintln(" a port number can be given, the default port number is 21."); + outPrintln(" Example: OPEN localhost:2121 or OPEN 192.168.0.1 2121"); + outPrintln("PROMPT"); + outPrintln(" compatibility command, that usually toggles beween prompting on or off."); + outPrintln(" ftp has prompting switched off by default and cannot switched on."); + outPrintln("PUT <local-file> [<remote-file>]"); + outPrintln(" copies the <local-file> to the remote server to the current remote path or"); + outPrintln(" optionally to the given <remote-file> path."); + outPrintln("PWD"); + outPrintln(" prints current path on the remote server."); + outPrintln("REMOTEHELP"); + outPrintln(" asks the remote server to print the help text of the remote server"); + outPrintln("RMDIR <folder-name>"); + outPrintln(" removes the directory <folder-name> on the remote server"); + outPrintln("QUIT"); + outPrintln(" exits the ftp application"); + outPrintln("RECV"); + outPrintln(" as GET"); + outPrintln("USER <user-name> <password>"); + outPrintln(" logs into the remote server with the user <user-name>"); + outPrintln(" and the password <password>"); + outPrintln(""); + outPrintln(""); + outPrintln("EXAMPLE:"); + outPrintln("a standard sessions looks like this"); + outPrintln(">open 192.168.0.1:2121"); + outPrintln(">user anonymous bob"); + outPrintln(">pwd"); + outPrintln(">ls"); + outPrintln(">....."); + outPrintln(""); + outPrintln(""); return true; } public boolean QUOTE() { - errPrintln(logPrefix + "---- not yet supported"); + errPrintln("not yet supported"); return true; } public boolean BELL() { - errPrintln(logPrefix + "---- not yet supported"); + errPrintln("not yet supported"); return true; } public boolean MDELETE() { - errPrintln(logPrefix + "---- not yet supported"); + errPrintln("not yet supported"); return true; } public boolean SEND() { - errPrintln(logPrefix + "---- not yet supported"); + errPrintln("not yet supported"); return true; } public boolean DEBUG() { - errPrintln(logPrefix + "---- not yet supported"); + errPrintln("not yet supported"); return true; } public boolean MLS() { - errPrintln(logPrefix + "---- not yet supported"); + errPrintln("not yet supported"); return true; } public boolean TRACE() { - errPrintln(logPrefix + "---- not yet supported"); + errPrintln("not yet supported"); return true; } public boolean MPUT() { - errPrintln(logPrefix + "---- not yet supported"); + errPrintln("not yet supported"); return true; } public boolean TYPE() { - errPrintln(logPrefix + "---- not yet supported"); + errPrintln("not yet supported"); return true; } public boolean CREATE() { - errPrintln(logPrefix + "---- not yet supported"); + errPrintln("not yet supported"); return true; } @@ -1981,7 +1956,7 @@ // checks whether the string name matches with the pattern // the pattern may contain characters '*' as wildcard for several // characters (also none) and '?' to match exactly one characters - // outPrintln(logPrefix + "MATCH " + name + " " + pattern); + // outPrintln("MATCH " + name + " " + pattern); if (!glob) { return name.equals(pattern); } @@ -2032,9 +2007,9 @@ clientOutput.write('\n'); clientOutput.flush(); if (buf.startsWith("PASS")) { - outPrintln(logPrefix + "> PASS ********"); + outPrintln("> PASS ********"); } else { - outPrintln(logPrefix + "> " + buf); + outPrintln("> " + buf); } } @@ -2050,7 +2025,7 @@ throw new IOException("Server has presumably shut down the connection."); } - outPrintln(logPrefix + "< " + reply); + outPrintln("< " + reply); // serverResponse.addElement(reply); if (reply.length() >= 4 && Character.isDigit(reply.charAt(0)) && Character.isDigit(reply.charAt(1)) @@ -2310,7 +2285,7 @@ if (start == stop) { errPrintln(logPrefix + ""); } else { - outPrintln(logPrefix + " (" + (length * 1000 / 1024 / (stop - start)) + " kbytes/second)"); + outPrintln(" (" + (length * 1000 / 1024 / (stop - start)) + " kbytes/second)"); } } else { @@ -2516,7 +2491,7 @@ } public void checkExit(final int status) { - // System.outPrintln(logPrefix + "ShellSecurityManager: object + // System.outPrintln("ShellSecurityManager: object // called System.exit(" + status + ")"); // signal that someone is trying to terminate the JVM. throw new ee(status); _______________________________________________ YaCy-svn mailing list YaCy-svn@lists.berlios.de https://lists.berlios.de/mailman/listinfo/yacy-svn