1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.kuali.kfs.sys.util;
20
21 import java.text.MessageFormat;
22 import java.util.ArrayList;
23 import java.util.List;
24 import java.util.Set;
25
26 import org.apache.commons.lang.StringUtils;
27 import org.kuali.kfs.sys.context.SpringContext;
28 import org.kuali.rice.core.api.config.property.ConfigurationService;
29 import org.kuali.rice.krad.util.ErrorMessage;
30 import org.kuali.rice.krad.util.GlobalVariables;
31 import org.kuali.rice.krad.util.MessageMap;
32
33 public class GlobalVariablesUtils {
34 private static final org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(GlobalVariablesUtils.class);
35
36 public static List<String> extractGlobalVariableErrors() {
37 List<String> result = new ArrayList<String>();
38
39 MessageMap errorMap = GlobalVariables.getMessageMap();
40
41
42 Set<String> errorKeys = errorMap.getAllPropertiesWithErrors();
43 List<ErrorMessage> errorMessages = null;
44 Object[] messageParams;
45 String errorKeyString;
46 String errorString;
47
48 for (String errorProperty : errorKeys) {
49
50 errorMessages = errorMap.getErrorMessagesForProperty(errorProperty);
51 LOG.debug("error Messages :::: " + errorMessages.toString());
52 for (ErrorMessage errorMessage : errorMessages) {
53 errorKeyString = SpringContext.getBean(ConfigurationService.class).getPropertyValueAsString(errorMessage.getErrorKey());
54 messageParams = errorMessage.getMessageParameters();
55 LOG.debug("message parameters::: " + messageParams);
56 LOG.debug("errorKeyString :::: " + errorKeyString);
57
58
59 if (StringUtils.isBlank(errorKeyString)) {
60 errorString = errorMessage.getErrorKey();
61 }
62 else {
63 errorString = errorKeyString;
64 }
65 LOG.debug(errorString);
66 if (errorString.matches("^.*\\{\\d\\}.*$")) {
67 errorString = MessageFormat.format(errorString, messageParams);
68 }
69 result.add(errorString);
70 }
71 }
72
73
74 GlobalVariables.clear();
75 return result;
76 }
77 }