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

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

import de.ivu.elect.business.datei.boundary.DateiConversationSelect;
import de.ivu.elect.business.datei.entity.DateiExport;
import de.ivu.elect.presentation.exchange.DateiVorschauContextSelect;
import de.ivu.elect.presentation.exchange.DateiVorschauView;

@Named(DateiExportVorschauAction.COMPONENT_NAME)
public class DateiExportVorschauAction extends AbstractDateiExportAction {

  private static final long serialVersionUID = 1L;

  public static final String COMPONENT_NAME = "dateiExportVorschauAction";

  @Inject
  private transient DateiConversationSelect dateiConversationSelect;

  @Inject
  private transient DateiVorschauContextSelect dateiVorschauContextSelect;

  public DateiExportVorschauAction() {
    super();
  }

  @Override
  public boolean isDisabledInternal(@Nonnull DateiExport dateiExport) {
    return dateiExport.getDatei() == null || !dateiExport.getDatei().getFileType().isVorschauMoeglich();
  }

  @Override
  protected String doIt(DateiExport dateiExport) {
    dateiVorschauContextSelect.setLastViewId(exportDescriptionSelect.getExportSearchViewId());
    dateiVorschauContextSelect.setPageMenuComponentName(exportDescriptionSelect.getPageMenuComponentName());

    dateiConversationSelect.setEntity(dateiExport.getDatei());

    return DateiVorschauView.VIEW_ID;
  }

  @Override
  public String getLabelKey() {
    return "datei.import.edit.action.vorschau";
  }

  @Override
  public String getIcon() {
    return appIcons.getIconSearch();
  }
}
