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

import javax.ejb.DependsOn;
import javax.ejb.Singleton;
import javax.ejb.TransactionManagement;
import javax.ejb.TransactionManagementType;
import javax.inject.Inject;

import de.ivu.elect.business.konfiguration.boundary.KonfigurationDAO;
import de.ivu.elect.business.konfiguration.entity.ElectKonfigurationWerte;
import de.ivu.elect.business.system.control.db.AbstractDbCleanupBackgroundService;

@Singleton
@DependsOn("DbInit")
//https://issues.jboss.org/browse/EJBTHREE-2070 (keine Transaktion)
@TransactionManagement(TransactionManagementType.BEAN)
public class PersonendatenNamenNormalisiertAktualisierenBackgroundService extends AbstractDbCleanupBackgroundService {

  public static final ElectKonfigurationWerte KONFIGURATION = PersonendatenNamenNormalisiertAktualisieren.KONFIGURATION;

  @Inject
  private transient KonfigurationDAO konfigurationDAO;

  @Inject
  private transient PersonendatenNamenNormalisiertAktualisieren personendatenNamenNormalisiertAktualisieren;

  public PersonendatenNamenNormalisiertAktualisierenBackgroundService() {
    super();
  }

  @Override
  protected boolean isSomethingToDoInternal() {
    return "true".equalsIgnoreCase(konfigurationDAO.findBySystemSchluessel(KONFIGURATION.getKey()).getWert());
  }

  @Override
  protected void doSomethingInternal() {
    personendatenNamenNormalisiertAktualisieren.updateNamenNormalisiert();
  }
}
