Search in sources :

Example 1 with Datum

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

the class DefaultStatisticsReportServiceTest method testDatumWithNonExistentResource.

@Test
public void testDatumWithNonExistentResource() {
    StatisticsReport report = new StatisticsReport();
    report.setId(1);
    StatisticsReportData datum = new StatisticsReportData();
    ResourceReference resourceRef = new ResourceReference();
    resourceRef.setId(1);
    resourceRef.setResourceId("node[1].interfaceSnmp[en0]");
    datum.setId(1);
    datum.setResource(resourceRef);
    datum.setReport(report);
    datum.setValue(0.1d);
    report.addData(datum);
    StatisticsReportCommand command = new StatisticsReportCommand();
    command.setId(report.getId());
    BindException errors = new BindException(command, "");
    expect(m_statisticsReportDao.load(report.getId())).andReturn(report);
    m_statisticsReportDao.initialize(report);
    m_statisticsReportDao.initialize(report.getData());
    expect(m_resourceDao.getResourceById(ResourceId.fromString(resourceRef.getResourceId()))).andReturn(null);
    m_mocks.replayAll();
    StatisticsReportModel model = m_service.getReport(command, errors);
    assertNotNull("model should not be null", model);
    assertNotNull("model.getData() should not be null", model.getData());
    SortedSet<Datum> data = model.getData();
    assertEquals("data size", 1, data.size());
    Datum d = data.first();
    assertNotNull("first datum should not be null", d);
    assertNull("first datum resource should be null", d.getResource());
}
Also used : Datum(org.opennms.web.svclayer.model.StatisticsReportModel.Datum) StatisticsReport(org.opennms.netmgt.model.StatisticsReport) StatisticsReportData(org.opennms.netmgt.model.StatisticsReportData) BindException(org.springframework.validation.BindException) ResourceReference(org.opennms.netmgt.model.ResourceReference) StatisticsReportCommand(org.opennms.web.svclayer.model.StatisticsReportCommand) StatisticsReportModel(org.opennms.web.svclayer.model.StatisticsReportModel) Test(org.junit.Test)

Example 2 with Datum

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

the class DefaultStatisticsReportService method getReport.

/**
 * {@inheritDoc}
 */
@Override
public StatisticsReportModel getReport(StatisticsReportCommand command, BindingResult errors) {
    StatisticsReportModel model = new StatisticsReportModel();
    model.setErrors(errors);
    if (errors.hasErrors()) {
        return model;
    }
    Assert.notNull(command.getId(), "id property on command object cannot be null");
    StatisticsReport report = m_statisticsReportDao.load(command.getId());
    model.setReport(report);
    m_statisticsReportDao.initialize(report);
    final Set<StatisticsReportData> data = report.getData();
    m_statisticsReportDao.initialize(data);
    for (StatisticsReportData reportDatum : data) {
        Datum d = new Datum();
        d.setValue(reportDatum.getValue());
        OnmsResource resource = m_resourceDao.getResourceById(ResourceId.fromString(reportDatum.getResourceId()));
        if (resource == null) {
            LOG.warn("Could not find resource for statistics report: {}", reportDatum.getResourceId());
        } else {
            d.setResource(resource);
        }
        model.addData(d);
    }
    return model;
}
Also used : Datum(org.opennms.web.svclayer.model.StatisticsReportModel.Datum) OnmsResource(org.opennms.netmgt.model.OnmsResource) StatisticsReport(org.opennms.netmgt.model.StatisticsReport) StatisticsReportData(org.opennms.netmgt.model.StatisticsReportData) StatisticsReportModel(org.opennms.web.svclayer.model.StatisticsReportModel)

Aggregations

StatisticsReport (org.opennms.netmgt.model.StatisticsReport)2 StatisticsReportData (org.opennms.netmgt.model.StatisticsReportData)2 StatisticsReportModel (org.opennms.web.svclayer.model.StatisticsReportModel)2 Datum (org.opennms.web.svclayer.model.StatisticsReportModel.Datum)2 Test (org.junit.Test)1 OnmsResource (org.opennms.netmgt.model.OnmsResource)1 ResourceReference (org.opennms.netmgt.model.ResourceReference)1 StatisticsReportCommand (org.opennms.web.svclayer.model.StatisticsReportCommand)1 BindException (org.springframework.validation.BindException)1