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

import javax.annotation.PostConstruct;
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 17.11.2015.
 */
@Startup
@DependsOn("StartupSingleton")
@Singleton
public class ProtokollBereinigungCronTimer extends AbstractElectCronTimer {

  @Inject
  private transient ProtokollBereinigungEvent event;

  @Inject
  private transient ProtokollBereinigungBackgroundService  protokollBereinigungBackgroundService;

  public ProtokollBereinigungCronTimer() {
    super();
  }

  @PostConstruct
  public void init(){
    protokollBereinigungBackgroundService.getSystemLogQuelle(); // ELECTMUC-2701
  }

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

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

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