
package de.ivu.elect.presentation.dokumente.action;

import javax.annotation.Nonnull;
import javax.inject.Inject;

import de.ivu.elect.business.dokumente.control.BaseOpenOfficeKonfigurationFactory;
import de.ivu.elect.presentation.dokumente.exchange.DokumentBulkExportSearchEntry;

public abstract class AbstractDokumentBulkExportSearchEntryExportKonvertiertAction extends AbstractDokumentBulkExportSearchEntryExportAction {

  private static final long serialVersionUID = 1L;

  @Inject
  private transient BaseOpenOfficeKonfigurationFactory openOfficeDokumentKonfiguration;

  protected AbstractDokumentBulkExportSearchEntryExportKonvertiertAction() {
    super();
  }

  @Override
  protected boolean isDisabledInternal(@Nonnull DokumentBulkExportSearchEntry dokumentBulkExportSearchEntry) {
    return super.isDisabledInternal(dokumentBulkExportSearchEntry) || !isFinaleKonvertierungMoeglich(dokumentBulkExportSearchEntry);
  }

  private boolean isFinaleKonvertierungMoeglich(DokumentBulkExportSearchEntry dokumentBulkExportSearchEntry) {
    return dokumentBulkExportSearchEntry.isSupportsFinaleKonvertierung(getFinaleKonvertierung()) && openOfficeDokumentKonfiguration.isOpenOfficeVerfuegbar();
  }
}
