Subversion Repositories Integrator Subversion

Rev

Blame | Last modification | View Log | Download | RSS feed

package br.gov.al.saude.rhd.web.managebean.util;

import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Map;

import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

@Component
@ManagedBean
@Scope("view")
public class ErrorPageBeanBean {
       
        public String getStackTrace() {      
                FacesContext context = FacesContext.getCurrentInstance();    
                Map<String, Object> requestMap = context.getExternalContext().getRequestMap();
                Throwable ex = (Throwable) requestMap.get("javax.servlet.error.exception");      
                StringWriter sw = new StringWriter();    
                PrintWriter pw = new PrintWriter(sw);    
                ex.printStackTrace(pw);    
                String trace = sw.toString();      
                return trace;  
        }

        public String getMensagemErro() {      
                FacesContext context = FacesContext.getCurrentInstance();    
                Map<String, Object> requestMap = context.getExternalContext().getRequestMap();
                Throwable ex = (Throwable) requestMap.get("javax.servlet.error.exception");      
                if (ex.getMessage() != null) {
                        if (ex.getMessage().contains("br.gov.al.saude.framework.core.exception.NegocioException")) {
                                return ex.getMessage().substring(ex.getMessage().indexOf("br.gov.al.saude.framework.core.exception.NegocioException: ") + "br.gov.al.saude.framework.core.exception.NegocioException: ".length());
                        } else {
                                return ex.getMessage();
                        }
                } else {
                        return "Ocorreu um erro inesperado. Operação inválida!";
                }
        }
}