1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.kns.util;
17
18 import org.apache.struts.Globals;
19 import org.kuali.rice.kim.api.identity.Person;
20 import org.kuali.rice.krad.UserSession;
21 import org.kuali.rice.krad.exception.KualiExceptionIncident;
22 import org.kuali.rice.krad.util.KRADConstants;
23
24 import javax.servlet.http.HttpServletRequest;
25 import java.util.HashMap;
26 import java.util.Map;
27
28
29
30
31
32
33
34 public final class IncidentReportUtils {
35
36
37
38
39
40
41 public static final String EXCEPTION_PROPERTIES="exceptionProperties";
42
43 private IncidentReportUtils() {
44 throw new UnsupportedOperationException("do not call");
45 }
46
47 public static Map<String, String> populateRequestForIncidentReport(Exception exception,
48 String documentId, String componentName, HttpServletRequest request) {
49
50
51
52 Map<String, String> properties = new HashMap<String, String>();
53 properties.put(KualiExceptionIncident.DOCUMENT_ID, documentId);
54 String userEmail = "";
55 String userName = "";
56 String uuid = "";
57
58
59 UserSession userSession = (UserSession) request.getSession()
60 .getAttribute(KRADConstants.USER_SESSION_KEY);
61 Person sessionUser = null;
62 if (userSession != null) {
63 sessionUser = userSession.getPerson();
64 }
65 if (sessionUser != null) {
66 userEmail = sessionUser.getEmailAddressUnmasked();
67 userName = sessionUser.getName();
68 uuid = sessionUser.getPrincipalName();
69 }
70 properties.put(KualiExceptionIncident.USER_EMAIL, userEmail);
71 properties.put(KualiExceptionIncident.USER_NAME, userName);
72 properties.put(KualiExceptionIncident.UUID, uuid);
73 properties.put(KualiExceptionIncident.COMPONENT_NAME, componentName);
74
75
76 request.setAttribute(Globals.EXCEPTION_KEY, exception);
77
78 request.setAttribute(EXCEPTION_PROPERTIES, properties);
79
80 return properties;
81
82 }
83 }