Subversion Repositories Integrator Subversion

Rev

Rev 182 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

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();
        }

}