Search in sources :

Example 1 with Status

use of org.opennms.netmgt.bsm.service.model.Status in project opennms by OpenNMS.

the class BusinessServicesTableCellStyleGenerator method getStyle.

@Override
public String getStyle(Table source, Object itemId, Object propertyId) {
    if (propertyId == null) {
        Long serviceId = (Long) itemId;
        try {
            BusinessService businessService = businessServiceManager.getBusinessServiceById(serviceId);
            Status status = businessService.getOperationalStatus();
            return String.format("alarm-%s", status.name().toLowerCase());
        } catch (NoSuchElementException nse) {
            return null;
        }
    }
    return null;
}
Also used : Status(org.opennms.netmgt.bsm.service.model.Status) BusinessService(org.opennms.netmgt.bsm.service.model.BusinessService) NoSuchElementException(java.util.NoSuchElementException)

Example 2 with Status

use of org.opennms.netmgt.bsm.service.model.Status in project opennms by OpenNMS.

the class BusinessServiceEdgeStatusInfoPanelItemProvider method createComponent.

private Component createComponent(BusinessServiceEdge ref, GraphContainer container) {
    FormLayout formLayout = new FormLayout();
    formLayout.setMargin(false);
    formLayout.setSpacing(false);
    formLayout.addStyleName("severity");
    final BusinessServiceStateMachine stateMachine = SimulationAwareStateMachineFactory.createStateMachine(businessServiceManager, container.getCriteria());
    final Status outgoingStatus = BusinessServicesStatusProvider.getStatus(stateMachine, ref);
    final Status incomingStatus = BusinessServicesStatusProvider.getStatus(stateMachine, ((AbstractBusinessServiceVertex) ref.getTarget().getVertex()));
    formLayout.addComponent(createStatusLabel("Outgoing Severity", outgoingStatus));
    formLayout.addComponent(createStatusLabel("Incoming Severity", incomingStatus));
    return formLayout;
}
Also used : FormLayout(com.vaadin.ui.FormLayout) Status(org.opennms.netmgt.bsm.service.model.Status) BusinessServiceStateMachine(org.opennms.netmgt.bsm.service.BusinessServiceStateMachine) AbstractBusinessServiceVertex(org.opennms.features.topology.plugins.topo.bsm.AbstractBusinessServiceVertex)

Example 3 with Status

use of org.opennms.netmgt.bsm.service.model.Status in project opennms by OpenNMS.

the class BSMDashlet method createRow.

private HorizontalLayout createRow(BusinessService service) {
    HorizontalLayout rowLayout = new HorizontalLayout();
    rowLayout.setSizeFull();
    rowLayout.setSpacing(true);
    final Status severity = m_businessServiceManager.getOperationalStatus(service);
    Label nameLabel = new Label(service.getName());
    nameLabel.setSizeFull();
    nameLabel.setStyleName("h3");
    nameLabel.addStyleName("bright");
    nameLabel.addStyleName("severity");
    nameLabel.addStyleName(severity.getLabel());
    rowLayout.addComponent(nameLabel);
    return rowLayout;
}
Also used : Status(org.opennms.netmgt.bsm.service.model.Status) Label(com.vaadin.ui.Label) HorizontalLayout(com.vaadin.ui.HorizontalLayout)

Example 4 with Status

use of org.opennms.netmgt.bsm.service.model.Status in project opennms by OpenNMS.

the class DefaultBusinessServiceStateMachine method reduceUpdateAndPropagateVertex.

private void reduceUpdateAndPropagateVertex(BusinessServiceGraph graph, GraphVertex vertex) {
    if (vertex == null) {
        // Nothing to do here
        return;
    }
    // Calculate the weighed statuses from the child edges
    List<StatusWithIndex> statuses = weighEdges(graph.getOutEdges(vertex));
    // Reduce
    Optional<StatusWithIndices> reducedStatus = vertex.getReductionFunction().reduce(statuses);
    Status newStatus;
    if (reducedStatus.isPresent()) {
        newStatus = reducedStatus.get().getStatus();
    } else {
        newStatus = MIN_SEVERITY;
    }
    // Update and propagate
    updateAndPropagateVertex(graph, vertex, newStatus);
}
Also used : StatusWithIndex(org.opennms.netmgt.bsm.service.model.StatusWithIndex) Status(org.opennms.netmgt.bsm.service.model.Status) StatusWithIndices(org.opennms.netmgt.bsm.service.model.StatusWithIndices)

Example 5 with Status

use of org.opennms.netmgt.bsm.service.model.Status in project opennms by OpenNMS.

the class BusinessServiceEdgeEditWindow method getMapFunction.

@SuppressWarnings("unchecked")
private MapFunction getMapFunction() {
    try {
        final MapFunction mapFunction = ((Class<? extends MapFunction>) m_mapFunctionSelect.getValue()).newInstance();
        mapFunction.accept(new MapFunctionVisitor<Void>() {

            @Override
            public Void visit(Decrease decrease) {
                return null;
            }

            @Override
            public Void visit(Identity identity) {
                return null;
            }

            @Override
            public Void visit(Ignore ignore) {
                return null;
            }

            @Override
            public Void visit(Increase increase) {
                return null;
            }

            @Override
            public Void visit(SetTo setTo) {
                setTo.setStatus((Status) m_mapFunctionSeveritySelect.getValue());
                return null;
            }
        });
        return mapFunction;
    } catch (final InstantiationException | IllegalAccessException e) {
        throw Throwables.propagate(e);
    }
}
Also used : Status(org.opennms.netmgt.bsm.service.model.Status) Ignore(org.opennms.netmgt.bsm.service.model.functions.map.Ignore) Increase(org.opennms.netmgt.bsm.service.model.functions.map.Increase) MapFunction(org.opennms.netmgt.bsm.service.model.functions.map.MapFunction) Decrease(org.opennms.netmgt.bsm.service.model.functions.map.Decrease) Identity(org.opennms.netmgt.bsm.service.model.functions.map.Identity) SetTo(org.opennms.netmgt.bsm.service.model.functions.map.SetTo)

Aggregations

Status (org.opennms.netmgt.bsm.service.model.Status)17 BusinessServiceStateMachine (org.opennms.netmgt.bsm.service.BusinessServiceStateMachine)5 Collectors (java.util.stream.Collectors)4 AlarmWrapper (org.opennms.netmgt.bsm.service.model.AlarmWrapper)4 BusinessService (org.opennms.netmgt.bsm.service.model.BusinessService)4 StatusWithIndex (org.opennms.netmgt.bsm.service.model.StatusWithIndex)4 StatusWithIndices (org.opennms.netmgt.bsm.service.model.StatusWithIndices)4 GraphVertex (org.opennms.netmgt.bsm.service.model.graph.GraphVertex)4 FormLayout (com.vaadin.ui.FormLayout)3 List (java.util.List)3 Edge (org.opennms.netmgt.bsm.service.model.edge.Edge)3 BusinessServiceGraph (org.opennms.netmgt.bsm.service.model.graph.BusinessServiceGraph)3 GraphEdge (org.opennms.netmgt.bsm.service.model.graph.GraphEdge)3 Label (com.vaadin.ui.Label)2 HashMap (java.util.HashMap)2 LinkedHashMap (java.util.LinkedHashMap)2 Map (java.util.Map)2 Entry (java.util.Map.Entry)2 Objects (java.util.Objects)2 Optional (java.util.Optional)2