package codeine.configuration;
import javax.inject.Inject;
import codeine.jsons.global.GlobalConfigurationJsonStore;
import codeine.jsons.project.ProjectJson;
import codeine.model.Constants;
import codeine.utils.network.HttpUtils;
public class Links {
private @Inject GlobalConfigurationJsonStore globalConfiguration;
public String directoryPeerStatus() {
return "http://" + globalConfiguration.get().directory_host() + ":" + globalConfiguration.get().directory_port()
+ Constants.PEER_STATUS_CONTEXT;
}
public String getLogLink(String hostport) {
return "http://" + hostport + Constants.RESOURCESS_CONTEXT;
}
public String getPeerLink(String hostport) {
return "http://" + hostport;
}
public String getPeerCommandLink(String hostport, String project, String command, String userArgs) {
String args = null == userArgs ? "" : "&version=" + HttpUtils.encodeURL(userArgs);
return getPeerLink(hostport) + Constants.COMMAND_NODE_CONTEXT + "?project=" + HttpUtils.encodeURL(project) + "&command=" + HttpUtils.encodeURL(command) + args;
}
public String getProjectLink(String name) {
return Constants.PROJECT_STATUS_CONTEXT + "?project="+HttpUtils.encodeURL(name);
}
public String getPeerMonitorResultLink(String hostport, String projectName, String collectorName, String nodeName) {
String nodeContextPath = getNodeMonitorOutputContextPath(projectName);
return getPeerLink(hostport) + nodeContextPath + "/" + HttpUtils.specialEncode(nodeName) + "/" + HttpUtils.specialEncode(collectorName) + ".txt";
}
public String getPeerCollectorResultLink(String hostport, String projectName, String collectorName, String nodeName) {
String nodeContextPath = getNodeCollectorOutputContextPath(projectName);
return getPeerLink(hostport) + nodeContextPath + "/" + HttpUtils.specialEncode(nodeName) + "/" + HttpUtils.specialEncode(collectorName) + ".txt";
}
public String getWebServerLink() {
return "http://" + globalConfiguration.get().web_server_host() + ":" + globalConfiguration.get().web_server_port();
}
public String getNodeMonitorOutputContextPath(String projectName) {
return getNodeMonitorOutputContextPathAllProjects() + "/" + HttpUtils.encodeURL(projectName) + Constants.MONITOR_OUTPUT_CONTEXT + Constants.NODE_PATH;
}
public String getNodeCollectorOutputContextPath(String projectName) {
return getNodeMonitorOutputContextPathAllProjects() + "/" + HttpUtils.encodeURL(projectName) + Constants.COLLECTOR_OUTPUT_CONTEXT + Constants.NODE_PATH;
}
public String getNodeMonitorOutputContextPathAllProjects() {
return Constants.PROJECT_PATH;
}
public String getWebServerLandingPage() {
return getWebServerLink() + Constants.PROJECTS_LIST_CONTEXT;
}
public String getWebServerProjectAlerts(ProjectJson project) {
return getWebServerLink() + "/codeine/project/" + HttpUtils.encodeURL(project.name()) + "/status";
}
public String getWebServerMonitorStatus(String project_name, String node_name, String collector_name) {
return getWebServerLink() + "/codeine/project/" + HttpUtils.encodeURL(project_name) +
"/node/" + HttpUtils.encodeURL(node_name) + "/monitor/" + HttpUtils.encodeURL(collector_name) + "/status";
}
public String getWebServerCollectorStatus(String project_name, String node_name, String collector_name) {
return getWebServerLink() + "/codeine/project/" + HttpUtils.encodeURL(project_name) +
"/node/" + HttpUtils.encodeURL(node_name) + "/collector/" + HttpUtils.encodeURL(collector_name) + "/status";
}
}