Search in sources :

Example 6 with AggregateStatus

use of org.opennms.web.svclayer.model.AggregateStatus in project opennms by OpenNMS.

the class DefaultSiteStatusServiceTest method testCreateAggregateStatusUsingNodeId.

@Test
public void testCreateAggregateStatusUsingNodeId() {
    Collection<AggregateStatus> aggrStati;
    Collection<AggregateStatusDefinition> defs = new HashSet<>();
    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<>();
    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)

Example 7 with AggregateStatus

use of org.opennms.web.svclayer.model.AggregateStatus in project opennms by OpenNMS.

the class DefaultSiteStatusServiceTest method testCreateAggregateStatusUsingBuilding.

@Test
public void testCreateAggregateStatusUsingBuilding() {
    Collection<AggregateStatus> aggrStati;
    Collection<AggregateStatusDefinition> defs = new HashSet<>();
    AggregateStatusDefinition definition = new AggregateStatusDefinition("Routers/Switches", new HashSet<OnmsCategory>(Arrays.asList(new OnmsCategory[] { new OnmsCategory("routers"), new OnmsCategory("switches") })));
    defs.add(definition);
    definition = new AggregateStatusDefinition("Servers", new HashSet<OnmsCategory>(Arrays.asList(new OnmsCategory[] { new OnmsCategory("servers") })));
    defs.add(definition);
    DefaultSiteStatusViewService aggregateSvc = new DefaultSiteStatusViewService();
    aggregateSvc.setNodeDao(m_nodeDao);
    OnmsNode node = new OnmsNode();
    List<OnmsNode> nodes = new ArrayList<>();
    nodes.add(node);
    for (AggregateStatusDefinition def : defs) {
        expect(m_nodeDao.findAllByVarCharAssetColumnCategoryList("building", "HQ", def.getCategories())).andReturn(nodes);
    }
    replay(m_nodeDao);
    AggregateStatusView view = new AggregateStatusView();
    view.setColumnName("building");
    view.setColumnValue("HQ");
    view.setTableName("assets");
    view.setStatusDefinitions(new LinkedHashSet<AggregateStatusDefinition>(defs));
    aggrStati = aggregateSvc.createAggregateStatusUsingAssetColumn(view);
    verify(m_nodeDao);
    assertNotNull(aggrStati);
}
Also used : OnmsNode(org.opennms.netmgt.model.OnmsNode) ArrayList(java.util.ArrayList) OnmsCategory(org.opennms.netmgt.model.OnmsCategory) AggregateStatusDefinition(org.opennms.netmgt.model.AggregateStatusDefinition) AggregateStatus(org.opennms.web.svclayer.model.AggregateStatus) AggregateStatusView(org.opennms.netmgt.model.AggregateStatusView) HashSet(java.util.HashSet) LinkedHashSet(java.util.LinkedHashSet) Test(org.junit.Test)

Example 8 with AggregateStatus

use of org.opennms.web.svclayer.model.AggregateStatus in project opennms by OpenNMS.

the class NetworkElementFactory method getNodesWithCategories.

/* (non-Javadoc)
     * @see org.opennms.web.element.NetworkElementFactoryInterface#getNodesWithCategories(java.lang.String[], boolean)
     */
@Override
public List<OnmsNode> getNodesWithCategories(String[] categories, boolean onlyNodesWithDownAggregateStatus) {
    List<OnmsNode> ourNodes = getNodesInCategories(categories);
    if (onlyNodesWithDownAggregateStatus) {
        AggregateStatus as = new AggregateStatus(new HashSet<OnmsNode>(ourNodes));
        ourNodes = as.getDownNodes();
    }
    return ourNodes;
}
Also used : OnmsNode(org.opennms.netmgt.model.OnmsNode) AggregateStatus(org.opennms.web.svclayer.model.AggregateStatus)

Aggregations

AggregateStatus (org.opennms.web.svclayer.model.AggregateStatus)8 AggregateStatusView (org.opennms.netmgt.model.AggregateStatusView)5 OnmsNode (org.opennms.netmgt.model.OnmsNode)5 ArrayList (java.util.ArrayList)4 AggregateStatusDefinition (org.opennms.netmgt.model.AggregateStatusDefinition)4 LinkedHashSet (java.util.LinkedHashSet)3 Test (org.junit.Test)3 OnmsCategory (org.opennms.netmgt.model.OnmsCategory)3 HashSet (java.util.HashSet)2 Category (org.opennms.netmgt.config.siteStatusViews.Category)1 RowDef (org.opennms.netmgt.config.siteStatusViews.RowDef)1 View (org.opennms.netmgt.config.siteStatusViews.View)1 OnmsCriteria (org.opennms.netmgt.model.OnmsCriteria)1 DataRetrievalFailureException (org.springframework.dao.DataRetrievalFailureException)1 ObjectRetrievalFailureException (org.springframework.orm.ObjectRetrievalFailureException)1 Transactional (org.springframework.transaction.annotation.Transactional)1 ModelAndView (org.springframework.web.servlet.ModelAndView)1