- Revision
- 835
- Author
- mauro
- Date
- 2008-09-15 10:18:06 -0500 (Mon, 15 Sep 2008)
Log Message
WAFFLE-97: Renamed MessageResources#get/useResource() to #get/useURI(). Introduced EmptyResourceBundle impl to use as Null-Object when bundle is not found.
Modified Paths
- trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/FreemarkerRegistrar.java
- trunk/examples/simple-example/src/test/java/org/codehaus/waffle/example/simple/AutomobileControllerValidatorTest.java
- trunk/waffle-core/src/main/java/org/codehaus/waffle/i18n/DefaultMessageResources.java
- trunk/waffle-core/src/main/java/org/codehaus/waffle/i18n/DefaultMessageResourcesConfiguration.java
- trunk/waffle-core/src/main/java/org/codehaus/waffle/i18n/MessageResources.java
- trunk/waffle-core/src/main/java/org/codehaus/waffle/i18n/MessageResourcesConfiguration.java
- trunk/waffle-core/src/test/java/org/codehaus/waffle/bind/converters/AbstractValueConverterTest.java
- trunk/waffle-core/src/test/java/org/codehaus/waffle/i18n/DefaultMessageResourcesTest.java
- trunk/waffle-core/src/test/java/org/codehaus/waffle/testmodel/StubMessageResources.java
Added Paths
Diff
Modified: trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/FreemarkerRegistrar.java (834 => 835)
--- trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/FreemarkerRegistrar.java 2008-09-10 16:12:01 UTC (rev 834) +++ trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/FreemarkerRegistrar.java 2008-09-15 15:18:06 UTC (rev 835) @@ -51,7 +51,7 @@ finder.registerConverter((ValueConverter) getRegistered(PersonValueConverter.class)); finder.registerConverter((ValueConverter) getRegistered(PersonListValueConverter.class)); MessageResources resources = registry.locateByType(MessageResources.class); - resources.useResource("FreemarkerResources"); + resources.useURI("FreemarkerResources"); resources.useLocale(Locale.ITALIAN); register("people/manage", PersonController.class); register("home", MenuAwareController.class);
Modified: trunk/examples/simple-example/src/test/java/org/codehaus/waffle/example/simple/AutomobileControllerValidatorTest.java (834 => 835)
--- trunk/examples/simple-example/src/test/java/org/codehaus/waffle/example/simple/AutomobileControllerValidatorTest.java 2008-09-10 16:12:01 UTC (rev 834) +++ trunk/examples/simple-example/src/test/java/org/codehaus/waffle/example/simple/AutomobileControllerValidatorTest.java 2008-09-15 15:18:06 UTC (rev 835) @@ -36,7 +36,7 @@ @Test public void canValidateHasErrors() { - MessageResources messageResources = new DefaultMessageResources(new DefaultMessageResourcesConfiguration(Locale.getDefault(), "SimpleResources")); + MessageResources messageResources = new DefaultMessageResources(new DefaultMessageResourcesConfiguration("SimpleResources", Locale.getDefault())); AutomobileController controller = new AutomobileController(); controller.setSpeed(140);
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/i18n/DefaultMessageResources.java (834 => 835)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/i18n/DefaultMessageResources.java 2008-09-10 16:12:01 UTC (rev 834) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/i18n/DefaultMessageResources.java 2008-09-15 15:18:06 UTC (rev 835) @@ -17,37 +17,52 @@ * @author Mauro Talevi */ public class DefaultMessageResources implements MessageResources { - private Locale userLocale; - private String bundleName; + private static final ResourceBundle EMPTY_BUNDLE = new EmptyResourceBundle(); + private String uri; + private Locale locale; + private ResourceBundle bundle; public DefaultMessageResources() { this(new DefaultMessageResourcesConfiguration()); } public DefaultMessageResources(MessageResourcesConfiguration configuration) { - bundleName = configuration.getDefaultResource(); - userLocale = configuration.getDefaultLocale(); + this.uri = configuration.getDefaultURI(); + this.locale = configuration.getDefaultLocale(); + lookupBundle(); } - public String getResource() { - return bundleName; + private void lookupBundle() { + bundle = lookupBunde(uri); } - public void useResource(String resource) { - this.bundleName = resource; + private ResourceBundle lookupBunde(String bundleName) { + try { + return getBundle(bundleName.trim(), locale); + } catch (MissingResourceException e) { + return EMPTY_BUNDLE; + } } + public String getURI() { + return uri; + } + public void useURI(String uri) { + this.uri = uri; + lookupBundle(); + } + public Locale getLocale() { - return userLocale; + return locale; } public void useLocale(Locale locale) { - userLocale = locale; + this.locale = locale; + lookupBundle(); } - public String getMessage(String key, Object... arguments) { - ResourceBundle resourceBundle = getBundle(bundleName, userLocale); - return format(resourceBundle.getString(key), arguments); + public String getMessage(String key, Object... arguments) { + return format(bundle.getString(key), arguments); } public String getMessageWithDefault(String key, String defaultValue, Object... arguments) {
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/i18n/DefaultMessageResourcesConfiguration.java (834 => 835)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/i18n/DefaultMessageResourcesConfiguration.java 2008-09-10 16:12:01 UTC (rev 834) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/i18n/DefaultMessageResourcesConfiguration.java 2008-09-15 15:18:06 UTC (rev 835) @@ -12,24 +12,24 @@ */ public class DefaultMessageResourcesConfiguration implements MessageResourcesConfiguration { + private final String defaultURI; private final Locale defaultLocale; - private final String defaultResource; public DefaultMessageResourcesConfiguration() { - this(Locale.getDefault(), "ApplicationResources"); + this("ApplicationResources", Locale.getDefault()); } - public DefaultMessageResourcesConfiguration(Locale defaultLocale, String defaultResource) { + public DefaultMessageResourcesConfiguration(String defaultResource, Locale defaultLocale) { this.defaultLocale = defaultLocale; - this.defaultResource = defaultResource; + this.defaultURI = defaultResource; } public Locale getDefaultLocale() { return defaultLocale; } - public String getDefaultResource() { - return defaultResource; + public String getDefaultURI() { + return defaultURI; } }
Added: trunk/waffle-core/src/main/java/org/codehaus/waffle/i18n/EmptyResourceBundle.java (0 => 835)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/i18n/EmptyResourceBundle.java (rev 0) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/i18n/EmptyResourceBundle.java 2008-09-15 15:18:06 UTC (rev 835) @@ -0,0 +1,20 @@ +/* + * Copyright (c) terms as published in http://waffle.codehaus.org/license.html + */ +package org.codehaus.waffle.i18n; + +import java.util.ListResourceBundle; + +/** + * Empty resource bundle, used as <a + * href="" when + * no resource bundle is found. + * + * @author Mauro Talevi + */ +class EmptyResourceBundle extends ListResourceBundle { + @Override + protected Object[][] getContents() { + return new Object[][] { { "", "" } }; + } +}
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/i18n/MessageResources.java (834 => 835)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/i18n/MessageResources.java 2008-09-10 16:12:01 UTC (rev 834) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/i18n/MessageResources.java 2008-09-15 15:18:06 UTC (rev 835) @@ -6,16 +6,18 @@ import java.util.Locale; /** - * Represents message resources for a given locale. + * Represents message resources for a given URI and locale. The <a + * href="" can be any string encoding the name or + * location of the message resources, and it's the responsibility of the implementing classes to specify the decoding. * * @author Michael Ward * @author Mauro Talevi */ public interface MessageResources { - String getResource(); + String getURI(); - void useResource(String resource); + void useURI(String uri); Locale getLocale();
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/i18n/MessageResourcesConfiguration.java (834 => 835)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/i18n/MessageResourcesConfiguration.java 2008-09-10 16:12:01 UTC (rev 834) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/i18n/MessageResourcesConfiguration.java 2008-09-15 15:18:06 UTC (rev 835) @@ -6,14 +6,14 @@ import java.util.Locale; /** - * Allows to retrieve the default resource and locale for message resources. + * Allows to configure the URI and locale for message resources. * * @author Michael Ward * @author Mauro Talevi */ public interface MessageResourcesConfiguration { - String getDefaultResource(); + String getDefaultURI(); Locale getDefaultLocale(); }
Modified: trunk/waffle-core/src/test/java/org/codehaus/waffle/bind/converters/AbstractValueConverterTest.java (834 => 835)
--- trunk/waffle-core/src/test/java/org/codehaus/waffle/bind/converters/AbstractValueConverterTest.java 2008-09-10 16:12:01 UTC (rev 834) +++ trunk/waffle-core/src/test/java/org/codehaus/waffle/bind/converters/AbstractValueConverterTest.java 2008-09-15 15:18:06 UTC (rev 835) @@ -29,7 +29,7 @@ return Locale.UK; } - public String getDefaultResource() { + public String getDefaultURI() { return "FakeResourceBundle"; }
Modified: trunk/waffle-core/src/test/java/org/codehaus/waffle/i18n/DefaultMessageResourcesTest.java (834 => 835)
--- trunk/waffle-core/src/test/java/org/codehaus/waffle/i18n/DefaultMessageResourcesTest.java 2008-09-10 16:12:01 UTC (rev 834) +++ trunk/waffle-core/src/test/java/org/codehaus/waffle/i18n/DefaultMessageResourcesTest.java 2008-09-15 15:18:06 UTC (rev 835) @@ -14,7 +14,7 @@ public class DefaultMessageResourcesTest { private MessageResourcesConfiguration configuration = new MessageResourcesConfiguration() { - public String getDefaultResource() { + public String getDefaultURI() { return "FakeResourceBundle"; }
Modified: trunk/waffle-core/src/test/java/org/codehaus/waffle/testmodel/StubMessageResources.java (834 => 835)
--- trunk/waffle-core/src/test/java/org/codehaus/waffle/testmodel/StubMessageResources.java 2008-09-10 16:12:01 UTC (rev 834) +++ trunk/waffle-core/src/test/java/org/codehaus/waffle/testmodel/StubMessageResources.java 2008-09-15 15:18:06 UTC (rev 835) @@ -21,10 +21,10 @@ return null; } - public String getResource() { + public String getURI() { return null; } - public void useResource(String resource) { + public void useURI(String resource) { } }
To unsubscribe from this list please visit:
