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

import javax.ejb.Stateless;
import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;
import javax.inject.Inject;

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

import de.ivu.elect.business.wahl.boundary.WahlDAO;
import de.ivu.elect.business.wahl.entity.WahlParameterLoader;

@Stateless
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
public class NlExportArtefaktNachSystemExportstatusBulkExporterHelper {

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

  @Inject
  private transient WahlDAO wahlDAO;

  @Inject
  private transient WahlParameterLoader wahlParameterLoader;

  public NlExportArtefaktNachSystemExportstatusBulkExporterHelper() {
    super();
  }

  // ELECT-10910
  public void aktualisiereWahldaten(AbstractNlExportArtefaktNachSystemExportstatusExportContext context) {
    /*
     * ELECT-10014, Änderungen an Dokumentparametern, etc. für WahlParameterLoader/Finder sichtbar machen...
     *
     * Bei Anpassungen auch NlWahlvorschlagEmpfangsquittungDokumentGenerator#createDateiExport anpassen!
     */

    context.copyTo(wahlDAO.attach(context.getWahl()), wahlParameterLoader); // ELECT-9945

    LOG.info("Context-Parameter an Wahl und Wahlparametern aktualisiert");
  }
}
