use of org.opennms.web.svclayer.model.GraphResults.GraphResultSet in project opennms by OpenNMS.
the class DefaultGraphResultsService method createGraphResultSet.
/**
* <p>createGraphResultSet</p>
*
* @param resourceId a {@link java.lang.String} object.
* @param resource a {@link org.opennms.netmgt.model.OnmsResource} object.
* @param reports an array of {@link java.lang.String} objects.
* @param graphResults a {@link org.opennms.web.svclayer.model.GraphResults} object.
* @return a {@link org.opennms.web.svclayer.model.GraphResults.GraphResultSet}
* object.
*/
private GraphResultSet createGraphResultSet(ResourceId resourceId, OnmsResource resource, String[] reports, GraphResults graphResults) throws IllegalArgumentException {
if (resource == null) {
resource = m_resourceDao.getResourceById(resourceId);
if (resource == null) {
throw new IllegalArgumentException("Could not find resource \"" + resourceId + "\"");
}
}
GraphResultSet rs = graphResults.new GraphResultSet();
rs.setResource(resource);
if (reports.length == 1 && "all".equals(reports[0])) {
PrefabGraph[] queries = m_graphDao.getPrefabGraphsForResource(resource);
List<String> queryNames = new ArrayList<String>(queries.length);
for (PrefabGraph query : queries) {
queryNames.add(query.getName());
}
reports = queryNames.toArray(new String[queryNames.size()]);
}
List<Graph> graphs = new ArrayList<Graph>(reports.length);
List<String> filesToPromote = new LinkedList<String>();
for (String report : reports) {
PrefabGraph prefabGraph = m_graphDao.getPrefabGraph(report);
Graph graph = new Graph(prefabGraph, resource, graphResults.getStart(), graphResults.getEnd());
getAttributeFiles(graph, filesToPromote);
graphs.add(graph);
}
sendEvent(filesToPromote);
/*
* Sort the graphs by their order in the properties file. PrefabGraph
* implements the Comparable interface.
*/
Collections.sort(graphs);
rs.setGraphs(graphs);
return rs;
}
Aggregations