private Status calculateStatus(GeolocationQuery query, Set<Integer> nodeIds) { final NodeStatusCalculatorConfig nodeStatusCalculatorConfig = new NodeStatusCalculatorConfig(); nodeStatusCalculatorConfig.setIncludeAcknowledgedAlarms(query.isIncludeAcknowledgedAlarms()); nodeStatusCalculatorConfig.setLocation(query.getLocation()); if (query.getSeverity() != null) { final OnmsSeverity severity = OnmsSeverity.get(query.getSeverity().getId()); final List<OnmsSeverity> severityFilter = Arrays.stream(OnmsSeverity.values()).filter(s -> s.isGreaterThanOrEqual(severity)).collect(Collectors.toList()); nodeStatusCalculatorConfig.setSeverities(severityFilter); } nodeStatusCalculatorConfig.setCalculationStrategy(NodeStatusCalculationStrategy.None); if (query.getStatusCalculationStrategy() != null) { nodeStatusCalculatorConfig.setCalculationStrategy(NodeStatusCalculationStrategy.valueOf(query.getStatusCalculationStrategy().name())); } nodeStatusCalculatorConfig.setNodeIds(nodeIds); final Status status = nodeStatusCalculator.calculateStatus(nodeStatusCalculatorConfig); return status; }
private static GeolocationQuery toQuery(GeolocationQueryDTO queryDTO) { if (queryDTO != null) { GeolocationQuery query = new GeolocationQuery(); if (queryDTO.getSeverityFilter() != null) { query.setSeverity(getEnum(queryDTO.getSeverityFilter(), GeolocationSeverity.values())); } if (queryDTO.getStrategy() != null) { query.setStatusCalculationStrategy(getEnum(queryDTO.getStrategy(), StatusCalculationStrategy.values())); } query.setIncludeAcknowledgedAlarms(queryDTO.isIncludeAcknowledgedAlarms()); return query; } return null; }
private Status calculateStatus(GeolocationQuery query, Set<Integer> nodeIds) { final NodeStatusCalculatorConfig nodeStatusCalculatorConfig = new NodeStatusCalculatorConfig(); nodeStatusCalculatorConfig.setIncludeAcknowledgedAlarms(query.isIncludeAcknowledgedAlarms()); nodeStatusCalculatorConfig.setLocation(query.getLocation()); if (query.getSeverity() != null) { final OnmsSeverity severity = OnmsSeverity.get(query.getSeverity().getId()); final List<OnmsSeverity> severityFilter = Arrays.stream(OnmsSeverity.values()).filter(s -> s.isGreaterThanOrEqual(severity)).collect(Collectors.toList()); nodeStatusCalculatorConfig.setSeverities(severityFilter); } nodeStatusCalculatorConfig.setCalculationStrategy(NodeStatusCalculationStrategy.None); if (query.getStatusCalculationStrategy() != null) { nodeStatusCalculatorConfig.setCalculationStrategy(NodeStatusCalculationStrategy.valueOf(query.getStatusCalculationStrategy().name())); } nodeStatusCalculatorConfig.setNodeIds(nodeIds); final Status status = nodeStatusCalculator.calculateStatus(nodeStatusCalculatorConfig); return status; }