
package de.ivu.elect.business.stimmeingabe.control.sequenznummer;

import javax.ejb.EJB;
import javax.enterprise.event.Observes;
import javax.enterprise.event.Reception;
import javax.enterprise.event.TransactionPhase;

import de.ivu.elect.business.stimmeingabe.boundary.ErgebniseingangCreateEvent;

public class ErgebnissequenznummerSetzenEventListener {

  // wichtig, da mit @Inject die asynchrone Ausführung nicht funktioniert
  @EJB
  ErgebnissequenznummerSetzenBackgroundService service;

  private void startErgebnissequenznummerSetzenBackgroundService() {
    ErgebnissequenznummerSetzenBackgroundService
        .startIfNotRunning(service, ErgebnissequenznummerSetzenBackgroundService.RUNNING);
  }

  public void listen(
      @Observes(during = TransactionPhase.AFTER_SUCCESS, notifyObserver = Reception.ALWAYS) ErgebnissequenznummerSetzenEvent event) {
    startErgebnissequenznummerSetzenBackgroundService();
  }

  public void listen(
      @Observes(during = TransactionPhase.AFTER_SUCCESS, notifyObserver = Reception.ALWAYS) ErgebniseingangCreateEvent event) {
    /* if ELECTKOM-547 (event.getEntity().isGueltig()) { */
      startErgebnissequenznummerSetzenBackgroundService();
    /* } */
  }
}
