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

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

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

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

public class LokalisierungSammelnWertGeandertEventListener {

  private static final Logger LOG = LoggerFactory.getLogger(LokalisierungSammelnWertGeandertEventListener.class);

  public void listen(
      @Observes(during = TransactionPhase.AFTER_COMPLETION, notifyObserver = Reception.ALWAYS) KonfigurationWertGeaendertEvent konfigurationWertGeaendertEvent) {
    if (ElectKonfigurationWerte.ELECT_COMMON_LOKALISIERUNG_SAMMELN.equals(konfigurationWertGeaendertEvent.getKey())) {
      boolean neuerWert = Boolean.TRUE.toString().equalsIgnoreCase(konfigurationWertGeaendertEvent.getNeuerWert());
      LokalisierungStore.SCHLUESSEL_PER_REQUEST_SAMMELN_AKTIV.set(neuerWert);
      LOG.info("Sammle Lokalisierungen per Request: " + LokalisierungStore.isSchluesselPerRequestSammelnAktiv());
    }
  }
}
