package br.com.ec.web.util;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
public class URLUtils
{
private static final String IH_COMERCIAL =
"&";
private static final String IGUAL =
"=";
private static final String OBJETO =
"objeto";
public static String montarUrlDeCallBackIhAdicionarNaUrl
(String urlOriginal
) {
FacesContext context = getContext
();
return new StringBuilder(urlOriginal
)
.
append("urlCallBack")
.
append(IGUAL
)
.
append(context.
getExternalContext().
getRequestScheme())
.
append("://")
.
append(context.
getExternalContext().
getRequestServerName())
.
append(":")
.
append(context.
getExternalContext().
getRequestServerPort())
.
append(context.
getExternalContext().
getRequestContextPath())
.
append(context.
getExternalContext().
getRequestServletPath())
.
toString();
}
public static String montarUrlDeCallBackPassandoIdentificadorPessoaParaAlterar
(String urlOriginal,
Long idPessoa
) {
String urlDeCallBack = montarUrlDeCallBackIhAdicionarNaUrl
(urlOriginal
);
return new StringBuilder(urlDeCallBack
)
.
append(IH_COMERCIAL
)
.
append("idPessoa")
.
append(IGUAL
)
.
append(idPessoa
)
.
toString();
}
public static void armazenarObjetoNaSessao
(Object objeto
) {
HttpServletRequest request =
(HttpServletRequest
) getContext
().
getExternalContext().
getRequest();
HttpSession session = request.
getSession();
session.
setAttribute(OBJETO, objeto
);
}
public static void armazenarObjetoComNomeNaSessao
(String nomeObjeto,
Object objeto
) {
HttpServletRequest request =
(HttpServletRequest
) getContext
().
getExternalContext().
getRequest();
HttpSession session = request.
getSession();
session.
setAttribute(nomeObjeto, objeto
);
}
public static Object recuperarObjetoComNomeNaSessao
(String nomeObjeto
) {
HttpServletRequest request =
(HttpServletRequest
) getContext
().
getExternalContext().
getRequest();
HttpSession session = request.
getSession();
return session.
getAttribute(nomeObjeto
);
}
public static Object recuperarObjetoNaSessao
() {
HttpServletRequest request =
(HttpServletRequest
) getContext
().
getExternalContext().
getRequest();
HttpSession session = request.
getSession();
return session.
getAttribute(OBJETO
);
}
public static void limparObjetoDaSessao
() {
limparObjetoDaSessaoPeloNome
(OBJETO
);
}
public static void limparObjetoDaSessaoPeloNome
(String nome
) {
HttpServletRequest request =
(HttpServletRequest
) getContext
().
getExternalContext().
getRequest();
HttpSession session = request.
getSession();
session.
setAttribute(nome,
null);
}
private static FacesContext getContext
() {
return FacesContext.
getCurrentInstance();
}
}