org.ajax4jsf.framework.resource.FacesResourceContext Maven / Gradle / Ivy
/**
* Licensed under the Common Development and Distribution License,
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.sun.com/cddl/
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package org.ajax4jsf.framework.resource;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author [email protected] (latest modification by $Author: alexsmirnov $)
* @version $Revision: 1.6 $ $Date: 2006/10/18 10:54:23 $
*
*/
public class FacesResourceContext extends ResourceContext {
FacesContext facesContext;
ExternalContext externalContext;
HttpServletResponse response;
/**
* @param facesContext
*/
public FacesResourceContext(FacesContext facesContext) {
this.facesContext = facesContext;
this.externalContext = facesContext.getExternalContext();
this.response = (HttpServletResponse) externalContext.getResponse();
}
/* (non-Javadoc)
* @see org.ajax4jsf.framework.resource.ResourceContext#setHeader(java.lang.String, java.lang.String)
*/
public void setHeader(String name, String value) {
response.setHeader(name,value);
}
/* (non-Javadoc)
* @see org.ajax4jsf.framework.resource.ResourceContext#setIntHeader(java.lang.String, int)
*/
public void setIntHeader(String name, int value) {
response.setIntHeader(name,value);
}
/* (non-Javadoc)
* @see org.ajax4jsf.framework.resource.ResourceContext#setDateHeader(java.lang.String, long)
*/
public void setDateHeader(String name, long value) {
response.setDateHeader(name,value);
}
/* (non-Javadoc)
* @see org.ajax4jsf.framework.resource.ResourceContext#getOutputStream()
*/
public OutputStream getOutputStream() throws IOException {
return response.getOutputStream();
}
/* (non-Javadoc)
* @see org.ajax4jsf.framework.resource.ResourceContext#getWriter()
*/
public PrintWriter getWriter() throws IOException {
// TODO Auto-generated method stub
return response.getWriter();
}
/* (non-Javadoc)
* @see org.ajax4jsf.framework.resource.ResourceContext#getQueryString()
*/
public String getQueryString() {
return ((HttpServletRequest) externalContext.getRequest()).getQueryString();
}
/* (non-Javadoc)
* @see org.ajax4jsf.framework.resource.ResourceContext#getPathInfo()
*/
public String getPathInfo() {
return externalContext.getRequestPathInfo();
}
/* (non-Javadoc)
* @see org.ajax4jsf.framework.resource.ResourceContext#getSessionAttribute(java.lang.String)
*/
public Object getSessionAttribute(String name) {
return externalContext.getSessionMap().get(name);
}
public InputStream getResourceAsStream(String path) {
return externalContext.getResourceAsStream(path);
}
public String getRequestParameter(String data_parameter) {
return (String) externalContext.getRequestParameterMap().get(data_parameter);
}
public void setContentType(String contentType) {
response.setContentType(contentType);
}
public String getInitParameter(String name) {
// TODO Auto-generated method stub
return externalContext.getInitParameter(name);
}
public String getServletPath() {
// TODO Auto-generated method stub
return externalContext.getRequestServletPath();
}
public void release() {
super.release();
externalContext = null;
response = null;
facesContext.release();
}
}