- Revision
- 890
- Author
- paul
- Date
- 2009-01-15 17:25:56 -0600 (Thu, 15 Jan 2009)
Log Message
half working
Modified Paths
- sandbox/v2experiment/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/FreemarkerExampleWebappComposer.java
- sandbox/v2experiment/examples/freemarker-example/src/main/webapp/WEB-INF/web.xml
Diff
Modified: sandbox/v2experiment/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/FreemarkerExampleWebappComposer.java (889 => 890)
--- sandbox/v2experiment/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/FreemarkerExampleWebappComposer.java 2009-01-15 22:52:49 UTC (rev 889) +++ sandbox/v2experiment/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/FreemarkerExampleWebappComposer.java 2009-01-15 23:25:56 UTC (rev 890) @@ -4,6 +4,11 @@ import org.codehaus.waffle.bind.ValueConverterFinder; import org.codehaus.waffle.bind.converters.AbstractValueConverter; import org.codehaus.waffle.bind.converters.DateValueConverter; +import org.codehaus.waffle.bind.converters.NumberValueConverter; +import org.codehaus.waffle.bind.converters.StringListValueConverter; +import org.codehaus.waffle.bind.converters.NumberListValueConverter; +import org.codehaus.waffle.bind.converters.StringListMapValueConverter; +import org.codehaus.waffle.bind.converters.StringNumberListMapValueConverter; import static org.codehaus.waffle.bind.converters.DateValueConverter.DAY_FORMAT_KEY; import static org.codehaus.waffle.bind.converters.DateValueConverter.TIME_FORMAT_KEY; import org.codehaus.waffle.context.WaffleWebappComposer; @@ -31,6 +36,7 @@ @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"); AbstractValueConverter converter = (AbstractValueConverter) picoContainer.getComponent(DateValueConverter.class); if (converter != null) { @@ -39,6 +45,11 @@ 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(PersonValueConverter.class);
Modified: sandbox/v2experiment/examples/freemarker-example/src/main/webapp/WEB-INF/web.xml (889 => 890)
--- sandbox/v2experiment/examples/freemarker-example/src/main/webapp/WEB-INF/web.xml 2009-01-15 22:52:49 UTC (rev 889) +++ sandbox/v2experiment/examples/freemarker-example/src/main/webapp/WEB-INF/web.xml 2009-01-15 23:25:56 UTC (rev 890) @@ -1,113 +1,91 @@ <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> + xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" + version="2.5"> - <display-name>Waffle Freemarker/Sitemesh Example</display-name> + <display-name>Waffle Freemarker/Sitemesh Example</display-name> - <!-- Waffle Registrar and custom components --> - <context-param> - <param-name>org.codehaus.waffle.registrar.Registrar</param-name> - <param-value>org.codehaus.waffle.example.freemarker.FreemarkerRegistrar</param-value> - </context-param> - <context-param> - <param-name>register:DateValueConverter</param-name> - <param-value>org.codehaus.waffle.bind.converters.DateValueConverter</param-value> - </context-param> - <context-param> - <param-name>register:NumberValueConverter</param-name> - <param-value>org.codehaus.waffle.bind.converters.NumberValueConverter</param-value> - </context-param> - <context-param> - <param-name>register:StringListValueConverter</param-name> - <param-value>org.codehaus.waffle.bind.converters.StringListValueConverter</param-value> - </context-param> - <context-param> - <param-name>register:NumberListValueConverter</param-name> - <param-value>org.codehaus.waffle.bind.converters.NumberListValueConverter</param-value> - </context-param> - <context-param> - <param-name>register:StringListMapValueConverter</param-name> - <param-value>org.codehaus.waffle.bind.converters.StringListMapValueConverter</param-value> - </context-param> - <context-param> - <param-name>register:StringNumberListMapValueConverter</param-name> - <param-value>org.codehaus.waffle.bind.converters.StringNumberListMapValueConverter</param-value> - </context-param> - - <!-- Waffle context listener --> - <listener> - <listener-class>org.codehaus.waffle.context.WaffleContextListener</listener-class> - </listener> + <!-- 1. This is how PicoContainer-Web registers composition class --> + <context-param> + <param-name>webapp-composer-class</param-name> + <param-value>org.codehaus.waffle.example.freemarker.FreemarkerExampleWebappComposer</param-value> + </context-param> - <!-- Filters --> - <filter> - <filter-name>sitemesh-page</filter-name> - <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class> - </filter> + <!-- 3. PicoContainer-Web context listener (ServletContext and HttpSession) --> + <listener> + <listener-class>org.picocontainer.web.PicoServletContainerListener</listener-class> + </listener> - <filter> - <filter-name>waffle-request</filter-name> - <filter-class>org.codehaus.waffle.context.WaffleRequestFilter</filter-class> - </filter> + <!-- Filters --> + <filter> + <filter-name>sitemesh-page</filter-name> + <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class> + </filter> - <filter-mapping> - <filter-name>sitemesh-page</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> + <!-- 4. Waffle request filter (responsible for request level context) --> + <filter> + <filter-name>WaffleRequestFilter</filter-name> + <filter-class>org.codehaus.waffle.servlet.WaffleServlet$ServletFilter</filter-class> + </filter> - <filter-mapping> - <filter-name>waffle-request</filter-name> - <url-pattern>*.action</url-pattern> - </filter-mapping> + <filter-mapping> + <filter-name>sitemesh-page</filter-name> + <url-pattern>/*</url-pattern> + </filter-mapping> - <!-- Servlets --> - <servlet> - <servlet-name>waffle</servlet-name> - <servlet-class>org.codehaus.waffle.servlet.WaffleServlet</servlet-class> - <init-param> - <param-name>view.suffix</param-name> - <param-value>.ftl</param-value> - </init-param> - <load-on-startup>1</load-on-startup> - </servlet> + <filter-mapping> + <filter-name>WaffleRequestFilter</filter-name> + <url-pattern>*.action</url-pattern> + </filter-mapping> - <servlet> - <servlet-name>sitemesh-freemarker</servlet-name> - <servlet-class>com.opensymphony.module.sitemesh.freemarker.FreemarkerDecoratorServlet</servlet-class> - <init-param> - <param-name>TemplatePath</param-name> - <param-value>/</param-value> - </init-param> - <init-param> - <param-name>object_wrapper</param-name> - <param-value>beans</param-value> - </init-param> - <load-on-startup>2</load-on-startup> - </servlet> + <!-- Servlets --> + <servlet> + <servlet-name>waffle</servlet-name> + <servlet-class>org.codehaus.waffle.servlet.WaffleServlet</servlet-class> + <init-param> + <param-name>view.suffix</param-name> + <param-value>.ftl</param-value> + </init-param> + <load-on-startup>1</load-on-startup> + </servlet> - <servlet-mapping> - <servlet-name>waffle</servlet-name> - <url-pattern>*.action</url-pattern> - </servlet-mapping> + <servlet> + <servlet-name>sitemesh-freemarker</servlet-name> + <servlet-class>com.opensymphony.module.sitemesh.freemarker.FreemarkerDecoratorServlet</servlet-class> + <init-param> + <param-name>TemplatePath</param-name> + <param-value>/</param-value> + </init-param> + <init-param> + <param-name>object_wrapper</param-name> + <param-value>beans</param-value> + </init-param> + <load-on-startup>2</load-on-startup> + </servlet> - <servlet-mapping> - <servlet-name>sitemesh-freemarker</servlet-name> - <url-pattern>*.ftl</url-pattern> - </servlet-mapping> + <servlet-mapping> + <servlet-name>waffle</servlet-name> + <url-pattern>*.action</url-pattern> + </servlet-mapping> - <!-- Welcome files --> - <welcome-file-list> - <welcome-file>index.jsp</welcome-file> - </welcome-file-list> + <servlet-mapping> + <servlet-name>sitemesh-freemarker</servlet-name> + <url-pattern>*.ftl</url-pattern> + </servlet-mapping> - <!-- Security --> - <security-constraint> - <web-resource-collection> - <web-resource-name>no_access</web-resource-name> - <url-pattern>*.jspx</url-pattern> - </web-resource-collection> - <auth-constraint /> - </security-constraint> + <!-- Welcome files --> + <welcome-file-list> + <welcome-file>index.jsp</welcome-file> + </welcome-file-list> + <!-- Security --> + <security-constraint> + <web-resource-collection> + <web-resource-name>no_access</web-resource-name> + <url-pattern>*.jspx</url-pattern> + </web-resource-collection> + <auth-constraint/> + </security-constraint> + </web-app>
To unsubscribe from this list please visit:
