/** * Handle the {@link AbstractAlertingDefinitionEvent}. * * @param event * the received {@link AbstractAlertingDefinitionEvent} */ private void loadedAlertingDefinitions(AbstractAlertingDefinitionEvent event) { alertingStates.clear(); for (AlertingDefinition definition : event.getAlertingDefinitions()) { alertingStates.add(new AlertingState(definition)); } }
/** * Handle the {@link AbstractAlertingDefinitionEvent}. * * @param event * the received {@link AbstractAlertingDefinitionEvent} */ private void createdAlertingDefinition(AbstractAlertingDefinitionEvent event) { alertingStates.add(new AlertingState(event.getFirst())); }
/** * {@inheritDoc} */ @Override public void onApplicationEvent(AbstractAlertingDefinitionEvent event) { if (event == null) { return; } switch (event.getType()) { case LOADED: loadedAlertingDefinitions(event); break; case ADDED: createdAlertingDefinition(event); break; case REMOVED: deletedAlertingDefinition(event); break; case UPDATE: updatedAlertingDefinition(event); break; default: break; } }
/** * Handle the {@link AbstractAlertingDefinitionEvent}. * * @param event * the received {@link AbstractAlertingDefinitionEvent} */ private void updatedAlertingDefinition(AbstractAlertingDefinitionEvent event) { Iterator<AlertingState> iterator = alertingStates.iterator(); while (iterator.hasNext()) { AlertingState state = iterator.next(); if (Objects.equals(state.getAlertingDefinition().getId(), event.getFirst().getId())) { state.setAlertingDefinition(event.getFirst()); if (null != state.getAlert()) { state.getAlert().setAlertingDefinition(event.getFirst()); } break; } } } }
/** * Handle the {@link AbstractAlertingDefinitionEvent}. * * @param event * the received {@link AbstractAlertingDefinitionEvent} */ private void deletedAlertingDefinition(AbstractAlertingDefinitionEvent event) { for (AlertingState state : alertingStates) { if (Objects.equals(state.getAlertingDefinition().getId(), event.getFirst().getId())) { if (null != state.getAlert()) { state.getAlert().close(System.currentTimeMillis(), AlertClosingReason.ALERTING_DEFINITION_DELETED); } alertingStates.remove(state); break; } } }