use of org.opennms.netmgt.bsm.persistence.api.BusinessServiceEntity in project opennms by OpenNMS.
the class BusinessServiceManagerImpl method deleteEdge.
@Override
public boolean deleteEdge(BusinessService source, Edge edge) {
BusinessServiceEdgeEntity edgeEntity = getBusinessServiceEdgeEntity(edge);
BusinessServiceEntity businessServiceEntity = getBusinessServiceEntity(source);
// does not exist, no update necessary
if (!businessServiceEntity.getEdges().contains(edgeEntity)) {
return false;
}
// remove and update
businessServiceEntity.removeEdge(edgeEntity);
return true;
}
use of org.opennms.netmgt.bsm.persistence.api.BusinessServiceEntity in project opennms by OpenNMS.
the class AbstractBusinessServiceRestServiceIT method canRemoveEdges.
@Test
public void canRemoveEdges() throws Exception {
BusinessServiceEntity child = new BusinessServiceEntityBuilder().name("Child Service").reduceFunction(new HighestSeverityEntity()).toEntity();
m_businessServiceDao.save(child);
BusinessServiceEntity parent = new BusinessServiceEntityBuilder().name("Parent Service").reduceFunction(new HighestSeverityEntity()).addIpService(monitoredServiceDao.get(17), new SetToEntity(OnmsSeverity.CRITICAL.getId())).addIpService(monitoredServiceDao.get(18), new IgnoreEntity()).addIpService(monitoredServiceDao.get(20), new IdentityEntity()).addReductionKey("abc", new IgnoreEntity()).addReductionKey("abcd", new IgnoreEntity()).addChildren(child, new IncreaseEntity()).toEntity();
final Long parentServiceId = m_businessServiceDao.save(parent);
m_businessServiceDao.flush();
// verify that test data is set up correctly
Assert.assertEquals(3, parent.getIpServiceEdges().size());
Assert.assertEquals(2, parent.getReductionKeyEdges().size());
Assert.assertEquals(1, parent.getChildEdges().size());
Assert.assertEquals(6, parent.getEdges().size());
// determine edge ids
List<Long> edgeIdList = parent.getEdges().stream().map(e -> e.getId()).sorted().collect(Collectors.toList());
// verify removing not existing ip service not possible
sendData(DELETE, getMediaType(), buildEdgeUrl(parentServiceId, -1), "", 404);
// verify removing of existing ip service is possible
for (int i = 0; i < edgeIdList.size(); i++) {
long edgeId = edgeIdList.get(i);
int edgesLeftCount = edgeIdList.size() - i - 1;
// verify removing of existing ip service is possible
sendData(DELETE, getMediaType(), buildEdgeUrl(parentServiceId, edgeId), "", 200);
Assert.assertEquals(edgesLeftCount, m_businessServiceDao.get(parentServiceId).getEdges().size());
// verify removing twice possible, but not modified
sendData(DELETE, getMediaType(), buildEdgeUrl(parentServiceId, edgeId), "", 304);
Assert.assertEquals(edgesLeftCount, m_businessServiceDao.get(parentServiceId).getEdges().size());
}
}
use of org.opennms.netmgt.bsm.persistence.api.BusinessServiceEntity in project opennms by OpenNMS.
the class AbstractBusinessServiceRestServiceIT method canRetrieveBusinessServices.
@Test
public void canRetrieveBusinessServices() throws Exception {
// Add business services to the DB
BusinessServiceEntity bs = new BusinessServiceEntityBuilder().name("Application Servers").addReductionKey("MyReductionKey", new IdentityEntity()).reduceFunction(new HighestSeverityEntity()).toEntity();
Long id = m_businessServiceDao.save(bs);
m_businessServiceDao.flush();
// Retrieve the list of business services
List<ResourceLocation> businessServices = listBusinessServices();
// Verify
Assert.assertEquals(1, businessServices.size());
BusinessServiceResponseDTO expectedResponseDTO = toResponseDto(bs);
BusinessServiceResponseDTO actualResponseDTO = getAndUnmarshal(buildServiceUrl(id), 200, BusinessServiceResponseDTO.class);
Assert.assertEquals(expectedResponseDTO, actualResponseDTO);
verifyReductionKey("MyReductionKey", actualResponseDTO);
}
use of org.opennms.netmgt.bsm.persistence.api.BusinessServiceEntity in project opennms by OpenNMS.
the class AbstractBusinessServiceRestServiceIT method verifyFriendlyName.
@Test
public void verifyFriendlyName() throws Exception {
BusinessServiceEntity entity = new BusinessServiceEntityBuilder().name("Some Custom Name").addReductionKey("My Reduction Key", new IdentityEntity(), "so friendly").reduceFunction(new HighestSeverityEntity()).toEntity();
sendData(POST, getMediaType(), "/business-services", marshal(toRequestDto(entity)), 201);
BusinessServiceResponseDTO responseDTO = verifyResponse(findEntityByName("Some Custom Name"));
Assert.assertEquals(1, responseDTO.getReductionKeys().size());
Assert.assertEquals("so friendly", responseDTO.getReductionKeys().get(0).getFriendlyName());
}
use of org.opennms.netmgt.bsm.persistence.api.BusinessServiceEntity in project opennms by OpenNMS.
the class BusinessServiceEntityBuilder method toEntity.
public BusinessServiceEntity toEntity() {
BusinessServiceEntity entity = new BusinessServiceEntity();
entity.setName(name);
entity.setId(id);
entity.setAttributes(attributes);
if (reduceFunction != null) {
entity.setReductionFunction(reduceFunction);
}
ipServices.forEach(e -> entity.addIpServiceEdge(e.value, e.mapFunction, e.weight, e.friendlyName));
children.forEach(e -> entity.addChildServiceEdge(e.value, e.mapFunction, e.weight));
reductionKeys.forEach(e -> entity.addReductionKeyEdge(e.value, e.mapFunction, e.weight, e.friendlyName));
return entity;
}
Aggregations