/*
* Copyright (C) 2009 eXo Platform SAS.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.exoplatform.services.ftp;
/**
* Created by The eXo Platform SAS Author : Vitaly Guly gavrik-vetal@ukr.net/mail.ru.
*
* @version $Id: $
*/
public class FtpConst
{
/**
* FTP prefix.
*/
public static final String FTP_PREFIX = "exo.jcr.component.ftp.";
/**
* FTP command catalog.
*/
public static final String FTP_COMMAND_CATALOG = "FTP";
/**
* FTP cache-file extention.
*/
public static final String FTP_CACHEFILEEXTENTION = ".ftpcache";
/**
* Time stamped block size.
*/
public static final int FTP_TIMESTAMPED_BLOCK_SIZE = 2048;
/**
* eXoPlatform Logo.
*/
public static final String[] EXO_LOGO =
{"220- ", " _/_/_/_/ *** eXo Platform JCR FTP Server _/_/_/_/",
" _/ _/",
" _/ _/ _/",
" _/ _/_/_/_/ _/ _/_/_/ _/",
" _/ _/ _/ _/ _/ ",
" _/ _/_/ _/ _/ ",
" _/_/_/ _/ _/ _/ ",
" _/ _/_/ _/ _/ ",
" _/_/_/_/ _/ _/ _/_/_/ ",
" _/ _/ _/",
" _/ _/ _/",
" _/ _/",
"_/_/_/_/ http://eXoPlatform.org *** _/_/_/_/", "220 - "};
/**
* Help info.
*/
public static final String[] EXO_HELP_INFO =
{"214-The following commands are recognized:", "",
" _/_/_/_/ *** eXo Platform JCR FTP Server _/_/_/_/",
" _/ _/ ",
" _/ _/ CDUP CWD DELE _/ ",
" _/ _/_/_/_/ _/ _/_/_/ HELP LIST MKD _/ ",
" _/ _/ _/ _/ _/ MODE NLST NOOP ",
" _/ _/_/ _/ _/ PASS PASV PORT ",
" _/_/_/ _/ _/ _/ PWD QUIT REST ",
" _/ _/_/ _/ _/ RETR RMD RNFR ",
" _/_/_/_/ _/ _/ _/_/_/ RNTO SIZE STAT ",
" _/ _/ STOR SYST TYPE _/ ",
" _/ _/ USER _/ ",
" _/ _/ ",
"_/_/_/_/ http://eXoPlatform.org *** _/_/_/_/ ", "",
"214 http://eXoPlatForm.org"};
/**
* Supported encodings.
*/
public class Encoding
{
/**
* Windows NT encoding.
*/
public static final String WINDOWS_NT = "Windows_NT";
/**
* UNIX encoding.
*/
public static final String UNIX = "UNIX";
/**
* UNIX L8 encoding.
*/
public static final String UNIX_L8 = "UNIX Type: L8";
}
/**
* Command name constants.
*/
public class Commands
{
/**
* USER.
*/
public static final String CMD_USER = "USER";
/**
* PASS.
*/
public static final String CMD_PASS = "PASS";
/**
* TYPE.
*/
public static final String CMD_TYPE = "TYPE";
/**
* CWD.
*/
public static final String CMD_CWD = "CWD";
/**
* PWD.
*/
public static final String CMD_PWD = "PWD";
/**
* QUIT.
*/
public static final String CMD_QUIT = "QUIT";
/**
* HELP.
*/
public static final String CMD_HELP = "HELP";
/**
* SYST.
*/
public static final String CMD_SYST = "SYST";
/**
* PASV.
*/
public static final String CMD_PASV = "PASV";
/**
* NOOP.
*/
public static final String CMD_NOOP = "NOOP";
/**
* LIST.
*/
public static final String CMD_LIST = "LIST";
/**
* CDUP.
*/
public static final String CMD_CDUP = "CDUP";
/**
* MKD.
*/
public static final String CMD_MKD = "MKD";
/**
* MODE.
*/
public static final String CMD_MODE = "MODE";
/**
* RMD.
*/
public static final String CMD_RMD = "RMD";
/**
* RNFR.
*/
public static final String CMD_RNFR = "RNFR";
/**
* RNTO.
*/
public static final String CMD_RNTO = "RNTO";
/**
* STOR.
*/
public static final String CMD_STOR = "STOR";
/**
* RETR.
*/
public static final String CMD_RETR = "RETR";
/**
* DELE.
*/
public static final String CMD_DELE = "DELE";
/**
* REST.
*/
public static final String CMD_REST = "REST";
/**
* NLST.
*/
public static final String CMD_NLST = "NLST";
/**
* PORT.
*/
public static final String CMD_PORT = "PORT";
/**
* SIZE.
*/
public static final String CMD_SIZE = "SIZE";
/**
* STAT.
*/
public static final String CMD_STAT = "STAT";
/**
* STRU.
*/
public static final String CMD_STRU = "STRU";
}
/**
* Reply messages.
*/
public class Replyes
{
/**
* REPLY 125 - Data connection opened.
*/
public static final String REPLY_125 = "125 Data connection already open; Transfer starting";
/**
* REPLY 200.
*/
public static final String REPLY_200 = "200 %s";
/**
* REPLY 213.
*/
public static final String REPLY_213 = "213 %s";
/**
* REPLY 215.
*/
public static final String REPLY_215 = "215 %s";
/**
* REPLY 221 - exit.
*/
public static final String REPLY_221 = "221 eXo JCR FTP Server. Goodbye :)";
/**
* REPLY 226 - transfer complete.
*/
public static final String REPLY_226 = "226 Transfer complete";
/**
* REPLY 227 - Entering passive mode.
*/
public static final String REPLY_227 = "227 Entering Passive Mode (%s)";
/**
* REPLY 230 - user logged in.
*/
public static final String REPLY_230 = "230 %s user logged in";
/**
* REPLY 250 - command successful.
*/
public static final String REPLY_250 = "250 %s command successful";
/**
* REPLY 257 - current directory.
*/
public static final String REPLY_257 = "257 \"%s\" is current directory";
/**
* REPLY 257 CREATED - directory created.
*/
public static final String REPLY_257_CREATED = "257 \"%s\" directory created";
/**
* REPLY 331 - password required.
*/
public static final String REPLY_331 = "331 Password required for %s";
/**
* REPLY 350 - file or directory exist.
*/
public static final String REPLY_350 = "350 File or directory exists, ready for destination name";
/**
* REPLY 350 REST - restarting at directory.
*/
public static final String REPLY_350_REST = "350 Restarting at %s. Send STORE or RETRIEVE to initiate transfer";
/**
* REPLY 421 - idle timeout.
*/
public static final String REPLY_421 = "421 Idle Timeout (%d seconds): closing control connection";
/**
* REPLY 421 DATA - service not available.
*/
public static final String REPLY_421_DATA = "421 Service not available";
/**
* REPLY 425 - unable to build data connection.
*/
public static final String REPLY_425 = "425 Unable to build data connection";
/**
* REPLY 450 - no such file or directory.
*/
public static final String REPLY_450 = "450 %s No such file or directory";
/**
* REPLY 451 - transfer aborted.
*/
public static final String REPLY_451 = "451 Transfer aborted";
/**
* REPLY 500 - not understood.
*/
public static final String REPLY_500 = "500 %s not understood";
/**
* REPLY 500 PARAMREQUIRED - command requires parameter.
*/
public static final String REPLY_500_PARAMREQUIRED = "500 %s: command requires a parameter";
/**
* REPLY 500 ILLEGAL - illegal command.
*/
public static final String REPLY_500_ILLEGAL = "500 Illegal %s command";
/**
* REPLY 501 MODE - unrecognized transfer mode.
*/
public static final String REPLY_501_MODE = "501 '%s' unrecognized transfer mode";
/**
* REPLY 501 STRU - unrecognized structure mode.
*/
public static final String REPLY_501_STRU = "501 '%s' unrecognized structure type";
/**
* REPLY 503 - bad sequence of command.
*/
public static final String REPLY_503 = "503 Bad sequence of commands";
/**
* REPLY 503 PASS - login with user first.
*/
public static final String REPLY_503_PASS = "503 Login with USER first";
/**
* REPLY 504 - unsupported transfer mode.
*/
public static final String REPLY_504 = "504 '%s' unsupported transfer mode";
/**
* REPLY 530.
*/
public static final String REPLY_530 = "530 Please login with USER and PASS";
/**
* REPLY 550 - permission denied.
*/
public static final String REPLY_550 = "550 %s: Permission denied";
/**
* REPLY 550 SIZE - no such file.
*/
public static final String REPLY_550_SIZE = "550 %s: No such file";
/**
* REPLY 550 RESTORE - restore value invalid.
*/
public static final String REPLY_550_RESTORE = "550 Restore value invalid";
/**
* REPLY 553 - unable to rename file or directory.
*/
public static final String REPLY_553 = "553 %s: Unable to rename file or directory";
}
/**
* Supported OS types.
*/
public class SystemTypes
{
/**
* Windows NT type.
*/
public static final String WINDOWS_NT = "Windows_NT";
/**
* UNIX L8 type.
*/
public static final String UNIX_L8 = "UNIX Type: L8";
}
/**
* Node types.
*/
public class NodeTypes
{
/**
* nt:folder.
*/
public static final String NT_FOLDER = "nt:folder";
/**
* nt:file.
*/
public static final String NT_FILE = "nt:file";
/**
* jcr:content.
*/
public static final String JCR_CONTENT = "jcr:content";
/**
* jcr:data.
*/
public static final String JCR_DATA = "jcr:data";
/**
* jcr:created.
*/
public static final String JCR_CREATED = "jcr:created";
/**
* jcr:lastModified.
*/
public static final String JCR_LASTMODIFIED = "jcr:lastModified";
/**
* nt:resource.
*/
public static final String NT_RESOURCE = "nt:resource";
/**
* jcr:mimetype.
*/
public static final String JCR_MIMETYPE = "jcr:mimeType";
/**
* mix:versionable.
*/
public static final String MIX_VERSIONABLE = "mix:versionable";
}
}