
package de.ivu.elect.presentation.kandidatur.exchange;

import de.ivu.elect.business.exchange.entity.DateiImportArt;
import de.ivu.elect.business.security.UseCasePermission;
import de.ivu.elect.jee.exchange.ImportOptions;
import de.ivu.elect.presentation.exchange.ImportDescription;
import de.ivu.elect.presentation.wahlvorschlag.menu.WahlvorschlagPageMenu;

public class WahlvorschlagImportDescription implements ImportDescription {

  private static final long serialVersionUID = 1L;

  public WahlvorschlagImportDescription() {
    super();
  }

  @Override
  public boolean isSpecificPerWahlOrWahltermin() {
    return true;
  }

  @Override
  public UseCasePermission getUseCasePermission() {
    return UseCasePermission.WAHLVORSCHLAG_IMPORTIEREN;
  }

  @Override
  public DateiImportArt getDateiImportArt() {
    return DateiImportArt.WAHLVORSCHLAG_IMPORT;
  }

  @Override
  public String getImportSearchViewId() {
    return WahlvorschlagImportSearchView.VIEW_ID;
  }

  @Override
  public String getImportFormatFestlegenViewId() {
    return WahlvorschlagImportFormatFestlegenView.VIEW_ID;
  }

  @Override
  public String getImportBestaetigenViewId() {
    return WahlvorschlagImportBestaetigenView.VIEW_ID;
  }

  @Override
  public boolean isConfirmationForImportNeeded() {
    return false;
  }

  @Override
  public ImportOptions getDefaultImportOptions() {
    // u.a. ELECTMUC-983 (Hier sollen bestehende Daten NICHT gelöscht werden, weil bei der LTW2013 zwei Kandidatur-Importe vorliegen, die nacheinander importiert werden, der zweite Import enthält einige Kandidaten aus dem ersten Import nicht, die diese Kandidaturen sollen erhalten bleiben!)
    return ImportOptions.NEUE_DATEN_ANLEGEN_BESTEHENDE_DATEN_UNVERAENDERT_LASSEN;
  }

  @Override
  public String getPageMenuComponentName() {
    return WahlvorschlagPageMenu.COMPONENT_NAME;
  }
}
