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; + } }