You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by jk...@apache.org on 2006/06/25 03:05:37 UTC
svn commit: r416973 - in /tapestry/tapestry4/trunk:
examples/TimeTracker/src/context/ examples/TimeTracker/src/context/WEB-INF/
framework/src/test/org/apache/tapestry/engine/encoders/
Author: jkuhnert
Date: Sat Jun 24 18:05:36 2006
New Revision: 416973
URL: http://svn.apache.org/viewvc?rev=416973&view=rev
Log:
Updated timetracker to use friendly URLs
Added:
tapestry/tapestry4/trunk/examples/TimeTracker/src/context/Home.html (with props)
tapestry/tapestry4/trunk/examples/TimeTracker/src/context/WEB-INF/Border.html (with props)
Modified:
tapestry/tapestry4/trunk/examples/TimeTracker/src/context/WEB-INF/hivemodule.xml
tapestry/tapestry4/trunk/examples/TimeTracker/src/context/WEB-INF/timetracker.application
tapestry/tapestry4/trunk/examples/TimeTracker/src/context/WEB-INF/web.xml
tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/engine/encoders/TestPageServiceEncoder.java
Added: tapestry/tapestry4/trunk/examples/TimeTracker/src/context/Home.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/examples/TimeTracker/src/context/Home.html?rev=416973&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/examples/TimeTracker/src/context/Home.html (added)
+++ tapestry/tapestry4/trunk/examples/TimeTracker/src/context/Home.html Sat Jun 24 18:05:36 2006
@@ -0,0 +1,60 @@
+<span jwcid="@Border">
+
+<p>
+This is the Tapestry TimeTracker application. It is a demonstration of some of the new
+core features available in tapestry, as well as how a sample application might be built
+using them.
+</p>
+
+<form jwcid="taskForm@Form" class="container" clientValidationEnabled="true" >
+<h3><span jwcid="@Insert" value="message:new.task"/></h3>
+ <fieldset>
+ <table width="90%" class="form" cellpadding="2" cellspacing="0" >
+ <tr>
+ <td><label jwcid="@FieldLabel" field="component:projectChoose" /></td>
+ <td><label jwcid="@FieldLabel" field="component:descriptionField" /></td>
+ <td><label>Duration</label></td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td><div class="field required"><span jwcid="projectChoose" /></div></td>
+ <td><div class="field required"><input jwcid="descriptionField" /></div></td>
+ <td><div jwcid="duration@Any">18 minutes</div></td>
+ <td> </td>
+ </tr>
+
+ <tr>
+ <td><label jwcid="@FieldLabel" field="component:datePicker" /></td>
+ <td><label jwcid="@FieldLabel" field="component:startPicker" /></td>
+ <td><label jwcid="@FieldLabel" field="component:endPicker" /></td>
+ <td> </td>
+ </tr>
+
+ <tr>
+ <td><div class="field required"><input jwcid="datePicker" /></div></td>
+ <td>
+ <div class="field required">
+ <input jwcid="startPicker" />
+ </div>
+ </td>
+ <td>
+ <div class="field required">
+ <input jwcid="endPicker" />
+ </div>
+ </td>
+ <td>
+ <input jwcid="@Submit" value="message:button.add" class="submitButton" action="listener:addTask" />
+ </td>
+ </tr>
+
+ </table>
+ </fieldset>
+</form>
+
+<div jwcid="projectDescription@Any" >
+ <span jwcid="@If" condition="ognl:selectedProject">
+ <h2 style="clear:left" ><span jwcid="@Insert" value="ognl:selectedProject.name" /></h2>
+ </span>
+</div>
+
+</span>
\ No newline at end of file
Propchange: tapestry/tapestry4/trunk/examples/TimeTracker/src/context/Home.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: tapestry/tapestry4/trunk/examples/TimeTracker/src/context/WEB-INF/Border.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/examples/TimeTracker/src/context/WEB-INF/Border.html?rev=416973&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/examples/TimeTracker/src/context/WEB-INF/Border.html (added)
+++ tapestry/tapestry4/trunk/examples/TimeTracker/src/context/WEB-INF/Border.html Sat Jun 24 18:05:36 2006
@@ -0,0 +1,32 @@
+<html jwcid="@Shell"
+ title="message:window.title"
+ ajaxEnabled="true"
+ browserLogLevel="DEBUG" >
+
+<link rel="shortcut icon" href="favicon.ico" type="image/gif" />
+<link href="css/timetracker.css" rel="stylesheet" type="text/css" media="all" />
+
+<body jwcid="@Body">
+
+<div id="header" >
+ <span class="headertxt"><span jwcid="@Insert" value="message:header.display"/> </span>
+</div>
+
+<div id="navigation" >
+ <ul>
+ <li><a class="here" href="" >home</a></li>
+ <li><a href="others">others</a></li>
+ <li><a href="and more">more things</a></li>
+ </ul>
+</div>
+
+<div id="content">
+<span jwcid="@RenderBody" />
+</div>
+
+<div id="debug">
+</div>
+
+</body>
+
+</html>
Propchange: tapestry/tapestry4/trunk/examples/TimeTracker/src/context/WEB-INF/Border.html
------------------------------------------------------------------------------
svn:eol-style = native
Modified: tapestry/tapestry4/trunk/examples/TimeTracker/src/context/WEB-INF/hivemodule.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/examples/TimeTracker/src/context/WEB-INF/hivemodule.xml?rev=416973&r1=416972&r2=416973&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/examples/TimeTracker/src/context/WEB-INF/hivemodule.xml (original)
+++ tapestry/tapestry4/trunk/examples/TimeTracker/src/context/WEB-INF/hivemodule.xml Sat Jun 24 18:05:36 2006
@@ -21,6 +21,13 @@
<load service-id="timetracker.db.DatabaseInstaller" />
</contribution>
+ <contribution configuration-id="tapestry.url.ServiceEncoders">
+ <asset-encoder id="asset" path="/assets" />
+ <extension-encoder id="extension" extension="svc" after="*"/>
+ <direct-service-encoder id="direct" stateless-extension="direct" stateful-extension="sdirect"/>
+ <page-service-encoder id="page" extension="htm" service="page"/>
+ </contribution>
+
<sub-module descriptor="timetracker.db.xml" />
<sub-module descriptor="timetracker.dao.xml" />
</module>
Modified: tapestry/tapestry4/trunk/examples/TimeTracker/src/context/WEB-INF/timetracker.application
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/examples/TimeTracker/src/context/WEB-INF/timetracker.application?rev=416973&r1=416972&r2=416973&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/examples/TimeTracker/src/context/WEB-INF/timetracker.application (original)
+++ tapestry/tapestry4/trunk/examples/TimeTracker/src/context/WEB-INF/timetracker.application Sat Jun 24 18:05:36 2006
@@ -22,4 +22,5 @@
<application name="Tapestry TimeTracker">
<library id="contrib" specification-path="classpath:/org/apache/tapestry/contrib/Contrib.library"/>
+
</application>
Modified: tapestry/tapestry4/trunk/examples/TimeTracker/src/context/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/examples/TimeTracker/src/context/WEB-INF/web.xml?rev=416973&r1=416972&r2=416973&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/examples/TimeTracker/src/context/WEB-INF/web.xml (original)
+++ tapestry/tapestry4/trunk/examples/TimeTracker/src/context/WEB-INF/web.xml Sat Jun 24 18:05:36 2006
@@ -70,6 +70,16 @@
<servlet-name>timetracker</servlet-name>
<url-pattern>/assets/*</url-pattern>
</servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>timetracker</servlet-name>
+ <url-pattern>*.html</url-pattern>
+ </servlet-mapping>
+
+ <servlet-mapping>
+ <servlet-name>timetracker</servlet-name>
+ <url-pattern>*.htm</url-pattern>
+ </servlet-mapping>
<session-config>
<session-timeout>15</session-timeout>
Modified: tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/engine/encoders/TestPageServiceEncoder.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/engine/encoders/TestPageServiceEncoder.java?rev=416973&r1=416972&r2=416973&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/engine/encoders/TestPageServiceEncoder.java (original)
+++ tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/engine/encoders/TestPageServiceEncoder.java Sat Jun 24 18:05:36 2006
@@ -71,6 +71,32 @@
verifyControls();
}
+ public void testEncodeHtm()
+ {
+ MockControl control = newControl(ServiceEncoding.class);
+ ServiceEncoding e = (ServiceEncoding) control.getMock();
+
+ e.getParameterValue(ServiceConstants.SERVICE);
+ control.setReturnValue("page");
+
+ e.getParameterValue(ServiceConstants.PAGE);
+ control.setReturnValue("Home");
+
+ e.setServletPath("/Home.htm");
+ e.setParameterValue(ServiceConstants.SERVICE, null);
+ e.setParameterValue(ServiceConstants.PAGE, null);
+
+ replayControls();
+
+ PageServiceEncoder encoder = new PageServiceEncoder();
+ encoder.setServiceName("page");
+ encoder.setExtension("htm");
+
+ encoder.encode(e);
+
+ verifyControls();
+ }
+
public void testEncodeInNamespace()
{
MockControl control = newControl(ServiceEncoding.class);
@@ -158,6 +184,28 @@
PageServiceEncoder encoder = new PageServiceEncoder();
encoder.setExtension("html");
+ encoder.setServiceName("page");
+
+ encoder.decode(e);
+
+ verifyControls();
+ }
+
+ public void testDecodeHtmSuccess()
+ {
+ MockControl control = newControl(ServiceEncoding.class);
+ ServiceEncoding e = (ServiceEncoding) control.getMock();
+
+ e.getServletPath();
+ control.setReturnValue("/Home.htm");
+
+ e.setParameterValue(ServiceConstants.SERVICE, "page");
+ e.setParameterValue(ServiceConstants.PAGE, "Home");
+
+ replayControls();
+
+ PageServiceEncoder encoder = new PageServiceEncoder();
+ encoder.setExtension("htm");
encoder.setServiceName("page");
encoder.decode(e);