@Override public void acknowledgeAlarm(String ackUser, Date ackTime, Function<OnmsAlarm, Boolean> filter) { m_transactionTemplate.execute((t) -> { final List<OnmsAlarm> alarms = m_alarmDao.findAll().stream() .filter(filter::apply) .collect(Collectors.toList()); alarms.forEach(a -> { m_alarmService.acknowledgeAlarm(a, ackTime); }); return null; }); }
@Override public void unacknowledgeAlarm(String ackUser, Date ackTime, Function<OnmsAlarm, Boolean> filter) { m_transactionTemplate.execute((t) -> { final List<OnmsAlarm> alarms = m_alarmDao.findAll().stream() .filter(filter::apply) .collect(Collectors.toList()); alarms.forEach(a -> { m_alarmService.unacknowledgeAlarm(a, ackTime); }); return null; }); }
@Override public List<Alarm> getAlarms() { return sessionUtils.withReadOnlyTransaction(() -> alarmDao.findAll().stream().map(ModelMappers::toAlarm).collect(Collectors.toList())); } }
@Override protected void doInTransactionWithoutResult(TransactionStatus status) { final List<OnmsAlarm> allAlarms = alarmDao.findAll(); numAlarms.set(allAlarms.size()); // Save the timestamp after the load, so we can differentiate between how long it took // to load the alarms and how long it took to invoke the callbacks systemMillisAfterLoad.set(System.currentTimeMillis()); forEachListener(l -> { LOG.debug("Calling handleAlarmSnapshot on listener: {}", l); l.handleAlarmSnapshot(allAlarms); LOG.debug("Done calling listener."); }); } });
@Override protected void doInTransactionWithoutResult(TransactionStatus status) { final List<OnmsAlarm> allAlarms = alarmDao.findAll(); numAlarms.set(allAlarms.size()); // Save the timestamp after the load, so we can differentiate between how long it took // to load the alarms and how long it took to invoke the callbacks systemMillisAfterLoad.set(System.currentTimeMillis()); forEachListener(l -> { LOG.debug("Calling handleAlarmSnapshot on listener: {}", l); l.handleAlarmSnapshot(allAlarms); LOG.debug("Done calling listener."); }); } });
@Override public Map<String, AlarmWrapper> lookup(Set<String> reductionKeys) { if (reductionKeys == null || reductionKeys.isEmpty()) { return new HashMap<>(); } if (reductionKeys.size() <= threshold) { List<OnmsAlarm> alarms = alarmDao.findMatching(new CriteriaBuilder(OnmsAlarm.class).in("reductionKey", reductionKeys).toCriteria()); return alarms.stream().collect(Collectors.toMap(OnmsAlarm::getReductionKey, AlarmWrapperImpl::new)); } else { return alarmDao.findAll().stream() .filter(a -> reductionKeys.contains(a.getReductionKey())) .collect(Collectors.toMap(OnmsAlarm::getReductionKey, AlarmWrapperImpl::new)); } }
private void tickAtRateUntil(long tickLength, long start, long end) { // Now keep tick'ing at an accelerated rate for another week for (long now = start; now <= end; now += tickLength) { // Tick m_droolsAlarmContext.getClock().advanceTime(tickLength, TimeUnit.MILLISECONDS); m_droolsAlarmContext.tick(); results.addAlarms(now + tickLength, m_transactionTemplate.execute((t) -> { final List<OnmsAlarm> alarms = m_alarmDao.findAll(); alarms.forEach(a -> { Hibernate.initialize(a.getAssociatedAlarms()); }); return alarms; })); } }
@Override public void doInTransactionWithoutResult(final TransactionStatus status) { Map<String, OnmsAlarm> forwardAlarms = new HashMap<String, OnmsAlarm>(); for (OnmsAlarm alarm : alarmDao.findAll()) {
final List<OnmsAlarm> alarmsInDb = alarmDao.findAll(); System.out.println("Performing synchronization of alarms from the database with those in the ktable."); final long start = System.currentTimeMillis();
final List<OnmsAlarm> alarmsInDb = alarmDao.findAll(); System.out.println("Performing synchronization of alarms from the database with those in the ktable."); final long start = System.currentTimeMillis();
m_droolsAlarmContext.tick(); results.addAlarms(now, m_transactionTemplate.execute((t) -> { final List<OnmsAlarm> alarms = m_alarmDao.findAll(); alarms.forEach(a -> { Hibernate.initialize(a.getAssociatedAlarms());
m_notificationDao.delete(not); for (final OnmsAlarm alarm : m_alarmDao.findAll()) { m_alarmDao.delete(alarm);