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);
}
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;
}
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()));
}
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);
}
Aggregations