- Revision
- 904
- Author
- paul
- Date
- 2009-02-16 10:08:55 -0600 (Mon, 16 Feb 2009)
Log Message
demo app works
Modified Paths
- sandbox/v2experiment/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/FreemarkerExampleWebappComposer.java
- sandbox/v2experiment/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/controller/PersonController.java
Diff
Modified: sandbox/v2experiment/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/FreemarkerExampleWebappComposer.java (903 => 904)
--- sandbox/v2experiment/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/FreemarkerExampleWebappComposer.java 2009-01-18 15:12:37 UTC (rev 903) +++ sandbox/v2experiment/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/FreemarkerExampleWebappComposer.java 2009-02-16 16:08:55 UTC (rev 904) @@ -13,6 +13,7 @@ import org.codehaus.waffle.bind.ValueConverter; import org.codehaus.waffle.bind.ValueConverterFinder; +import org.codehaus.waffle.bind.ognl.OgnlValueConverterFinder; import org.codehaus.waffle.bind.converters.DateValueConverter; import org.codehaus.waffle.bind.converters.NumberListValueConverter; import org.codehaus.waffle.bind.converters.NumberValueConverter; @@ -26,47 +27,65 @@ import org.codehaus.waffle.example.freemarker.converters.PersonValueConverter; import org.codehaus.waffle.example.freemarker.persister.SimplePersonPersister; import org.codehaus.waffle.i18n.MessageResources; +import org.codehaus.waffle.i18n.DefaultMessageResourcesConfiguration; +import org.codehaus.waffle.i18n.MessageResourcesConfiguration; import org.codehaus.waffle.menu.Menu; import org.codehaus.waffle.menu.MenuAwareController; import org.codehaus.waffle.view.ViewResolver; +import org.codehaus.waffle.view.DefaultViewResolver; import org.picocontainer.MutablePicoContainer; public class FreemarkerExampleWebappComposer extends WaffleWebappComposer { + private static final String DAY_PATTERN = "dd/MM/yyyy"; + private static final String TIME_PATTERN = "hh:mm:ss"; @Override public void composeApplication(MutablePicoContainer picoContainer, ServletContext servletContext) { - super.composeApplication(picoContainer, servletContext); - picoContainer.addComponent("DateValueConverter", DateValueConverter.class); - DateProvider dateProvider = new DateProvider("dd/MM/yyyy", "hh:mm:ss", "dd/MM/yyyy"); - DateValueConverter converter = picoContainer.getComponent(DateValueConverter.class); - if (converter != null) { - Properties patterns = new Properties(); - patterns.setProperty(DAY_FORMAT_KEY, dateProvider.getDayPattern()); - patterns.setProperty(TIME_FORMAT_KEY, dateProvider.getTimePattern()); - converter.changePatterns(patterns); - } - picoContainer.addComponent("NumberValueConverter", NumberValueConverter.class); - picoContainer.addComponent("StringListValueConverter", StringListValueConverter.class); - picoContainer.addComponent("NumberListValueConverter", NumberListValueConverter.class); - picoContainer.addComponent("StringListMapValueConverter", StringListMapValueConverter.class); - picoContainer.addComponent("StringNumberListMapValueConverter", StringNumberListMapValueConverter.class); - picoContainer.addComponent(dateProvider); - picoContainer.addComponent(SimplePersonPersister.class); + + picoContainer.addComponent(MessageResourcesConfiguration.class, new DefaultMessageResourcesConfiguration("waffle-core-bundle,FreemarkerResources")); + + picoContainer.addComponent(NumberValueConverter.class); + picoContainer.addComponent(StringListValueConverter.class); + picoContainer.addComponent(NumberListValueConverter.class); + picoContainer.addComponent(StringListMapValueConverter.class); + picoContainer.addComponent(StringNumberListMapValueConverter.class); picoContainer.addComponent(PersonValueConverter.class); picoContainer.addComponent(PersonListValueConverter.class); - ValueConverterFinder finder = picoContainer.getComponent(ValueConverterFinder.class); - finder.registerConverter((ValueConverter) picoContainer.getComponent(PersonValueConverter.class)); - finder.registerConverter((ValueConverter) picoContainer.getComponent(PersonListValueConverter.class)); - MessageResources resources = picoContainer.getComponent(MessageResources.class); - resources.useURI("waffle-core-bundle,FreemarkerResources"); + picoContainer.addComponent(DateValueConverter.class, MyDateValueConverter.class); + + picoContainer.addComponent(SimplePersonPersister.class); + + super.composeApplication(picoContainer, servletContext); + + picoContainer.addComponent(new DateProvider(DAY_PATTERN, TIME_PATTERN, DAY_PATTERN)); picoContainer.addComponent("people/manage", PersonController.class); picoContainer.addComponent("home", MenuAwareController.class); - ViewResolver viewResolver = picoContainer.getComponent(ViewResolver.class); - viewResolver.configureView("home", "ftl/home"); picoContainer.addComponent(createMenu()); } + public static class MyDateValueConverter extends DateValueConverter { + public MyDateValueConverter(MessageResources messageResources) { + super(messageResources, makeProperties()); + } + private static Properties makeProperties() { + Properties patterns = new Properties(); + patterns.setProperty(DAY_FORMAT_KEY, DAY_PATTERN); + patterns.setProperty(TIME_FORMAT_KEY, TIME_PATTERN); + return patterns; + } + } + + @Override + protected Class<? extends ViewResolver> viewResolver() { + return MyViewResolver.class; + } + public static class MyViewResolver extends DefaultViewResolver { + public MyViewResolver() { + configureView("home", "ftl/home"); + } + } + private Menu createMenu() { Map<String, List<String>> content = new HashMap<String, List<String>>(); content.put("Home", asList("Home:home"));
Modified: sandbox/v2experiment/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/controller/PersonController.java (903 => 904)
--- sandbox/v2experiment/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/controller/PersonController.java 2009-01-18 15:12:37 UTC (rev 903) +++ sandbox/v2experiment/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/controller/PersonController.java 2009-02-16 16:08:55 UTC (rev 904) @@ -90,6 +90,10 @@ this.person = persister.findById(id); } + public void select() { + this.person = persister.findById(id); + } + public void show() { // do nothing: the selected Ids and people are automatically populated }
To unsubscribe from this list please visit:
