
package de.ivu.elect.presentation.ergebnis.menu;

import static java.util.Arrays.asList;

import java.util.Collection;

import javax.inject.Inject;

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.presentation.ergebnis.exchange.NlWasErgebnisArtefaktNachGebietFreigabeBulkExportDescription;

public class NlWasErgebnisArtefaktNachGebietFreigabeBulkExportMenuItemEntry extends AbstractNlWasErgebnisArtefaktNachGebietErgebniseingabestatusBulkExportMenuItemEntry {

  private static final long serialVersionUID = 1L;

  @Inject
  private transient NlWasErgebnisArtefaktNachGebietFreigabeBulkExportDescription nlWasErgebnisArtefaktNachGebietFreigabeBulkExportDescription;

  public NlWasErgebnisArtefaktNachGebietFreigabeBulkExportMenuItemEntry() {
    super();
  }

  @Override
  protected Collection<Ergebniseingabestatus> getGebietErgebniseingabestatus() {
    return asList(getExportDescription().getErgebniseingabestatusExported());
  }

  @Override
  protected NlWasErgebnisArtefaktNachGebietFreigabeBulkExportDescription getExportDescription() {
    return nlWasErgebnisArtefaktNachGebietFreigabeBulkExportDescription;
  }

  @Override
  protected String getLabelMsgKey(Wahl wahl, String dateiExportName) {
    String result = "ergebnisdokument.nach.gebiet.freigabe.export.menu.item.label";

    if (NlWahlart.EERSTE_KAMER.equalsWahlart(wahl)) {
      result += ".EERSTE_KAMER"; // ELECT-13517
    }

    return result;
  }
}
