This report shows the user a list of agents and their JAVA_HOME present on them. This report has to be used in conjunction with a report template such as the HTML Template.
Meta-Data Script:
import com.urbancode.anthill3.domain.reporting.*;
ReportMetaData rmd = new ReportMetaData();
rmd.addColumn("Agent");
rmd.addColumn("Status");
rmd.addColumn("env/JAVA_HOME");
rmd.addColumn("env/USERDOMAIN");
rmd.addColumn("env/USERNAME");
rmd.addColumn("env/COMPUTERNAME");
rmd.addColumn("sys/java.version");
rmd.addColumn("sys/os.name");
rmd.addColumn("sys/os.version");
rmd.addColumn("sys/os.arch");
return rmd;
Report Script:
import com.urbancode.anthill3.domain.agent.*;
import com.urbancode.anthill3.domain.reporting.*;
import com.urbancode.anthill3.services.agent.*;
String[] vars = new String[] { "env/JAVA_HOME", "env/USERDOMAIN", "env/USERNAME", "env/COMPUTERNAME", "sys/java.version", "sys/os.name", "sys/os.version", "sys/os.arch"};
void setColsBlank(row) {
for (var : vars) {
row.setColumnValue(var, "");
}
}
void setColsFromAgent(row, agent) {
for (var : vars) {
String value = AgentVarHelper.getAgentVar(agent, var);
value = value == null ? "<i>undefined</i>" : value;
row.setColumnValue(var, value);
}
}
ReportOutput output = new ReportOutput(metaData);
agents = AgentFactory.getInstance().restoreAll();
for (Agent agent : agents) {
ReportRow row = new ReportRow(output, String.valueOf(agent.getId()));
row.setColumnValue("Agent", agent.getName());
if (agent.isConfigured()) {
status = AgentManager.getInstance().getAgentStatus(agent);
if (status == null || !status.isOnline()) {
row.setColumnValue("Status", "OFFLINE");
setColsBlank(row);
}
else if (status.isAcceptableVersion()) {
row.setColumnValue("Status", "ONLINE");
setColsFromAgent(row, agent);
}
else {
row.setColumnValue("Status", "WRONG VERSION");
setColsFromAgent(row, agent);
}
}
else {
row.setColumnValue("Status", "NOT CONFIGURED");
setColsBlank(row);
}
output.addRow(row);
}
return output;
Related Content