
package de.ivu.elect.was.exchange.ergebnis;

import java.util.Collection;
import java.util.HashSet;

import de.ivu.elect.business.security.Customer;
import de.ivu.elect.business.stimmeingabe.entity.Ergebniseingabestatus;
import de.ivu.elect.business.wahl.entity.NlWahlart;
import de.ivu.elect.business.wahl.entity.Wahl;
import de.ivu.elect.was.exchange.ergebnis.csv.AbstractNlWasOsvXxCsvNachGebietErgebniseingabestatusExportMapper;

/**
 * @deprecated ELECT-15233, Model II -> Model Na 31-2
 */
@Deprecated
public abstract class AbstractNlWasModelIIOsvXxCsvExportMapper extends AbstractNlWasOsvXxCsvNachGebietErgebniseingabestatusExportMapper implements NlWasModelIIExportMapper {

  protected AbstractNlWasModelIIOsvXxCsvExportMapper() {
    super();
  }

  @Override
  protected boolean isAcceptWahlebene(Wahl wahl, Customer customer) {
    return NlWasModelIIExportMapperHelper.isAcceptWahlebene(wahl, customer);
  }

  @Override
  protected Collection<NlWahlart> collectWahlartenAccepted() {
    Collection<NlWahlart> result = new HashSet<>(NlWasModelIIExportMapperHelper.collectWahlartenAccepted());
    result.add(NlWahlart.EERSTE_KAMER); // ELECTVAPP-1879

    return result;
  }

  @Override
  protected boolean isAcceptWahlergebniserfassung(Wahl wahl, Customer customer) {
    return NlWasModelIIExportMapperHelper.isAcceptWahlergebniserfassung(wahl, customer);
  }

  @Override
  protected Collection<Ergebniseingabestatus> collectErgebniseingabestatusAccepted() {
    return NlWasModelIIExportMapperHelper.collectErgebniseingabestatusAccepted();
  }
}
