Search in sources :

Example 1 with GraphResultSet

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;
}
Also used : PrefabGraph(org.opennms.netmgt.model.PrefabGraph) Graph(org.opennms.web.svclayer.model.Graph) PrefabGraph(org.opennms.netmgt.model.PrefabGraph) ArrayList(java.util.ArrayList) GraphResultSet(org.opennms.web.svclayer.model.GraphResults.GraphResultSet) LinkedList(java.util.LinkedList)

Aggregations

ArrayList (java.util.ArrayList)1 LinkedList (java.util.LinkedList)1 PrefabGraph (org.opennms.netmgt.model.PrefabGraph)1 Graph (org.opennms.web.svclayer.model.Graph)1 GraphResultSet (org.opennms.web.svclayer.model.GraphResults.GraphResultSet)1