Changeset 7283 for RevitalizationWS


Ignore:
Timestamp:
05/08/10 16:01:10 (9 years ago)
Author:
mnagni
Message:

Added new method to MessageFormatter? to use no MessageBundle?

File:
1 edited

Legend:

Unmodified
Added
Removed
  • RevitalizationWS/common/trunk/src/main/java/ndg/common/MessageFormatter.java

    r7231 r7283  
    44import java.util.ResourceBundle; 
    55 
     6import ndg.common.exception.NdgExecutionException; 
    67import ndg.common.exception.ResourceNotAvailable; 
    78 
     
    7980         
    8081        /** 
    81          * Returns a message from a given <code>ResourceBundle</code> 
     82         * Returns a message from a given <code>ResourceBundle</code>. 
    8283         * @param msg the message wrapper  
    8384         * @param resourceBundle the bundle to use 
     
    8687        public String getFormattedText(NdgMessage msg, ResourceBundle resourceBundle) { 
    8788                 
    88                 if (msg.getParams() == null) 
    89                         return resourceBundle.getString(msg.getMsgKey()); 
    90                  
    9189                MessageFormat formatter = new MessageFormat(""); 
    9290                if (msg.getLocale() != null)                     
    9391                        formatter.setLocale(msg.getLocale()); 
    94                 formatter.applyPattern(resourceBundle.getString(msg.getMsgKey()));               
    95                 return formatter.format(msg.getParams()); 
     92                 
     93                String text = msg.getMsgKey(); 
     94                if (resourceBundle != null) 
     95                        resourceBundle.getString(msg.getMsgKey()); 
     96                 
     97                formatter.applyPattern(text); 
     98 
     99                if (msg.getParams() == null) 
     100                        return text; 
     101                 
     102                try { 
     103                        return formatter.format(msg.getParams());        
     104                } catch (IllegalArgumentException e) { 
     105                        return text; 
     106                }                
    96107        } 
     108         
     109        /** 
     110         * Format a message from a given pattern and parameters 
     111         * @param text a String in conform to the FormattedText rules  
     112         * @param params the parameters required by the text pattern 
     113         * @return the formatted message 
     114         * @throws NdgExecutionException if error <code>text</code> is  
     115         * <code>null</code> or formatting error occur. 
     116         **/             
     117        public String getFormattedText(String text, Object[] params) throws NdgExecutionException {              
     118                MessageFormat formatter = new MessageFormat(""); 
     119                 
     120                if (text == null) 
     121                        throw new NdgExecutionException(new NdgMessage("null.object", new Object[]{"text"}));  
    97122 
     123                if (params == null) 
     124                        return text; 
     125                 
     126                try { 
     127                        formatter.applyPattern(text); 
     128                        return formatter.format(params);         
     129                } catch (IllegalArgumentException e) { 
     130                        throw new NdgExecutionException(new NdgMessage("execution.error", new Object[]{"formatter", e.getMessage()}, null)); 
     131                }                
     132        } 
     133         
    98134        private final ResourceBundle getResourceBundle() throws ResourceNotAvailable { 
    99135                if (resourceBundle == null) { 
Note: See TracChangeset for help on using the changeset viewer.