Search in sources :

Example 1 with RowDef

use of org.opennms.netmgt.config.siteStatusViews.RowDef in project opennms by OpenNMS.

the class DefaultSiteStatusViewService method getNodes.

/** {@inheritDoc} */
@Override
public Collection<OnmsNode> getNodes(String statusViewName, String statusSite, String rowLabel) {
    if (statusViewName == null) {
        statusViewName = m_siteStatusViewConfigDao.getDefaultView().getName();
    }
    View view = m_siteStatusViewConfigDao.getView(statusViewName);
    RowDef rowDef = getRowDef(view, rowLabel);
    Set<OnmsCategory> categories = getCategoriesForRowDef(rowDef);
    return m_nodeDao.findAllByVarCharAssetColumnCategoryList(view.getColumnName(), statusSite, categories);
}
Also used : OnmsCategory(org.opennms.netmgt.model.OnmsCategory) RowDef(org.opennms.netmgt.config.siteStatusViews.RowDef) View(org.opennms.netmgt.config.siteStatusViews.View) AggregateStatusView(org.opennms.netmgt.model.AggregateStatusView)

Example 2 with RowDef

use of org.opennms.netmgt.config.siteStatusViews.RowDef in project opennms by OpenNMS.

the class DefaultSiteStatusViewService method getAggregateStatusDefinitionsForView.

private Set<AggregateStatusDefinition> getAggregateStatusDefinitionsForView(View view) {
    Set<AggregateStatusDefinition> statusDefs = new LinkedHashSet<AggregateStatusDefinition>();
    //Loop over the defined site status rows
    for (RowDef rowDef : view.getRows()) {
        AggregateStatusDefinition def = new AggregateStatusDefinition();
        def.setName(rowDef.getLabel());
        def.setReportCategory(rowDef.getReportCategory());
        Set<OnmsCategory> categories = getCategoriesForRowDef(rowDef);
        def.setCategories(categories);
        statusDefs.add(def);
    }
    return statusDefs;
}
Also used : LinkedHashSet(java.util.LinkedHashSet) OnmsCategory(org.opennms.netmgt.model.OnmsCategory) AggregateStatusDefinition(org.opennms.netmgt.model.AggregateStatusDefinition) RowDef(org.opennms.netmgt.config.siteStatusViews.RowDef)

Example 3 with RowDef

use of org.opennms.netmgt.config.siteStatusViews.RowDef in project opennms by OpenNMS.

the class DefaultNodeListService method addCriteriaForSiteStatusView.

private void addCriteriaForSiteStatusView(OnmsCriteria criteria, String statusViewName, String statusSite, String rowLabel) {
    View view = m_siteStatusViewConfigDao.getView(statusViewName);
    RowDef rowDef = getRowDef(view, rowLabel);
    Set<String> categoryNames = getCategoryNamesForRowDef(rowDef);
    addCriteriaForCategories(criteria, categoryNames.toArray(new String[categoryNames.size()]));
    String sql = "{alias}.nodeId in (select nodeId from assets where " + view.getColumnName() + " = ?)";
    criteria.add(Restrictions.sqlRestriction(sql, statusSite, new StringType()));
}
Also used : StringType(org.hibernate.type.StringType) RowDef(org.opennms.netmgt.config.siteStatusViews.RowDef) View(org.opennms.netmgt.config.siteStatusViews.View)

Example 4 with RowDef

use of org.opennms.netmgt.config.siteStatusViews.RowDef in project opennms by OpenNMS.

the class DefaultSiteStatusServiceTest method testCreateAggregateStatusUsingNodeId.

