/** * */ package org.jboss.test.faces.staging; import java.io.IOException; import javax.servlet.Servlet; import javax.servlet.ServletContext; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.jsp.JspApplicationContext; import javax.servlet.jsp.JspEngineInfo; import javax.servlet.jsp.JspFactory; import javax.servlet.jsp.PageContext; /** * Stagging implementation of the {@link JspFactory} to simulate JSP processing in the stagging server. * TODO - implement JSP functionality. * @author asmirnov * */ public class StaggingJspFactory extends JspFactory { private static final JspEngineInfo engineInfo = new JspEngineInfo() { @Override public String getSpecificationVersion() { return "2.1"; } }; private final JspApplicationContext context; public StaggingJspFactory(ServletContext servletContext) { this.context = new StaggingJspApplicationContext(servletContext); } /* * (non-Javadoc) * * @see javax.servlet.jsp.JspFactory#getEngineInfo() */ @Override public JspEngineInfo getEngineInfo() { return engineInfo; } /* * (non-Javadoc) * * @seejavax.servlet.jsp.JspFactory#getJspApplicationContext(javax.servlet. * ServletContext) */ @Override public JspApplicationContext getJspApplicationContext(ServletContext context) { return this.context; } /* * (non-Javadoc) * * @see javax.servlet.jsp.JspFactory#getPageContext(javax.servlet.Servlet, * javax.servlet.ServletRequest, javax.servlet.ServletResponse, * java.lang.String, boolean, int, boolean) */ @Override public PageContext getPageContext(final Servlet servlet, final ServletRequest request, final ServletResponse response, String errorPageURL, final boolean needsSession, int buffer, boolean autoflush) { PageContextExtension pageContextExtension = new PageContextExtension(); try { pageContextExtension.initialize(servlet, request, response, errorPageURL, needsSession, buffer, autoflush); } catch (IOException e) { throw new IllegalStateException(e); } return pageContextExtension; } /* * (non-Javadoc) * * @see * javax.servlet.jsp.JspFactory#releasePageContext(javax.servlet.jsp.PageContext * ) */ @Override public void releasePageContext(PageContext pc) { pc.release(); } }