1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.tobago.util;
21
22 import org.apache.myfaces.tobago.context.ResourceManagerUtils;
23
24 import javax.faces.application.FacesMessage;
25 import javax.faces.component.UIViewRoot;
26 import javax.faces.context.FacesContext;
27 import java.text.MessageFormat;
28 import java.util.HashMap;
29 import java.util.Locale;
30 import java.util.Map;
31 import java.util.ResourceBundle;
32
33
34
35
36 @Deprecated
37 public final class MessageFactory {
38
39 public MessageFactory() {
40
41 }
42
43 private static final Map<Locale, ResourceBundle> FACES_MESSAGES_MAP = new HashMap<Locale, ResourceBundle>();
44
45 @Deprecated
46 public static FacesMessage createFacesMessage(
47 FacesContext facesContext, String key, FacesMessage.Severity severity, Object[] args) {
48 return createFacesMessage(facesContext, "tobago", key, severity, args);
49 }
50
51 @Deprecated
52 public static FacesMessage createFacesMessage(
53 FacesContext facesContext, String key, FacesMessage.Severity severity) {
54 return createFacesMessage(facesContext, key, severity, new Object[0]);
55 }
56
57 @Deprecated
58 public static FacesMessage createFacesMessage(
59 FacesContext facesContext, String bundle, String key, FacesMessage.Severity severity, Object[] args) {
60 String summary = getMessageText(facesContext, bundle, key);
61 String detail = getMessageText(facesContext, bundle, key + "_detail");
62 if (args != null && args.length > 0) {
63 Locale locale = getLocale(facesContext);
64 if (summary != null) {
65 MessageFormat format = new MessageFormat(summary, locale);
66 summary = format.format(args);
67 }
68
69 if (detail != null) {
70 MessageFormat format = new MessageFormat(detail, locale);
71 detail = format.format(args);
72 }
73 }
74 return new FacesMessage(severity, summary != null ? summary : key, detail);
75 }
76
77 @Deprecated
78 public static Locale getLocale(FacesContext facesContext) {
79 UIViewRoot root = facesContext.getViewRoot();
80 Locale locale;
81 if (root != null) {
82 locale = root.getLocale();
83 } else {
84 locale = facesContext.getApplication().getViewHandler().calculateLocale(facesContext);
85 }
86 return locale;
87 }
88
89 @Deprecated
90 public static FacesMessage createFacesMessage(
91 FacesContext facesContext, String bundle, String key, FacesMessage.Severity severity) {
92 return createFacesMessage(facesContext, bundle, key, severity, new Object[0]);
93 }
94
95 @Deprecated
96 public static String getMessageText(
97 FacesContext facesContext, String bundle, String key) {
98 String message = ResourceManagerUtils.getProperty(facesContext, bundle, key);
99 if (message == null || message.length() < 1) {
100 try {
101 Locale locale = getLocale(facesContext);
102 message = getFacesMessages(locale).getString(key);
103 } catch (Exception e) {
104
105 }
106 }
107 return message;
108 }
109
110 @Deprecated
111 public static ResourceBundle getFacesMessages(Locale locale) {
112 ResourceBundle facesMessages = FACES_MESSAGES_MAP.get(locale);
113 if (facesMessages == null) {
114 facesMessages
115 = ResourceBundle.getBundle(FacesMessage.FACES_MESSAGES, locale);
116 FACES_MESSAGES_MAP.put(locale, facesMessages);
117 }
118 return facesMessages;
119 }
120 }