package org.lognavigator.util; /** * Constants for the web tiers */ public class Constants { /////////////////////////////// // CONTROLLER AND VIEW NAMES // /////////////////////////////// public static final String REDIRECT_LOGS_LIST_CONTROLLER = "redirect:/logs/{0}/list"; public static final String FOLDER_VIEW_URL_PREFIX = "list?subPath="; public static final String LOGS_LIST_URL = "list"; public static final String FILE_VIEW_URL_PREFIX = "command?cmd="; public static final String VIEW_TABLE = "table"; public static final String VIEW_RAW = "raw"; public static final String VIEW_ERROR = "error"; //////////////////// // MODEL MAP KEYS // //////////////////// public static final String LOG_ACCESS_CONFIG_ID_KEY = "logAccessConfigId"; public static final String LOG_ACCESS_CONFIG_IDS_BY_DISPLAY_GROUP_KEY = "logAccessConfigIdsByDisplayGroup"; public static final String ERROR_TITLE_KEY = "errorTitle"; public static final String ERROR_MESSAGE_KEY = "errorMessage"; public static final String BLOCKING_ERROR_KEY = "blockingError"; public static final String WARN_TITLE_KEY = "warnTitle"; public static final String WARN_MESSAGE_KEY = "warnMessage"; public static final String SHOW_OPTIONS_KEY = "showOptions"; public static final String ENCODING_KEY = "encoding"; public static final String DISPLAY_TYPE_KEY = "displayType"; public static final String TABLE_HEADERS_KEY = "tableHeaders"; public static final String TABLE_LINES_KEY = "tableLines"; public static final String RAW_CONTENT_KEY = "rawContent"; public static final String TABLE_LAYOUT_CLASS_KEY = "tableLayoutClass"; public static final String BREADCRUMBS_KEY = "breadcrumbs"; /////////////////// // TABLE HEADERS // /////////////////// public static final String FILE_TABLE_HEADER = "File"; public static final String DATE_TABLE_HEADER = "Date"; public static final String SIZE_TABLE_HEADER = "Size"; public static final String ACTIONS_TABLE_HEADER = "Actions"; public static final String LINE_NUMBER_TABLE_HEADER = "#"; public static final String LINE_CONTENT_TABLE_HEADER = "Line Content"; ////////////// // COMMANDS // ////////////// public static final String DEFAULT_LIST_COMMAND = "ls"; public static final String PERL_LIST_COMMAND_TEMPLATE = "perl -e ''foreach $filename (`<command>`) '{' chomp($filename); @stat=stat(\"{0}/$filename\"); printf \"%x %d %d000 %s\\n\", @stat[2] & 0040000, @stat[7], @stat[9], $filename; '}'''"; public static final String PERL_LIST_COMMAND_LINUX_GROUP_DIRECTORIES_FIRST = PERL_LIST_COMMAND_TEMPLATE.replace("<command>", "ls -t --group-directories-first \"{0}\" | head -{1,number,#}"); public static final String PERL_LIST_COMMAND_FALLBACK = PERL_LIST_COMMAND_TEMPLATE.replace("<command>", "ls -tF \"{0}\" | grep \"/\\$\" | head -{1,number,#} | sed \"s/\\\\/\\$//g\" && ls -tF \"{0}\" | grep -v \"/\\$\" | head -{1,number,#} | sed \"s/*\\$//g\""); public static final String DEFAULT_FILE_VIEW_COMMAND = "tail -1000 {0}"; public static final String GZ_FILE_VIEW_COMMAND = "gzip -dc {0} | tail -1000"; public static final String TAR_GZ_FILE_VIEW_COMMAND_START = "tar -ztvf "; public static final String TAR_GZ_FILE_VIEW_COMMAND = TAR_GZ_FILE_VIEW_COMMAND_START + "{0} | sort -r -k 4,5"; public static final String TAR_GZ_FILE_VIEW_COMMAND_END = " | tar -ztv | sort -r -k 4,5"; public static final String TAR_GZ_CONTENT_FILE_VIEW_COMMAND_START = "tar -O -zxf "; public static final String TAR_GZ_CONTENT_FILE_VIEW_COMMAND = TAR_GZ_CONTENT_FILE_VIEW_COMMAND_START + "{0} {1} | {2}"; public static final String HTTPD_FILE_VIEW_COMMAND_START = "curl -ksS "; public static final String HTTPD_FILE_VIEW_COMMAND_PREFIX = HTTPD_FILE_VIEW_COMMAND_START + "{0} | "; public static final String TAR_GZ_CONTENT_FILE_VIEW_COMMAND_USING_CURL_REGEX = HTTPD_FILE_VIEW_COMMAND_START + "(.+.tar.gz) \\| " + TAR_GZ_CONTENT_FILE_VIEW_COMMAND_START.replace("f", "") + "(\\S+) \\| tail -1000"; public static final String TWO_PARAMS_COMMAND_REGEX = "(grep|egrep|awk|gawk)"; public static final String DEFAULT_FORBIDDEN_COMMANDS = "rm,rmdir,mkdir,mv,kill,killall,ssh,chmod,chown,vi,touch"; public static final String FORBIDDEN_COMMANDLINE_REGEX = "\\s*{0}\\s+.*|.*[\\|;`]\\s*{0}(\\s+.*)?"; //////////// // OTHERS // //////////// public static final String UTF8_ENCODING = "UTF-8"; public static final String ISO_ENCODING = "ISO-8859-1"; public static final String DIRECTORY_RIGHT = "d"; public static final String DEFAULT_ENCODING_OPTION = UTF8_ENCODING; public static final String DEFAULT_DISPLAY_TYPE_OPTION = "RAW"; public static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss"; public static final String TAR_GZ_DATE_FORMAT = "yyyy-MM-dd HH:mm"; public static final String URL_ENCODING = UTF8_ENCODING; public static final String TAR_GZ_CONTENT_SPLIT = ".tar.gz!"; public static final String COMPRESSED_FILE_REGEX = ".*\\.(gz|tgz|zip|bz2)"; public static final String TABLE_LAYOUT_FULL_WIDTH = "full-width"; public static final String TABLE_LAYOUT_CENTERED = "col-md-offset-2 col-md-8"; }