1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.cms.util;
35
36 import info.magnolia.context.Context;
37 import info.magnolia.context.MgnlContext;
38
39 import org.apache.commons.lang.StringUtils;
40
41
42
43
44
45
46
47
48 public class AlertUtil {
49
50
51
52
53 private AlertUtil() {
54 }
55
56
57
58
59
60 public static void setMessage(String msg) {
61 setMessage(msg, MgnlContext.getInstance());
62 }
63
64 public static void setMessage(String msg, Context ctx) {
65 if (!isMessageSet(ctx)) {
66 ctx.setAttribute(Context.ATTRIBUTE_MESSAGE, msg, Context.LOCAL_SCOPE);
67 }
68 }
69
70
71
72
73
74
75 public static void setMessage(String msg, Exception e) {
76 setMessage(msg, e, MgnlContext.getInstance());
77 }
78
79 public static void setMessage(String msg, Exception e, Context ctx) {
80 setMessage(msg + " : " + getExceptionMessage(e), ctx);
81 }
82
83 public static void setException(String msg, Exception e) {
84 setException(msg, e, MgnlContext.getInstance());
85 }
86
87 public static void setException(String msg, Exception e, Context ctx) {
88 setMessage(msg + " : " + getExceptionMessage(e), ctx);
89 setException(e, ctx);
90 }
91
92
93
94
95
96
97
98 public static boolean isMessageSet() {
99 return isMessageSet(MgnlContext.getInstance());
100 }
101
102 public static boolean isMessageSet(Context ctx) {
103 return StringUtils.isNotEmpty((String) ctx.getAttribute(Context.ATTRIBUTE_MESSAGE, Context.LOCAL_SCOPE));
104 }
105
106
107
108
109 public static void setException(Exception e) {
110 setException(e, MgnlContext.getInstance());
111 }
112
113 public static void setException(Exception e, Context ctx) {
114 if (!isExceptionSet(ctx)) {
115 ctx.setAttribute(Context.ATTRIBUTE_EXCEPTION, e, Context.LOCAL_SCOPE);
116
117 setMessage(getExceptionMessage(e), ctx);
118 }
119 }
120
121
122
123
124
125 public static boolean isExceptionSet() {
126 return isExceptionSet(MgnlContext.getInstance());
127 }
128
129 public static boolean isExceptionSet(Context ctx) {
130 return ctx.getAttribute(Context.ATTRIBUTE_EXCEPTION, Context.LOCAL_SCOPE) != null;
131 }
132
133
134
135
136
137
138 public static String getMessage() {
139 return getMessage(MgnlContext.getInstance());
140 }
141
142 public static String getMessage(Context ctx) {
143 return (String) ctx.getAttribute(Context.ATTRIBUTE_MESSAGE, Context.LOCAL_SCOPE);
144 }
145
146
147
148
149
150
151 public static String getExceptionMessage(Exception e) {
152 String message = e.getMessage();
153 if (StringUtils.isEmpty(message)) {
154 if (e.getCause() != null) {
155 message = e.getCause().getMessage();
156 }
157 if (message == null) {
158 message = StringUtils.EMPTY;
159 }
160 }
161 return message;
162 }
163
164 public static Exception getException() {
165 return getException(MgnlContext.getInstance());
166 }
167
168 public static Exception getException(Context ctx) {
169 return (Exception) ctx.getAttribute(Context.ATTRIBUTE_EXCEPTION, Context.LOCAL_SCOPE);
170 }
171 }