Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 espaco 1
package br.gov.al.saude.rhd.web.managebean.util;
2
 
3
import java.io.PrintWriter;
4
import java.io.StringWriter;
5
import java.util.Map;
6
 
7
import javax.faces.bean.ManagedBean;
8
import javax.faces.context.FacesContext;
9
 
10
import org.springframework.context.annotation.Scope;
11
import org.springframework.stereotype.Component;
12
 
13
@Component
14
@ManagedBean
15
@Scope("view")
16
public class ErrorPageBeanBean {
17
 
18
        public String getStackTrace() {      
19
                FacesContext context = FacesContext.getCurrentInstance();    
20
                Map<String, Object> requestMap = context.getExternalContext().getRequestMap();
21
                Throwable ex = (Throwable) requestMap.get("javax.servlet.error.exception");      
22
                StringWriter sw = new StringWriter();    
23
                PrintWriter pw = new PrintWriter(sw);    
24
                ex.printStackTrace(pw);    
25
                String trace = sw.toString();      
26
                return trace;  
27
        }
28
 
29
        public String getMensagemErro() {      
30
                FacesContext context = FacesContext.getCurrentInstance();    
31
                Map<String, Object> requestMap = context.getExternalContext().getRequestMap();
32
                Throwable ex = (Throwable) requestMap.get("javax.servlet.error.exception");      
33
                if (ex.getMessage() != null) {
34
                        if (ex.getMessage().contains("br.gov.al.saude.framework.core.exception.NegocioException")) {
35
                                return ex.getMessage().substring(ex.getMessage().indexOf("br.gov.al.saude.framework.core.exception.NegocioException: ") + "br.gov.al.saude.framework.core.exception.NegocioException: ".length());
36
                        } else {
37
                                return ex.getMessage();
38
                        }
39
                } else {
40
                        return "Ocorreu um erro inesperado. Operação inválida!";
41
                }
42
        }
43
}