Index: lams_common/src/java/org/lamsfoundation/lams/util/MessageService.java
===================================================================
diff -u -r1f7e3b82231660a37539aa7f689cd8620f9a91c5 -r291d564dcefeaa129b756f00cfaf2ab610a406e9
--- lams_common/src/java/org/lamsfoundation/lams/util/MessageService.java (.../MessageService.java) (revision 1f7e3b82231660a37539aa7f689cd8620f9a91c5)
+++ lams_common/src/java/org/lamsfoundation/lams/util/MessageService.java (.../MessageService.java) (revision 291d564dcefeaa129b756f00cfaf2ab610a406e9)
@@ -24,28 +24,83 @@
import org.springframework.context.NoSuchMessageException;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.context.support.MessageSourceAccessor;
-
+/**
+ * Service class to help Service bean get i18n value quickly. The locale information will get from LAMS_USER
+ * table. For more detail see org.lamsfoundation.lams.web.filter.LocaleFilter
.
+ *
+ * @author Steve.Ni
+ * @version $Revision$
+ * @see org.springframework.context.support.MessageSourceAccessor
+ */
public class MessageService {
private MessageSourceAccessor messageAccessor;
- private MessageSource messageSource;
/**
- * @return
+ * Set MessageSource
from spring IoC.
+ * @param messageSource
*/
- public MessageSource getMessageSource() {
- return messageSource;
- }
public void setMessageSource(MessageSource messageSource){
- this.messageSource = messageSource;
+ messageAccessor = new MessageSourceAccessor(messageSource);
}
+
+ /**
+ * @see org.springframework.context.support.MessageSourceAccessor#getMessage(java.lang.String)
+ * @param key
+ * @return
+ */
public String getMessage(String key){
String message;
try {
- messageAccessor = new MessageSourceAccessor(messageSource);
message = messageAccessor.getMessage(key,LocaleContextHolder.getLocale());
} catch (NoSuchMessageException e) {
message = "??" + key + "??";
}
return message;
}
+ /**
+ * @see org.springframework.context.support.MessageSourceAccessor#getMessage(java.lang.String, java.lang.String)
+ * @param key
+ * @param defaultMessage
+ * @return
+ */
+ public String getMessage(String key, String defaultMessage){
+ String message = defaultMessage;
+ try {
+ message = messageAccessor.getMessage(key,defaultMessage,LocaleContextHolder.getLocale());
+ } catch (NoSuchMessageException e) {
+ message = defaultMessage;
+ }
+ return message;
+ }
+ /**
+ * @see org.springframework.context.support.MessageSourceAccessor#getMessage(java.lang.String, java.lang.Object[])
+ * @param key
+ * @param args
+ * @return
+ */
+ public String getMessage(String key, Object[] args){
+ String message;
+ try {
+ message = messageAccessor.getMessage(key,args,LocaleContextHolder.getLocale());
+ } catch (NoSuchMessageException e) {
+ message = "??" + key + "??";
+ }
+ return message;
+ }
+ /**
+ * @see org.springframework.context.support.MessageSourceAccessor#getMessage(java.lang.String, java.lang.Object[], java.lang.String)
+ * @param key
+ * @param args
+ * @param defaultMessage
+ * @return
+ */
+ public String getMessage(String key, Object[] args, String defaultMessage){
+ String message = defaultMessage;
+ try {
+ message = messageAccessor.getMessage(key,args,LocaleContextHolder.getLocale());
+ } catch (NoSuchMessageException e) {
+ message = defaultMessage;
+ }
+ return message;
+ }
}