
package de.ivu.elect.business.person.control;

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

import de.ivu.elect.business.konfiguration.entity.KonfigurationWertGeaendertEvent;

public class PersonendatenNamenNormalisiertAktualisierenKonfigurationWertGeaendertEventListener {

  @EJB // Wichtig, da mit @Inject die asynchrone Ausführung nicht funktioniert...
  private transient PersonendatenNamenNormalisiertAktualisierenBackgroundService backgroundService;

  public PersonendatenNamenNormalisiertAktualisierenKonfigurationWertGeaendertEventListener() {
    super();
  }

  public void listen(@Observes(during = TransactionPhase.AFTER_COMPLETION, notifyObserver = Reception.ALWAYS) KonfigurationWertGeaendertEvent konfigurationWertGeaendertEvent) {
    if (PersonendatenNamenNormalisiertAktualisierenBackgroundService.KONFIGURATION.equals(konfigurationWertGeaendertEvent.getKey())) {
      PersonendatenNamenNormalisiertAktualisierenBackgroundService.startIfNotRunning(backgroundService, PersonendatenNamenNormalisiertAktualisierenBackgroundService.RUNNING);
    }
  }
}
