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

import javax.ejb.DependsOn;
import javax.ejb.Singleton;
import javax.ejb.Startup;
import javax.inject.Inject;

import de.ivu.elect.business.konfiguration.entity.ElectKonfigurationWerte;
import de.ivu.elect.business.system.control.AbstractElectCronTimer;

/**
 *  on 13.07.2015.
 */
@Startup
@DependsOn("StartupSingleton")
@Singleton
public class StimmeingabeImportierenCronTimer extends AbstractElectCronTimer {

  @Inject
  private transient StimmeingabeImportierenEvent stimmeingabeImportierenEvent;

  @Inject
  private transient StimmeingabeImportierenCronTimerEnabled stimmeingabeImportierenCronTimerEnabled;

  public StimmeingabeImportierenCronTimer() {
    super();
  }

  @Override
  protected boolean isDisabled() {
    return !stimmeingabeImportierenCronTimerEnabled.isEnabled();
  }

  @Override
  protected ElectKonfigurationWerte getElectKonfigurationWerte() {
    return ElectKonfigurationWerte.STIMMEINGABE_IMPORT_CRONTAB;
  }

  @Override
  public String getJobName() {
    return "StimmeingabeImportieren";
  }

  @Override
  protected void timeout() {
    stimmeingabeImportierenEvent.sendChangeEvent();
  }
}
