Package org.jboss.portletbridge.context

Source Code of org.jboss.portletbridge.context.InitFacesContext

/**
*
*/
package org.jboss.portletbridge.context;

import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;

import javax.el.ELContext;
import javax.el.ELContextEvent;
import javax.el.ELContextListener;
import javax.faces.application.Application;
import javax.faces.application.FacesMessage;
import javax.faces.application.FacesMessage.Severity;
import javax.faces.component.UIViewRoot;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseStream;
import javax.faces.context.ResponseWriter;
import javax.faces.render.RenderKit;
import javax.portlet.PortletContext;

import org.jboss.portletbridge.el.ELContextImpl;

/**
* @author asmirnov
*
*/
public class InitFacesContext extends FacesContext {
 
  private final Application application;
 
  private final PortletContext portletContext;
 
  private final FacesContext originalContext;
 
  private ExternalContext externalContext;
 
  private UIViewRoot viewRoot;

  private ELContext elContext;

  /**
   * @param application
   * @param portletContext
   */
  public InitFacesContext(Application application,
      PortletContext portletContext) {
    originalContext = FacesContext.getCurrentInstance();
    setCurrentInstance(this);
    this.application = application;
    this.portletContext = portletContext;
    viewRoot = new UIViewRoot();
    viewRoot.setLocale(Locale.getDefault());
  }


  /* (non-Javadoc)
   * @see javax.faces.context.FacesContext#addMessage(java.lang.String, javax.faces.application.FacesMessage)
   */
  @Override
  public void addMessage(String clientId, FacesMessage message) {
  }

  /* (non-Javadoc)
   * @see javax.faces.context.FacesContext#getApplication()
   */
  @Override
  public Application getApplication() {
    return application;
  }

  /* (non-Javadoc)
   * @see javax.faces.context.FacesContext#getClientIdsWithMessages()
   */
  @Override
  public Iterator<String> getClientIdsWithMessages() {
        List<String> list = Collections.emptyList();
        return list.iterator();
  }

  @Override
  public ELContext getELContext() {
        if (this.elContext == null) {
            Application application = getApplication();
            this.elContext = new ELContextImpl(application.getELResolver());
            this.elContext.putContext(FacesContext.class, this);
         }
         return this.elContext;
  }
 
  /* (non-Javadoc)
   * @see javax.faces.context.FacesContext#getExternalContext()
   */
  @Override
  public ExternalContext getExternalContext() {
    return externalContext;
  }

  /* (non-Javadoc)
   * @see javax.faces.context.FacesContext#getMaximumSeverity()
   */
  @Override
  public Severity getMaximumSeverity() {
    return null;
  }

  /* (non-Javadoc)
   * @see javax.faces.context.FacesContext#getMessages()
   */
  @Override
  public Iterator<FacesMessage> getMessages() {
        List<FacesMessage> list = Collections.emptyList();
        return list.iterator();
  }

  /* (non-Javadoc)
   * @see javax.faces.context.FacesContext#getMessages(java.lang.String)
   */
  @Override
  public Iterator<FacesMessage> getMessages(String clientId) {
        List<FacesMessage> list = Collections.emptyList();
        return list.iterator();
  }

  /* (non-Javadoc)
   * @see javax.faces.context.FacesContext#getRenderKit()
   */
  @Override
  public RenderKit getRenderKit() {
    return null;
  }

  /* (non-Javadoc)
   * @see javax.faces.context.FacesContext#getRenderResponse()
   */
  @Override
  public boolean getRenderResponse() {
    return false;
  }

  /* (non-Javadoc)
   * @see javax.faces.context.FacesContext#getResponseComplete()
   */
  @Override
  public boolean getResponseComplete() {
    return false;
  }

  /* (non-Javadoc)
   * @see javax.faces.context.FacesContext#getResponseStream()
   */
  @Override
  public ResponseStream getResponseStream() {
    return null;
  }

  /* (non-Javadoc)
   * @see javax.faces.context.FacesContext#getResponseWriter()
   */
  @Override
  public ResponseWriter getResponseWriter() {
    return null;
  }

  /* (non-Javadoc)
   * @see javax.faces.context.FacesContext#getViewRoot()
   */
  @Override
  public UIViewRoot getViewRoot() {
    return viewRoot;
  }

  /* (non-Javadoc)
   * @see javax.faces.context.FacesContext#release()
   */
  @Override
  public void release() {
    setCurrentInstance(originalContext);

  }

  /* (non-Javadoc)
   * @see javax.faces.context.FacesContext#renderResponse()
   */
  @Override
  public void renderResponse() {
  }

  /* (non-Javadoc)
   * @see javax.faces.context.FacesContext#responseComplete()
   */
  @Override
  public void responseComplete() {
  }

  /* (non-Javadoc)
   * @see javax.faces.context.FacesContext#setResponseStream(javax.faces.context.ResponseStream)
   */
  @Override
  public void setResponseStream(ResponseStream responseStream) {
  }

  /* (non-Javadoc)
   * @see javax.faces.context.FacesContext#setResponseWriter(javax.faces.context.ResponseWriter)
   */
  @Override
  public void setResponseWriter(ResponseWriter responseWriter) {
  }

  /* (non-Javadoc)
   * @see javax.faces.context.FacesContext#setViewRoot(javax.faces.component.UIViewRoot)
   */
  @Override
  public void setViewRoot(UIViewRoot root) {
    viewRoot = root;
  }

}
TOP

Related Classes of org.jboss.portletbridge.context.InitFacesContext

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.