Index: lams_common/src/java/org/lamsfoundation/lams/util/MessageService.java
===================================================================
RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/util/MessageService.java,v
diff -u -r1.1 -r1.2
--- lams_common/src/java/org/lamsfoundation/lams/util/MessageService.java 14 Feb 2006 03:00:22 -0000 1.1
+++ lams_common/src/java/org/lamsfoundation/lams/util/MessageService.java 14 Feb 2006 03:43:11 -0000 1.2
@@ -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;
+ }
}