use of org.opennms.netmgt.bsm.service.model.BusinessService in project opennms by OpenNMS.
the class BusinessServiceRestService method update.
@PUT
@Path("{id}")
public Response update(@PathParam("id") final Long id, final BusinessServiceRequestDTO request) {
final BusinessService service = getManager().getBusinessServiceById(id);
service.setName(request.getName());
service.setAttributes(request.getAttributes());
service.setReduceFunction(transform(request.getReduceFunction()));
service.setReductionKeyEdges(Sets.newHashSet());
service.setIpServiceEdges(Sets.newHashSet());
service.setChildEdges(Sets.newHashSet());
request.getEdges().forEach(eachEdge -> eachEdge.accept(new EdgeRequestDTOVisitor() {
@Override
public void visit(IpServiceEdgeRequestDTO ipEdge) {
getManager().addIpServiceEdge(service, getManager().getIpServiceById(ipEdge.getIpServiceId()), transform(ipEdge.getMapFunction()), ipEdge.getWeight(), ipEdge.getFriendlyName());
}
@Override
public void visit(ChildEdgeRequestDTO childEdge) {
getManager().addChildEdge(service, getManager().getBusinessServiceById(childEdge.getChildId()), transform(childEdge.getMapFunction()), childEdge.getWeight());
}
@Override
public void visit(ReductionKeyEdgeRequestDTO rkEdge) {
getManager().addReductionKeyEdge(service, rkEdge.getReductionKey(), transform(rkEdge.getMapFunction()), rkEdge.getWeight(), rkEdge.getFriendlyName());
}
}));
getManager().saveBusinessService(service);
return Response.noContent().build();
}
use of org.opennms.netmgt.bsm.service.model.BusinessService in project opennms by OpenNMS.
the class BusinessServiceRestService method list.
@GET
public Response list() {
List<BusinessService> services = getManager().getAllBusinessServices();
if (services == null || services.isEmpty()) {
return Response.noContent().build();
}
BusinessServiceListDTO serviceList = new BusinessServiceListDTO(services);
return Response.ok(serviceList).build();
}
use of org.opennms.netmgt.bsm.service.model.BusinessService in project opennms by OpenNMS.
the class BusinessServiceRestService method create.
@POST
public Response create(@Context final UriInfo uriInfo, final BusinessServiceRequestDTO request) {
final BusinessService service = getManager().createBusinessService();
service.setName(request.getName());
service.setAttributes(request.getAttributes());
service.setReduceFunction(transform(request.getReduceFunction()));
request.getEdges().forEach(eachEdge -> eachEdge.accept(new EdgeRequestDTOVisitor() {
@Override
public void visit(IpServiceEdgeRequestDTO ipEdge) {
service.addIpServiceEdge(getManager().getIpServiceById(ipEdge.getIpServiceId()), transform(ipEdge.getMapFunction()), ipEdge.getWeight(), ipEdge.getFriendlyName());
}
@Override
public void visit(ChildEdgeRequestDTO childEdge) {
service.addChildEdge(getManager().getBusinessServiceById(childEdge.getChildId()), transform(childEdge.getMapFunction()), childEdge.getWeight());
}
@Override
public void visit(ReductionKeyEdgeRequestDTO rkEdge) {
service.addReductionKeyEdge(rkEdge.getReductionKey(), transform(rkEdge.getMapFunction()), rkEdge.getWeight(), rkEdge.getFriendlyName());
}
}));
getManager().saveBusinessService(service);
return Response.created(RedirectHelper.getRedirectUri(uriInfo, service.getId())).build();
}
use of org.opennms.netmgt.bsm.service.model.BusinessService in project opennms by OpenNMS.
the class BusinessServiceRestService method removeEdge.
@DELETE
@Path("{id}/edges/{edgeId}")
public Response removeEdge(@PathParam("id") final Long serviceId, @PathParam("edgeId") final Long edgeId) {
final BusinessService service = getManager().getBusinessServiceById(serviceId);
final Edge edge = getManager().getEdgeById(edgeId);
boolean changed = getManager().deleteEdge(service, edge);
if (!changed) {
return Response.notModified().build();
}
service.save();
return Response.ok().build();
}
use of org.opennms.netmgt.bsm.service.model.BusinessService in project opennms by OpenNMS.
the class BusinessServiceRestService method delete.
@DELETE
@Path("{id}")
public Response delete(@PathParam("id") Long id) {
final BusinessService service = getManager().getBusinessServiceById(id);
getManager().deleteBusinessService(service);
return Response.ok().build();
}
Aggregations