@Test
public void testCreateAggregateStatusUsingNodeId() {
    Collection<AggregateStatus> aggrStati;
    Collection<AggregateStatusDefinition> defs = new HashSet<AggregateStatusDefinition>();
    OnmsCategory catRouters = new OnmsCategory("routers");
    OnmsCategory catSwitches = new OnmsCategory("switches");
    AggregateStatusDefinition definition = new AggregateStatusDefinition("Routers/Switches", new HashSet<OnmsCategory>(Arrays.asList(new OnmsCategory[] { catRouters, catSwitches })));
    defs.add(definition);
    OnmsCategory catServers = new OnmsCategory("servers");
    definition = new AggregateStatusDefinition("Servers", new HashSet<OnmsCategory>(Arrays.asList(new OnmsCategory[] { catServers })));
    defs.add(definition);
    DefaultSiteStatusViewService aggregateSvc = new DefaultSiteStatusViewService();
    aggregateSvc.setNodeDao(m_nodeDao);
    aggregateSvc.setCategoryDao(m_categoryDao);
    aggregateSvc.setSiteStatusViewConfigDao(m_siteStatusViewConfigDao);
    OnmsNode node = new OnmsNode();
    node.setId(1);
    node.getAssetRecord().setBuilding("HQ");
    List<OnmsNode> nodes = new ArrayList<OnmsNode>();
    nodes.add(node);
    for (AggregateStatusDefinition def : defs) {
        expect(m_nodeDao.findAllByVarCharAssetColumnCategoryList("building", "HQ", def.getCategories())).andReturn(nodes);
    }
    for (OnmsNode n : nodes) {
        expect(m_nodeDao.load(n.getId())).andReturn(n);
    }
    replay(m_nodeDao);
    expect(m_categoryDao.findByName("switches")).andReturn(catSwitches);
    expect(m_categoryDao.findByName("routers")).andReturn(catRouters);
    expect(m_categoryDao.findByName("servers")).andReturn(catServers);
    replay(m_categoryDao);
    List<RowDef> rows = new ArrayList<>();
    RowDef rowDef = new RowDef();
    Category category = new Category();
    category.setName("servers");
    rowDef.addCategory(category);
    rows.add(rowDef);
    rowDef = new RowDef();
    category = new Category();
    category.setName("switches");
    rowDef.addCategory(category);
    category = new Category();
    category.setName("routers");
    rowDef.addCategory(category);
    rows.add(rowDef);
    View view = new View();
    view.setRows(rows);
    expect(m_siteStatusViewConfigDao.getView("building")).andReturn(view);
    replay(m_siteStatusViewConfigDao);
    aggrStati = aggregateSvc.createAggregateStatusesUsingNodeId(node.getId(), "building");
    verify(m_nodeDao);
    verify(m_categoryDao);
    verify(m_siteStatusViewConfigDao);
    assertNotNull(aggrStati);
}
Also used : OnmsNode(org.opennms.netmgt.model.OnmsNode) OnmsCategory(org.opennms.netmgt.model.OnmsCategory) Category(org.opennms.netmgt.config.siteStatusViews.Category) ArrayList(java.util.ArrayList) RowDef(org.opennms.netmgt.config.siteStatusViews.RowDef) View(org.opennms.netmgt.config.siteStatusViews.View) AggregateStatusView(org.opennms.netmgt.model.AggregateStatusView) OnmsCategory(org.opennms.netmgt.model.OnmsCategory) AggregateStatusDefinition(org.opennms.netmgt.model.AggregateStatusDefinition) AggregateStatus(org.opennms.web.svclayer.model.AggregateStatus) HashSet(java.util.HashSet) LinkedHashSet(java.util.LinkedHashSet) Test(org.junit.Test)

Aggregations

RowDef (org.opennms.netmgt.config.siteStatusViews.RowDef)4 View (org.opennms.netmgt.config.siteStatusViews.View)3 OnmsCategory (org.opennms.netmgt.model.OnmsCategory)3 LinkedHashSet (java.util.LinkedHashSet)2 AggregateStatusDefinition (org.opennms.netmgt.model.AggregateStatusDefinition)2 AggregateStatusView (org.opennms.netmgt.model.AggregateStatusView)2 ArrayList (java.util.ArrayList)1 HashSet (java.util.HashSet)1 StringType (org.hibernate.type.StringType)1 Test (org.junit.Test)1 Category (org.opennms.netmgt.config.siteStatusViews.Category)1 OnmsNode (org.opennms.netmgt.model.OnmsNode)1 AggregateStatus (org.opennms.web.svclayer.model.AggregateStatus)1