Agent Java Report

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

AnthillPro Template Reports
Report Templates