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

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import javax.enterprise.inject.Specializes;

import de.ivu.elect.business.datei.entity.DateiExport;
import de.ivu.elect.business.exchange.control.FileFormat;

@Specializes
public class NlWasExportArtefaktNachSystemExportstatusSearchExportView extends NlExportArtefaktNachSystemExportstatusSearchExportView {

  private static final long serialVersionUID = 1L;

  public NlWasExportArtefaktNachSystemExportstatusSearchExportView() {
    super();
  }

  @Override
  protected List<DateiExport> loadSearchResult() {
    Set<FileFormat> fileFormatsProcessed = new HashSet<>();

    List<DateiExport> result = new ArrayList<>(super.loadSearchResult());
    result.removeIf(dateiExport -> dateiExport == null || dateiExport.getDatei() == null || !fileFormatsProcessed.add(dateiExport.getDatei().getFileFormat())); // ELECTVAPP-795

    return result;
  }
}
