5 import org.apache.struts.util.MessageResources;
9 public class ResourceBundleProducerNode extends ProducerNodeDecorator {
11 private String bundleIdentifier;
12 private String languageIdentifier;
14 public ResourceBundleProducerNode(String aKey, String aBundleIdentifier, ProducerNode aSubNode) {
15 this (aKey, aBundleIdentifier, null, aSubNode);
18 public ResourceBundleProducerNode(String aKey, String aBundleIdentifier, String aLanguageIdentifier, ProducerNode aSubNode) {
21 bundleIdentifier = aBundleIdentifier;
22 languageIdentifier = aLanguageIdentifier;
26 public void produce(Map aValueMap, String aVerb, PrintWriter aLogger) throws ProducerFailure {
31 if (languageIdentifier!=null) {
33 new ResourceBundleGeneratorFunction(
34 new Locale(ParameterExpander.expandExpression( aValueMap, languageIdentifier ), "" ),
35 MessageResources.getMessageResources( ParameterExpander.expandExpression( aValueMap, bundleIdentifier ))
40 MessageResources.getMessageResources(
41 ParameterExpander.expandExpression( aValueMap, bundleIdentifier ));
43 ParameterExpander.setValueForKey( aValueMap, key, messages );
45 super.produce(aValueMap, aVerb, aLogger);
48 throw new ProducerFailure(t.getMessage(), t);