/*
* Copyright 2013 GiavaCms.org.
*
* Licensed under the Eclipse Public License version 1.0, available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package org.giavacms.common.producer;
import java.io.Serializable;
import javax.enterprise.inject.Produces;
import javax.enterprise.inject.spi.InjectionPoint;
import javax.faces.context.FacesContext;
import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest;
import org.giavacms.common.annotation.HttpRequestParam;
import org.giavacms.common.annotation.RequestUri;
public class GeneralProducer implements Serializable
{
private static final long serialVersionUID = 1L;
@Produces
@HttpRequestParam
public String getParamValue(InjectionPoint ip)
{
ServletRequest request = (ServletRequest) FacesContext
.getCurrentInstance().getExternalContext().getRequest();
String name = ip.getAnnotated().getAnnotation(HttpRequestParam.class).value();
if (name == null || "".equals(name.trim()))
name = ip.getMember().getName();
return request.getParameter(name);
}
// @Produces
// @RequestScoped
// public FacesContext getFacesContext()
// {
// return FacesContext.getCurrentInstance();
// }
@Produces
@RequestUri
public String getRequestUri()
{
String requestURI = ((HttpServletRequest) FacesContext.getCurrentInstance()
.getExternalContext().getRequest()).getRequestURI();
return requestURI;
}
}