package codeine.model;
import codeine.utils.StringUtils;
import codeine.utils.network.InetUtils;
import java.io.File;
public class Constants
{
public static final boolean SECURITY_ENABLED = true;
public static final boolean RUNNING_COLLECTORS_IN_PEER = true;
public static final String HTTP_ROOT_CONTEXT = "/http-root";
public static final String GUEST_USER = "Guest";
public static final String CODEINE_NODES_PROJECT_NAME = "Codeine_Internal_Nodes_Project";
public static final String PEER_LOG = "codeine_peer.log";
public static final String DIRECTORY_LOG = "codeine_directory.log";
public static final String SERVER_LOG = "codeine_server.log";
public static final String PROJECT_CONF_FILE = "project.conf.json";
public static final String INSTALLATION = ".";
public static final String MONITORS_DIR = "/monitors";
public static final String CONF_DIR = "/conf";
public static final String COMMANDS_DIR = "/plugins";
public static final String COMMANDS_OUTPUT_DIR = "/plugins_output";
public static final String ROOT_CONTEXT = "/";
public static final String ANGULAR_CONTEXT = "/codeine";
public static final String API_CONTEXT = "/api";
public static final String API_WITH_TOKEN_CONTEXT = "/api-with-token";
public static final String MONITOR_OUTPUT_CONTEXT = "/monitor-output";
public static final String COLLECTOR_OUTPUT_CONTEXT = "/collector-output";
public static final String PROJECT_FILES_CONTEXT = "/projects-files";
public static final String PROJECT_NODES_CONTEXT = "/project-nodes";
public static final String PROJECT_NODES_ALIASES_CONTEXT = "/project-nodes-aliases";
public static final String PROJECT_NODES_CSV_CONTEXT = "/csv-nodes";
public static final String PROJECT_STATUS_CONTEXT = "/project-status";
public static final String NODE_STATUS_CONTEXT = "/node-status";
public static final String MONITOR_STATUS_CONTEXT = "/monitor-status";
public static final String COLLECTOR_STATUS_CONTEXT = "/collector-status";
public static final String COMMAND_STATUS_CONTEXT = "/command-status";
public static final String COMMAND_OUTPUT_CONTEXT = "/command-output";
public static final String REPORTER_CONTEXT = "/reporter";
public static final String UPGRADE_SERVER_CONTEXT = "/upgrade-server";
public static final String COMMANDS_LOG_CONTEXT = "/commands-log";
public static final String COMMANDS_EXECUTER_STATUS = "/commands-status";
public static final String RESTART_ALL_PEERS_CONTEXT = "/restart-all";
public static final String PROJECTS_LIST_CONTEXT = "/projects";
public static final String PROJECT_PATH = "/project";
public static final String NODE_PATH = "/node";
public static final String COMMAND_NODE_CONTEXT = "/command-node";
public static final String RELOAD_CONFIGURATION_CONTEXT = "/reload-configuration";
public static final String REGISTER_PEER_IN_DIRECTORY_CONTEXT = "/register-in-directory";
public static final String COMMAND_NODE_ALL_CONTEXT = "/command-node-all";
public static final String COMMAND_NODES_CONTEXT = "/command-nodes";
public static final String RESOURCESS_CONTEXT = "/resources";
public static final String CONFIG_SUBMIT_CONTEXT = "/config-submit";
public static final String PEER_STATUS_CONTEXT = "/peer/status";
public static final String PEER_PROJECT_STATUS_CONTEXT = "/project/status";
public static final String MONITORS_STATISTICS_CONTEXT = "/monitors-statistics";
public static final String INFO_CONTEXT = "/info";
public static final String USER_INFO_CONTEXT = "/user-info";
public static final String MANAGE_STATISTICS_INFO_CONTEXT = "/manage-statistics";
public static final String VERSION_INFO_CONTEXT = INFO_CONTEXT + "/version";
public static final String VERSIONS_MAPPING_CONTEXT = "/versions-mapping";
public static final String PEER_REPORT_CONTEXT = "/peer-report";
public static final String RSYNC_SOURCE = "/version/rsync";
public static final String COMMAND_NODE_IN_SERVER_CONTEXT = "/command-to-node";
public static final String PEER_PORT_CONTEXT = "/peer/port";
public static final String REGISTER_CONTEXT = "/register";
public static final String PREPARE_FOR_SHUTDOWN_CONTEXT = "/prepare-for-shutdown";
public static final String CANCEL_SHUTDOWN_CONTEXT = "/cancel-shutdown";
public static final String GLOBAL_CONFIGURATION_CONTEXT = "/global-configuration";
public static final String EXPERIMENTAL_CONFIGURATION_CONTEXT = "/experimental-configuration";
public static final String PROJECT_CONFIGURATION_CONTEXT = "/project-configuration";
public static final String PROJECT_COMMANDS_CONFIGURATION_CONTEXT = "/project-commands-configuration";
public static final String PERMISSIONS_CONFIGURATION_CONTEXT = "/permissions";
public static final String SESSION_INFO_CONTEXT = "/session-info";
public static final String PUSH_PROJECTS_TO_DB_CONTEXT = "/push-projects-to-db";
public static final String REPLACE_NODE_NAME = "$node_name";
public static final String DB_NAME = "codeineDB";
public static final int DB_PORT = 27017;
public static final boolean IS_MAIL_STARTEGY_MONGO = true;
public static final String NO_VERSION = "No version";
public static final String ALL_VERSION = "All versions";
public static final String VERSION = "version";
public static final String VERSION_COLLECTOR_NAME = "node_version_collector";
public static final String TAGS_COLLECTOR_NAME = "node_tags_collector";
public static final String COMMAND_RESULT = "codeine-command-result=";
public static final String JSON_COMMAND_FILE_NAME = "/command.json";
public static final String EXECUTION_ENV_OUTPUT_FILE = "CODEINE_OUTPUT_FILE";
public static final String EXECUTION_ENV_PROJECT_NAME = "CODEINE_PROJECT_NAME";
public static final String EXECUTION_ENV_USER_NAME = "CODEINE_USER_NAME";
public static final String EXECUTION_ENV_PROJECT_STATUS = "CODEINE_PROJECT_STATUS";
public static final String EXECUTION_ENV_NODE_NAME = "CODEINE_NODE_NAME";
public static final String EXECUTION_ENV_NODE_ALIAS = "CODEINE_NODE_ALIAS";
public static final String EXECUTION_ENV_NODE_TAGS = "CODEINE_NODE_TAGS";
public static final String ENV_CODEINE_WORKAREA = "CODEINE_WORKAREA";
public static final String ENV_CODEINE_HOST_WORKAREA = "CODEINE_HOST_WORKAREA";
public static String installDir = null;
public static String getConfDir() {
return getWorkarea() + "/conf";
}
public static String getConfPath() {
return getConfDir() + "/codeine.conf.json";
}
public static String getViewConfPath() {
return getConfDir() + "/codeine.view.conf.json";
}
public static String getExperimentalConfPath() {
return getConfDir() + "/codeine.experimental.conf.json";
}
public static String getIdentityConfPath() {
return getConfDir() + "/identity.json";
}
public static String getPermissionsConfPath() {
return getConfDir() + "/permissions.json";
}
public static String getSpnegoPropertiesPath() {
return getConfDir() + "/spnego.properties";
}
public static String getLogDir(){
return System.getProperty("log.dir", getResourcesDir());
}
public static String getResourcesDir() {
return Constants.getInstallDir() + HTTP_ROOT_CONTEXT;
}
public static String getAngularDir() {
String appDir = System.getProperty("angularAppDir");
if (StringUtils.isEmpty(appDir)) {
appDir = "dist";
}
return Constants.getResourcesDir() + "/ajs/" + appDir;
}
public static String getAngularMainHtml() {
return Constants.getAngularDir() + "/index.html";
}
public static String getInstallDir(){
if (installDir != null)
{
return installDir;
}
installDir = System.getProperty("installDir");
if (installDir == null)
{
// if install dir not set, get relative to cwd:
String sJarPath = Constants.class.getProtectionDomain().getCodeSource().getLocation().getPath();
File jarFile = new File(sJarPath);
installDir = jarFile.getParentFile().getParent();
}
System.out.println("Setting installDir to '" + installDir + "'"); //$NON-NLS-2$
return installDir;
}
public static final String COMMAND_FINISH_FILE = "/finished";
public static final String COMMAND_LOG_FILE = "/log";
public static final int DEFAULT_WEB_SERVER_PORT = 12347;
public static final int DEFAULT_PEER_PORT = 49671;
public static final String DISCOVERY_PLUGIN = "discovery";
public static final String API_TOKEN = "api_token";
public static final String PROJECT_TAGS_CONTEXT = "/project-tags";
public static final String ANGULAR_WEB_URLS_PATH_SPEC = "/codeine/*";
public static final String ANGULAR_RESOURCES_CONTEXT_PATH = "/ajs";
public static final String PROJECTS_TABS_CONTEXT = "/projects-tabs";
public static class RequestHeaders {
public static final String NO_ZIP = "NO_ZIP";
}
public static class UrlParameters {
public static final String PROJECT_NAME = "project";
public static final String VERSION_NAME = "version";
public static final String NODE_NAME = "node-name";
public static final String NODE = "node";
public static final String MONITOR = "monitor";
public static final String COLLECTOR = "collector";
public static final String COMMAND_NAME = "command";
public static final String PATH_NAME = "path";
public static final String RESOURCE_NAME = "resource";
public static final String LINK_NAME = "link";
public static final String DATA_NAME = "data";
public static final String REDIRECT = "redirect";
public static final String COMMAND_ID = "command-id";
public static final String DATA_ADDITIONAL_COMMAND_INFO_NAME = "more-command-info";
public static final String SECTION = "section";
public static final String VIEW_AS = "viewas";
public static final String FILTER = "text-filter";
public static final String FORCE = "force";
public static final String ADDRESS = "server";
public static final String INCLUDE_OUTPUT = "output";
}
public static String getPersistentDir() {
return getWorkarea() + "/persistent." + InetUtils.getLocalHost().getHostName();
}
public static String getWorkarea(){
String workarea = System.getenv(ENV_CODEINE_WORKAREA);
if (null == workarea){
return getInstallDir();
}
return workarea;
}
public static String getHostWorkareaDir() {
// return Constants.getInstallDir() + "/../..";
String workarea = System.getenv(ENV_CODEINE_HOST_WORKAREA);
if (null == workarea){
return getPersistentDir();//assuming workarea is common somehow, so pid+port files will be separate for each host
}
return workarea;
}
public static String apiContext(String projectNodesContext) {
return API_CONTEXT + projectNodesContext;
}
public static String apiTokenContext(String projectNodesContext) {
return API_WITH_TOKEN_CONTEXT + projectNodesContext;
}
public static final String OFFLINE_NODES = "Codeine daemon not running";
public static final String NOT_REPORTING_NODES = "Codeine daemon not reporting node";
public static final String CODEINE_API_TOKEN_DERIVER = "CodeineSecretKey";
public static String getFeatureFlagsDir() {
return getWorkarea() + "/features";
}
}