public void setSeverity(OnmsSeverity severity) { m_severity = Objects.requireNonNull(severity).getId(); }
/** * <p>getSeverityId</p> * * @return a {@link java.lang.Integer} object. */ @Transient @XmlTransient public Integer getSeverityId() { return this.m_severity.getId(); }
public String getStyle(Integer severityObject, boolean acknowledged) { int severity = severityObject == null ? OnmsSeverity.INDETERMINATE.getId() : severityObject.intValue(); final StringBuilder retVal = new StringBuilder(); if (OnmsSeverity.CLEARED.getId() == severity) { } else if (OnmsSeverity.CRITICAL.getId() == severity) { retVal.append("alarm-critical"); } else if (OnmsSeverity.INDETERMINATE.getId() == severity) { retVal.append("alarm-indeterminate"); } else if (OnmsSeverity.MAJOR.getId() == severity) { retVal.append("alarm-major"); } else if (OnmsSeverity.MINOR.getId() == severity) { retVal.append("alarm-minor"); } else if (OnmsSeverity.NORMAL.getId() == severity) { retVal.append("alarm-normal"); } else if (OnmsSeverity.WARNING.getId() == severity) { retVal.append("alarm-warning"); } if (!acknowledged) { retVal.append("-noack"); } return retVal.toString(); }
public String getStyle(Integer severityObject, boolean acknowledged) { int severity = severityObject == null ? OnmsSeverity.INDETERMINATE.getId() : severityObject.intValue(); final StringBuilder retVal = new StringBuilder(); if (OnmsSeverity.CLEARED.getId() == severity) { } else if (OnmsSeverity.CRITICAL.getId() == severity) { retVal.append("alarm-critical"); } else if (OnmsSeverity.INDETERMINATE.getId() == severity) { retVal.append("alarm-indeterminate"); } else if (OnmsSeverity.MAJOR.getId() == severity) { retVal.append("alarm-major"); } else if (OnmsSeverity.MINOR.getId() == severity) { retVal.append("alarm-minor"); } else if (OnmsSeverity.NORMAL.getId() == severity) { retVal.append("alarm-normal"); } else if (OnmsSeverity.WARNING.getId() == severity) { retVal.append("alarm-warning"); } if (!acknowledged) { retVal.append("-noack"); } return retVal.toString(); }
/** * <p>setSeverityLabel</p> * * @param label a {@link java.lang.String} object. */ public void setSeverityLabel(String label) { m_eventSeverity = OnmsSeverity.get(label).getId(); }
@Override public void nullSafeSet(final PreparedStatement st, final Object value, final int index) throws HibernateException, SQLException { if (value == null) { st.setInt(index, 1); } else if (value instanceof OnmsSeverity) { st.setInt(index,((OnmsSeverity)value).getId()); } else if (value instanceof String) { try { st.setInt(index, Integer.parseInt((String)value)); } catch (final IllegalArgumentException e) { throw new HibernateException("unable to set severity " + value, e); } } }
/** * <p>escalate</p> * * @param sev a {@link org.opennms.netmgt.model.OnmsSeverity} object. * @return a {@link org.opennms.netmgt.model.OnmsSeverity} object. */ public static OnmsSeverity escalate(final OnmsSeverity sev) { if (sev.isLessThan(OnmsSeverity.CRITICAL)) { return OnmsSeverity.get(sev.getId()+1); } else { return OnmsSeverity.get(sev.getId()); } }
protected void applyRestrictions() { sql.append("WHERE 1=1 "); if (!config.getNodeIds().isEmpty()) { sql.append(String.format("AND %s.nodeid IN (:nodeIds) ", getViewName())); parameterMap.put("nodeIds", config.getNodeIds()); } if(config.getLocation() != null) { sql.append("AND node.location = :nodeLocation "); parameterMap.put("nodeLocation", config.getLocation()); } if (config.getSeverities() != null && !config.getSeverities().isEmpty()) { sql.append(String.format("AND %s IN (:severities) ", getSeverityColumn())); parameterMap.put("severities", config.getSeverities().stream().map(s -> s.getId()).collect(Collectors.toList())); } }
protected void applyRestrictions() { sql.append("WHERE 1=1 "); if (!config.getNodeIds().isEmpty()) { sql.append(String.format("AND %s.nodeid IN (:nodeIds) ", getViewName())); parameterMap.put("nodeIds", config.getNodeIds()); } if(config.getLocation() != null) { sql.append("AND node.location = :nodeLocation "); parameterMap.put("nodeLocation", config.getLocation()); } if (config.getSeverities() != null && !config.getSeverities().isEmpty()) { sql.append(String.format("AND %s IN (:severities) ", getSeverityColumn())); parameterMap.put("severities", config.getSeverities().stream().map(s -> s.getId()).collect(Collectors.toList())); } }
private Status createIndeterminateStatus() { return new AlarmStatus(OnmsSeverity.INDETERMINATE.getId(), OnmsSeverity.INDETERMINATE.getLabel()); }
@Override public String getStyle(Table source, Object itemId, Object propertyId) { if (itemId == null || !(itemId instanceof Integer)) return ""; OnmsAlarm alarm = getAlarm(((Integer)itemId).intValue()); return alarm == null ? cellStyleRenderer.getStyle(OnmsSeverity.NORMAL.getId(), false) : cellStyleRenderer.getStyle(alarm); }
@Override public String getStyle(Table source, Object itemId, Object propertyId) { if (itemId == null || !(itemId instanceof Integer)) return ""; OnmsAlarm alarm = getAlarm(((Integer)itemId).intValue()); return alarm == null ? cellStyleRenderer.getStyle(OnmsSeverity.NORMAL.getId(), false) : cellStyleRenderer.getStyle(alarm); }
/** * {@inheritDoc} */ @Transactional @Override public int[] countMatchingAlarmsBySeverity(final OnmsCriteria criteria) { final int[] alarmCounts = new int[8]; for (final OnmsSeverity value : OnmsSeverity.values()) { alarmCounts[value.getId()] = m_alarmDao.countMatching(criteria.doClone().add(Restrictions.eq("severity", value))); } return alarmCounts; }
private Status getStatusForCriteria(CriteriaBuilder builder) { final List<OnmsAlarm> alarms = m_alarmDao.findMatching(builder.toCriteria()); if(alarms != null && alarms.size() == 1) { final OnmsAlarm alarm = alarms.get(0); final OnmsSeverity severity = alarm.getSeverity(); Status vertexStatus = new AlarmStatus(severity.getId(), severity.getLabel()); return vertexStatus; } else { return createIndeterminateStatus(); } }
@Override public List<GeolocationInfo> getLocations(GeolocationQuery query) { if (query == null) { return new ArrayList<>(); } final List<OnmsNode> nodes = getNodes(query); final List<GeolocationInfo> nodesWithCoordinates = nodes.stream() .filter(n -> geoLocation(n) != null && geoLocation(n).getLongitude() != null && geoLocation(n).getLatitude() != null) // Avoid including -inf values, just in case. See NMS-9338 .filter(n -> geoLocation(n).getLatitude() != Double.NEGATIVE_INFINITY && geoLocation(n).getLongitude() != Double.NEGATIVE_INFINITY) .map(this::convert) .collect(Collectors.toList()); if (query.getStatusCalculationStrategy() != null) { applyStatus(query, nodesWithCoordinates); } if (query.getSeverity() != null) { OnmsSeverity severity = OnmsSeverity.get(query.getSeverity().getId()); return nodesWithCoordinates.stream() .filter(n -> severity.getId() <= n.getSeverityInfo().getId()) .collect(Collectors.toList()); } return nodesWithCoordinates; }
@Override @Transactional public void escalateAlarm(OnmsAlarm alarm, Date now) { LOG.info("Escalating alarm with id: {}", alarm.getId()); final OnmsAlarm alarmInTrans = alarmDao.get(alarm.getId()); if (alarmInTrans == null) { LOG.warn("Alarm disappeared: {}. Skipping escalate.", alarm); return; } final OnmsSeverity previousSeverity = alarmInTrans.getSeverity(); alarmInTrans.setSeverity(OnmsSeverity.get(previousSeverity.getId() + 1)); updateAutomationTime(alarmInTrans, now); alarmDao.update(alarmInTrans); alarmEntityNotifier.didUpdateAlarmSeverity(alarmInTrans, previousSeverity); }
@Override @Transactional public void escalateAlarm(OnmsAlarm alarm, Date now) { LOG.info("Escalating alarm with id: {}", alarm.getId()); final OnmsAlarm alarmInTrans = alarmDao.get(alarm.getId()); if (alarmInTrans == null) { LOG.warn("Alarm disappeared: {}. Skipping escalate.", alarm); return; } final OnmsSeverity previousSeverity = alarmInTrans.getSeverity(); alarmInTrans.setSeverity(OnmsSeverity.get(previousSeverity.getId() + 1)); updateAutomationTime(alarmInTrans, now); alarmDao.update(alarmInTrans); alarmEntityNotifier.didUpdateAlarmSeverity(alarmInTrans, previousSeverity); }
private void applyStatus(GeolocationQuery query, List<GeolocationInfo> locations) { final Set<Integer> nodeIds = locations.stream().map(l -> l.getNodeInfo().getNodeId()).collect(Collectors.toSet()); if (!nodeIds.isEmpty()) { final Status status = calculateStatus(query, nodeIds); // Appliing the calculated status to each location for(GeolocationInfo info : locations) { OnmsSeverity severity = status.getSeverity(info.getNodeInfo().getNodeId()); // After the status was calculated, it is not guaranteed that status.size() == locations.size() // Therefore for all locations with no status must be set to "NORMAL" in the result if (severity == null) { severity = OnmsSeverity.NORMAL; } info.setSeverityInfo(new SeverityInfo(severity.getId(), severity.getLabel())); info.setAlarmUnackedCount(status.getUnacknowledgedAlarmCount(info.getNodeInfo().getNodeId())); } } }
private void applyStatus(GeolocationQuery query, List<GeolocationInfo> locations) { final Set<Integer> nodeIds = locations.stream().map(l -> l.getNodeInfo().getNodeId()).collect(Collectors.toSet()); if (!nodeIds.isEmpty()) { final Status status = calculateStatus(query, nodeIds); // Appliing the calculated status to each location for(GeolocationInfo info : locations) { OnmsSeverity severity = status.getSeverity(info.getNodeInfo().getNodeId()); // After the status was calculated, it is not guaranteed that status.size() == locations.size() // Therefore for all locations with no status must be set to "NORMAL" in the result if (severity == null) { severity = OnmsSeverity.NORMAL; } info.setSeverityInfo(new SeverityInfo(severity.getId(), severity.getLabel())); info.setAlarmUnackedCount(status.getUnacknowledgedAlarmCount(info.getNodeInfo().getNodeId())); } } }
public OnmsEvent buildEvent(final OnmsDistPoller distPoller) { final OnmsEvent event = new OnmsEvent(); event.setDistPoller(distPoller); event.setEventCreateTime(new Date(1437061537126L)); event.setEventDescr("This is the description of a test event."); event.setEventDisplay("Y"); event.setEventHost("127.0.0.1"); // TODO: Figure out exactly what this field is storing event.setEventLog("Y"); event.setEventLogMsg("Test Event Log Message"); event.setEventParameters(Lists.newArrayList(new OnmsEventParameter(event, "testParm", "HelloWorld", "string"))); event.setEventSeverity(OnmsSeverity.INDETERMINATE.getId()); event.setEventSource("test"); event.setEventTime(new Date(1437061537105L)); event.setEventUei("uei.opennms.org/test"); event.setIpAddr(InetAddressUtils.getInetAddress("192.168.1.1")); event.setNode(m_node1); event.setServiceType(m_serviceTypeDao.findByName("ICMP")); return event; }