1
2
3
4
5
6
7 package org.mule.config.i18n;
8
9 import java.text.MessageFormat;
10 import java.util.Locale;
11 import java.util.ResourceBundle;
12
13 import org.apache.commons.logging.Log;
14 import org.apache.commons.logging.LogFactory;
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 public class LocaleMessageHandler
32 {
33
34
35
36 protected static final Log logger = LogFactory.getLog(LocaleMessageHandler.class);
37
38
39
40
41 public static String getString(String bundleName, String code)
42 {
43 return getString(bundleName, code, new Object[]{});
44 }
45
46
47
48
49
50 public static String getString(String bundleName, String code, Object arg1)
51 {
52 if (arg1 == null)
53 {
54 arg1 = "null";
55 }
56
57 return getString(bundleName, code, new Object[]{arg1});
58 }
59
60
61
62
63
64 public static String getString(String bundleName, String code, Object arg1, Object arg2)
65 {
66 if (arg1 == null)
67 {
68 arg1 = "null";
69 }
70
71 if (arg2 == null)
72 {
73 arg2 = "null";
74 }
75
76 return getString(bundleName, code, new Object[]{arg1, arg2});
77 }
78
79
80
81
82
83 public static String getString(String bundleName, String code, Object[] args)
84 {
85 return getString(bundleName, Locale.getDefault(), code, args);
86 }
87
88
89
90
91
92 public static String getString(String bundleName, Locale locale, String code, Object[] args)
93 {
94 String path = bundleName + "-messages";
95 ResourceBundle bundle = ResourceBundle.getBundle(path, locale);
96 String m = bundle.getString(code);
97
98 if (m == null)
99 {
100 logger.error("Failed to find message for id " + code + " in resource bundle " + path);
101 return "";
102 }
103
104 return MessageFormat.format(m, args);
105 }
106
107 }
108