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

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

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

public class DateiImportVorschauAction extends AbstractDateiImportAction {

  private static final long serialVersionUID = 1L;

  @Inject
  private transient DateiConversationSelect dateiSelect;

  @Inject
  private transient ImportDescriptionSelect importDescriptionSelect;

  @Inject
  private transient DateiVorschauContextSelect dateiVorschauContextSelect;

  @Override
  public boolean isDisabledInternal(@Nonnull DateiImport entity) {
    return entity == null || !entity.isVorschauMoeglich();
  }

  @Override
  protected String doIt(DateiImport entity) {
    dateiVorschauContextSelect.setLastViewId(importDescriptionSelect.getImportSearchViewId());
    dateiVorschauContextSelect.setPageMenuComponentName(importDescriptionSelect.getPageMenuComponentName());

    dateiSelect.setEntity(entity.getDatei());

    return DateiVorschauView.VIEW_ID;
  }

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

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