public String getEventParameter(final String name) { return this.getEventParameters().stream().filter(p -> Objects.equals(name, p.getName())).findAny().map(OnmsEventParameter::getValue).orElse(null); }
public Optional<OnmsEventParameter> findEventParameter(final String name) { return this.getEventParameters().stream().filter(p -> Objects.equals(name, p.getName())).findAny(); }
@Override public List<OnmsAlarm> getAlarmsForEventParameters(Map<String, String> eventParameters) { Stream<OnmsAlarm> stream = findAll().stream(); for (final Map.Entry<String, String> entry : eventParameters.entrySet()) { stream = stream.filter(e -> e.getEventParameters().stream().anyMatch(p -> p.getName().matches(entry.getKey().replaceAll("%", ".*")) && p.getValue().matches(entry.getValue().replace("%", ".*")))); } return stream.distinct().collect(Collectors.toList()); } }
@Override public List<OnmsAlarm> getAlarmsForEventParameters(Map<String, String> eventParameters) { Stream<OnmsAlarm> stream = findAll().stream(); for (final Map.Entry<String, String> entry : eventParameters.entrySet()) { stream = stream.filter(e -> e.getEventParameters().stream().anyMatch(p -> p.getName().matches(entry.getKey().replaceAll("%", ".*")) && p.getValue().matches(entry.getValue().replace("%", ".*")))); } return stream.distinct().collect(Collectors.toList()); } }
/** * <p>Some parameter values that you might be interested in inside this class:</p> * * <ul> * <li><code>alert.id</code>: ID of the alert in the remote Hyperic HQ system</li> * <li><code>alert.baseURL</code>: Base URL of the Hyperic HQ service that generated the alert</li> * <li><code>alert.source</code>: String key that identifies the Hyperic HQ service that generated the alert</li> * </ul> * * @param alarm The alarm to fetch parameters from * @param regex Java regex expression with a () group that will be returned * @return The matching group from the regex */ public static String getParmValueByRegex(OnmsAlarm alarm, String regex) { Pattern pattern = Pattern.compile(regex); for (final OnmsEventParameter parm : alarm.getEventParameters()) { Matcher matcher = pattern.matcher(parm.getName()); if (matcher.matches()) { return parm.getValue(); } } return null; }
@AfterMapping protected void fillAlarm(OnmsAlarm alarm, @MappingTarget AlarmDTO alarmDTO) { final List<OnmsEventParameter> eventParms = alarm.getEventParameters(); if (eventParms != null) { alarmDTO.setParameters(eventParms.stream() .map(this::eventParameterToEventParameterDTO) .collect(Collectors.toList())); } if (alarm.getTTicketId() != null && !alarm.getTTicketId().isEmpty() && ticketUrlTemplate != null) { alarmDTO.setTroubleTicketLink(getTicketUrl(alarm.getTTicketId())); } // If there are no related alarms, we do not add them to the DTO and // the field will not be serialized. if (alarm.isSituation()) { alarmDTO.setRelatedAlarms(alarm.getRelatedAlarms().stream() .map(this::alarmToAlarmSummaryDTO) .sorted(Comparator.comparing(AlarmSummaryDTO::getId)) .collect(Collectors.toList())); } }
@AfterMapping protected void fillAlarm(OnmsAlarm alarm, @MappingTarget AlarmDTO alarmDTO) { final List<OnmsEventParameter> eventParms = alarm.getEventParameters(); if (eventParms != null) { alarmDTO.setParameters(eventParms.stream() .map(this::eventParameterToEventParameterDTO) .collect(Collectors.toList())); } if (alarm.getTTicketId() != null && !alarm.getTTicketId().isEmpty() && ticketUrlTemplate != null) { alarmDTO.setTroubleTicketLink(getTicketUrl(alarm.getTTicketId())); } // If there are no related alarms, we do not add them to the DTO and // the field will not be serialized. if (alarm.isSituation()) { alarmDTO.setRelatedAlarms(alarm.getRelatedAlarms().stream() .map(this::alarmToAlarmSummaryDTO) .sorted(Comparator.comparing(AlarmSummaryDTO::getId)) .collect(Collectors.toList())); } }
if (alarm.getEventParameters() != null) { for (OnmsEventParameter parm : alarm.getEventParameters()) { m_eventParametersCollection.add(parm); m_eventParametersMap.put(parm.getName(), parm.getValue());
if (alarm.getEventParameters() != null) { for (OnmsEventParameter parm : alarm.getEventParameters()) { m_eventParametersCollection.add(parm); m_eventParametersMap.put(parm.getName(), parm.getValue());