Title: [waffle-scm] [890] sandbox/v2experiment/examples/freemarker-example/src/main/webapp/WEB-INF: half working

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:

http://xircles.codehaus.org/manage_email

Reply via email to