package de.ivu.elect.presentation.hilfe;

import java.io.Serializable;

import javax.annotation.Nullable;
import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.inject.Named;

import org.apache.commons.lang3.StringUtils;

import de.ivu.elect.jee.faces.FacesContextUtil;

/**
 *  on 19.08.2015.
 */
@Named
@RequestScoped
public class OnlineHilfeIdFinder implements Serializable {

  public static final String COMPONENT_NAME = "onlineHilfeIdFinder";

  private static final long serialVersionUID = 1L;

  @Inject
  private transient OnlineHilfeVerfuegbar onlineHilfeVerfuegbar;

  @Inject
  private transient OnlineHilfeIdMap onlineHilfeIdMap;

  @Nullable
  public String getAktuelleHilfeId() {
    if (onlineHilfeVerfuegbar.isOnlineHilfeContextSensitivVerfuegbar() && onlineHilfeVerfuegbar.isRechtFuerOnlineHilfeVorhanden()) {
      String aktuelleViewId = FacesContextUtil.getCurrentViewId();
      if (StringUtils.isBlank(aktuelleViewId)) {
        return null;
      }
      return onlineHilfeIdMap.getHilfeIdFuerViewId(aktuelleViewId);
    }
    return null;
  }

  public String getOnlineHilfePath() {
    return onlineHilfeVerfuegbar.getOnlineHilfePath();
  }

  public boolean isHilfeIdVorhanden() {
    String aktuelleHilfeId = getAktuelleHilfeId();
    return  StringUtils.isNotBlank(aktuelleHilfeId);
  }
}
