waffle-svn Mailing List for Waffle Web Framework
Brought to you by:
m2ward,
maurotalevi
You can subscribe to this list here.
| 2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(18) |
Dec
(11) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2007 |
Jan
|
Feb
(3) |
Mar
(65) |
Apr
(10) |
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <m2...@us...> - 2007-05-04 14:25:22
|
Revision: 428
http://svn.sourceforge.net/waffle/?rev=428&view=rev
Author: m2ward
Date: 2007-05-04 07:25:14 -0700 (Fri, 04 May 2007)
Log Message:
-----------
refactored example modules to have their *Action classes renamed to *Controller
Modified Paths:
--------------
trunk/examples/freemarker-example/resources/index.html
trunk/examples/freemarker-example/resources/people/editperson.htm
trunk/examples/freemarker-example/resources/people/person.htm
trunk/examples/freemarker-example/src/main/java/com/thoughtworks/waffle/example/freemarker/MyRegistrar.java
trunk/examples/paranamer-example/resources/automobile.jspx
trunk/examples/paranamer-example/resources/calculator.jspx
trunk/examples/paranamer-example/resources/helloworld.jspx
trunk/examples/paranamer-example/resources/index.html
trunk/examples/paranamer-example/resources/people/editperson.jspx
trunk/examples/paranamer-example/resources/people/person.jspx
trunk/examples/paranamer-example/resources/scripts/myscript.js
trunk/examples/paranamer-example/resources/selection.jspx
trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/MyRegistrar.java
trunk/examples/paranamer-example/src/main/webapp/WEB-INF/web.xml
trunk/examples/simple-example/resources/automobile.jspx
trunk/examples/simple-example/resources/calculator.jspx
trunk/examples/simple-example/resources/editperson.jspx
trunk/examples/simple-example/resources/helloworld.jspx
trunk/examples/simple-example/resources/index.html
trunk/examples/simple-example/resources/person.jspx
trunk/examples/simple-example/resources/scripts/myscript.js
trunk/examples/simple-example/resources/selection.jspx
trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/MyRegistrar.java
trunk/examples/simple-example/src/main/webapp/WEB-INF/web.xml
trunk/examples/simple-example/src/test/java/com/thoughtworks/waffle/example/simple/DateTypeConverterTest.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/ControllerDefinition.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/DefaultControllerDefinitionFactory.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/AbstractMethodDefinitionFinder.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/ActionMethodResponseHandler.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/AnnotatedMethodDefinitionFinder.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/MatchingMethodException.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/NoMatchingMethodException.java
trunk/framework/src/main/java/com/thoughtworks/waffle/servlet/PicoWaffleComponentRegistry.java
Added Paths:
-----------
trunk/examples/freemarker-example/src/main/java/com/thoughtworks/waffle/example/freemarker/action/PersonController.java
trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/CalculatorController.java
trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/HelloWorldController.java
trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/PersonController.java
trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/AutomobileController.java
trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/AutomobileControllerValidator.java
trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/CalculatorController.java
trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/HelloWorldController.java
trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/PersonController.java
trunk/examples/simple-example/src/test/java/com/thoughtworks/waffle/example/simple/AutomobileControllerValidatorTest.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/HierarchicalArgumentResolver.java
trunk/framework/src/test/java/com/thoughtworks/waffle/action/method/HierarchicalArgumentResolverTest.java
Removed Paths:
-------------
trunk/examples/freemarker-example/src/main/java/com/thoughtworks/waffle/example/freemarker/action/PersonAction.java
trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/CalculatorAction.java
trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/HelloWorldAction.java
trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/PersonAction.java
trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/AutomobileAction.java
trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/AutomobileActionValidator.java
trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/CalculatorAction.java
trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/HelloWorldAction.java
trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/PersonAction.java
trunk/examples/simple-example/src/test/java/com/thoughtworks/waffle/example/simple/AutomobileActionValidatorTest.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/DefaultArgumentResolver.java
trunk/framework/src/test/java/com/thoughtworks/waffle/action/method/DefaultArgumentResolverTestCase.java
Modified: trunk/examples/freemarker-example/resources/index.html
===================================================================
--- trunk/examples/freemarker-example/resources/index.html 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/freemarker-example/resources/index.html 2007-05-04 14:25:14 UTC (rev 428)
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Waffle example with Freemarker</h1>
- <p>Welcome to the Waffle Freemarker/Sitemesh example. Click on the link below to go to the single action for this example</p>
+ <p>Welcome to the Waffle Freemarker/Sitemesh example. Click on the link below to go to the single controller for this example</p>
<a href="people/person.foo">People Maintenance</a>
</body>
</html>
\ No newline at end of file
Modified: trunk/examples/freemarker-example/resources/people/editperson.htm
===================================================================
--- trunk/examples/freemarker-example/resources/people/editperson.htm 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/freemarker-example/resources/people/editperson.htm 2007-05-04 14:25:14 UTC (rev 428)
@@ -14,27 +14,27 @@
<div class="fieldRow">
<label for="person.id">Id:</label>
- <input type="text" name="person.id" id="person.id" value="${action.person.id}" readonly="true" disabled="true"/>
+ <input type="text" name="person.id" id="person.id" value="${controller.person.id}" readonly="true" disabled="true"/>
<br style="clear:both"/>
</div>
<div class="fieldRow">
<label for="person.firstName">First Name:</label>
- <input type="text" name="person.firstName" id="person.firstName" value="${action.person.firstName}"/>
+ <input type="text" name="person.firstName" id="person.firstName" value="${controller.person.firstName}"/>
<br style="clear:both"/>
</div>
<div class="fieldRow">
<label for="person.lastName">Last Name:</label>
- <input type="text" name="person.lastName" id="person.lastName" value="${action.person.lastName}"/>
+ <input type="text" name="person.lastName" id="person.lastName" value="${controller.person.lastName}"/>
<br style="clear:both"/>
</div>
<div class="fieldRow">
<label for="person.email">Email:</label>
- <input type="text" name="person.email" id="person.email" value="${action.person.email}"/>
+ <input type="text" name="person.email" id="person.email" value="${controller.person.email}"/>
<br style="clear:both"/>
</div>
<div class="fieldRow">
<label for="person.dateOfBirth">Date Of Birth:</label>
- <input type="text" name="person.dateOfBirth" id="person.dateOfBirth" value="${action.person.dateOfBirth?string("dd-MM-yyyy")}"/>
+ <input type="text" name="person.dateOfBirth" id="person.dateOfBirth" value="${controller.person.dateOfBirth?string("dd-MM-yyyy")}"/>
<br style="clear:both"/>
</div>
Modified: trunk/examples/freemarker-example/resources/people/person.htm
===================================================================
--- trunk/examples/freemarker-example/resources/people/person.htm 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/freemarker-example/resources/people/person.htm 2007-05-04 14:25:14 UTC (rev 428)
@@ -27,7 +27,7 @@
<th>Email</th>
<th>Date of Birth</th>
</tr>
- <#list action.persons as person>
+ <#list controller.persons as person>
<tr class="odd">
<td>
<a href="${base}/people/person.foo?method=select|${person.id}">${person.id}</a>
@@ -44,7 +44,7 @@
<!-- Example of partial page -->
<div id="editArea">
- <#if action.person?exists>
+ <#if controller.person?exists>
<#include "editperson.htm" parse="true">
</#if>
</div>
Modified: trunk/examples/freemarker-example/src/main/java/com/thoughtworks/waffle/example/freemarker/MyRegistrar.java
===================================================================
--- trunk/examples/freemarker-example/src/main/java/com/thoughtworks/waffle/example/freemarker/MyRegistrar.java 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/freemarker-example/src/main/java/com/thoughtworks/waffle/example/freemarker/MyRegistrar.java 2007-05-04 14:25:14 UTC (rev 428)
@@ -4,7 +4,7 @@
import com.thoughtworks.waffle.registrar.RegisterWithApplication;
import com.thoughtworks.waffle.registrar.RegisterWithSession;
import com.thoughtworks.waffle.registrar.Registrar;
-import com.thoughtworks.waffle.example.freemarker.action.PersonAction;
+import com.thoughtworks.waffle.example.freemarker.action.PersonController;
import com.thoughtworks.waffle.example.freemarker.dao.SimplePersonDAO;
public class MyRegistrar extends AbstractRegistrar {
@@ -20,6 +20,6 @@
@RegisterWithSession
public void session() {
- register("people/person", PersonAction.class);
+ register("people/person", PersonController.class);
}
}
Deleted: trunk/examples/freemarker-example/src/main/java/com/thoughtworks/waffle/example/freemarker/action/PersonAction.java
===================================================================
--- trunk/examples/freemarker-example/src/main/java/com/thoughtworks/waffle/example/freemarker/action/PersonAction.java 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/freemarker-example/src/main/java/com/thoughtworks/waffle/example/freemarker/action/PersonAction.java 2007-05-04 14:25:14 UTC (rev 428)
@@ -1,48 +0,0 @@
-package com.thoughtworks.waffle.example.freemarker.action;
-
-import com.thoughtworks.waffle.example.freemarker.dao.PersonDAO;
-import com.thoughtworks.waffle.example.freemarker.model.Person;
-
-import java.util.Collection;
-
-public class PersonAction {
- private final PersonDAO personDAO;
- private Person person;
-
- public PersonAction(PersonDAO personDAO) {
- this.personDAO = personDAO;
- }
-
- public Collection<Person> getPersons() {
- return personDAO.findAll();
- }
-
- public void remove(Long personId) {
- personDAO.delete(personId);
- }
-
- public void select(Long id) {
- this.person = personDAO.findById(id);
- }
-
- public void save() {
- personDAO.save(person);
- }
-
- public void create() {
- person = new Person();
- }
-
- public void cancel() {
- person = null;
- }
-
- public Person getPerson() {
- return person;
- }
-
- public void setPerson(Person person) {
- this.person = person;
- }
-
-}
Copied: trunk/examples/freemarker-example/src/main/java/com/thoughtworks/waffle/example/freemarker/action/PersonController.java (from rev 421, trunk/examples/freemarker-example/src/main/java/com/thoughtworks/waffle/example/freemarker/action/PersonAction.java)
===================================================================
--- trunk/examples/freemarker-example/src/main/java/com/thoughtworks/waffle/example/freemarker/action/PersonController.java (rev 0)
+++ trunk/examples/freemarker-example/src/main/java/com/thoughtworks/waffle/example/freemarker/action/PersonController.java 2007-05-04 14:25:14 UTC (rev 428)
@@ -0,0 +1,48 @@
+package com.thoughtworks.waffle.example.freemarker.action;
+
+import com.thoughtworks.waffle.example.freemarker.dao.PersonDAO;
+import com.thoughtworks.waffle.example.freemarker.model.Person;
+
+import java.util.Collection;
+
+public class PersonController {
+ private final PersonDAO personDAO;
+ private Person person;
+
+ public PersonController(PersonDAO personDAO) {
+ this.personDAO = personDAO;
+ }
+
+ public Collection<Person> getPersons() {
+ return personDAO.findAll();
+ }
+
+ public void remove(Long personId) {
+ personDAO.delete(personId);
+ }
+
+ public void select(Long id) {
+ this.person = personDAO.findById(id);
+ }
+
+ public void save() {
+ personDAO.save(person);
+ }
+
+ public void create() {
+ person = new Person();
+ }
+
+ public void cancel() {
+ person = null;
+ }
+
+ public Person getPerson() {
+ return person;
+ }
+
+ public void setPerson(Person person) {
+ this.person = person;
+ }
+
+}
Modified: trunk/examples/paranamer-example/resources/automobile.jspx
===================================================================
--- trunk/examples/paranamer-example/resources/automobile.jspx 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/paranamer-example/resources/automobile.jspx 2007-05-04 14:25:14 UTC (rev 428)
@@ -13,7 +13,7 @@
<head></head>
<body>
-<form action="automobile.action" method="post">
+<form action="automobile.waffle" method="post">
<c:if test="${errors.errorMessageCount > 0}">
<c:forEach var="error" items="${errors.allErrorMessages}">
@@ -27,14 +27,14 @@
<tr>
<td>Make:</td>
<td>
- <input type="text" value="${fn:escapeXml(action.make)}" name="make"/>
+ <input type="text" value="${fn:escapeXml(controller.make)}" name="make"/>
</td>
</tr>
<tr>
<td>Model:</td>
<td>
- <input type="text" value="${fn:escapeXml(action.model)}" name="model"/>
+ <input type="text" value="${fn:escapeXml(controller.model)}" name="model"/>
</td>
</tr>
@@ -43,18 +43,18 @@
<tr>
<td>Top Speed:</td>
<td>
- <input type="text" value="${fn:escapeXml(action.topSpeed)}" name="topSpeed"/>
+ <input type="text" value="${fn:escapeXml(controller.topSpeed)}" name="topSpeed"/>
</td>
</tr>
<tr>
<td>Speed:</td>
- <td>${action.speed}</td>
+ <td>${controller.speed}</td>
</tr>
</table>
<br/>
- <a href="automobile.action?method=accelerate|15">Accelerate!</a>
+ <a href="automobile.waffle?method=accelerate|15">Accelerate!</a>
<br/>
- <a href="automobile.action?method=stop">Stop!</a>
+ <a href="automobile.waffle?method=stop">Stop!</a>
<br/><br/>
<input type="submit"/>
</form>
Modified: trunk/examples/paranamer-example/resources/calculator.jspx
===================================================================
--- trunk/examples/paranamer-example/resources/calculator.jspx 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/paranamer-example/resources/calculator.jspx 2007-05-04 14:25:14 UTC (rev 428)
@@ -19,7 +19,7 @@
</head>
<body>
-<form action="calculator.action" method="post">
+<form action="calculator.waffle" method="post">
<h3>Waffle example: Calculator</h3>
@@ -36,7 +36,7 @@
<div class="fieldRow">
<label for="result">Result:</label>
- <input type="text" name="result" id="result" value="${action.result}" disabled="disabled" readonly="readonly"/>
+ <input type="text" name="result" id="result" value="${controller.result}" disabled="disabled" readonly="readonly"/>
<br style="clear:both"/>
</div>
Modified: trunk/examples/paranamer-example/resources/helloworld.jspx
===================================================================
--- trunk/examples/paranamer-example/resources/helloworld.jspx 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/paranamer-example/resources/helloworld.jspx 2007-05-04 14:25:14 UTC (rev 428)
@@ -7,8 +7,8 @@
doctype-system="http://www.w3c.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<jsp:directive.page contentType="text/html;charset=UTF-8"/>
-<head><title>Hello World Action</title></head>
+<head><title>Hello World Controller</title></head>
<body>
-<h1>${action.greeting}</h1>
+<h1>${controller.greeting}</h1>
</body>
</html>
\ No newline at end of file
Modified: trunk/examples/paranamer-example/resources/index.html
===================================================================
--- trunk/examples/paranamer-example/resources/index.html 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/paranamer-example/resources/index.html 2007-05-04 14:25:14 UTC (rev 428)
@@ -13,8 +13,8 @@
<p>Welcome to the Waffle paranamer example. You can play with waffle by trying one of the examples below:</p>
<ul>
- <li><a href="calculator.action">Calculator</a></li>
- <li><a href="people/person.action">Person Maintenance</a></li>
+ <li><a href="calculator.waffle">Calculator</a></li>
+ <li><a href="people/person.waffle">Person Maintenance</a></li>
</ul>
</body>
</html>
\ No newline at end of file
Modified: trunk/examples/paranamer-example/resources/people/editperson.jspx
===================================================================
--- trunk/examples/paranamer-example/resources/people/editperson.jspx 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/paranamer-example/resources/people/editperson.jspx 2007-05-04 14:25:14 UTC (rev 428)
@@ -17,27 +17,27 @@
<div class="fieldRow">
<label for="person.id">Id:</label>
- <input type="text" name="person.id" id="person.id" value="${action.person.id}" readonly="true" disabled="true"/>
+ <input type="text" name="person.id" id="person.id" value="${controller.person.id}" readonly="true" disabled="true"/>
<br style="clear:both"/>
</div>
<div class="fieldRow">
<label for="person.firstName">First Name:</label>
- <input type="text" name="person.firstName" id="person.firstName" value="${action.person.firstName}"/>
+ <input type="text" name="person.firstName" id="person.firstName" value="${controller.person.firstName}"/>
<br style="clear:both"/>
</div>
<div class="fieldRow">
<label for="person.lastName">Last Name:</label>
- <input type="text" name="person.lastName" id="person.lastName" value="${action.person.lastName}"/>
+ <input type="text" name="person.lastName" id="person.lastName" value="${controller.person.lastName}"/>
<br style="clear:both"/>
</div>
<div class="fieldRow">
<label for="person.email">Email:</label>
- <input type="text" name="person.email" id="person.email" value="${action.person.email}"/>
+ <input type="text" name="person.email" id="person.email" value="${controller.person.email}"/>
<br style="clear:both"/>
</div>
<div class="fieldRow">
<label for="person.dateOfBirth">Date of Birth:</label>
- <fmt:formatDate value="${action.person.dateOfBirth}" var="birthDate" pattern="dd-MM-yyyy"/>
+ <fmt:formatDate value="${controller.person.dateOfBirth}" var="birthDate" pattern="dd-MM-yyyy"/>
<input type="text" name="person.dateOfBirth" id="person.dateOfBirth" value="${birthDate}"/>
<br style="clear:both"/>
</div>
Modified: trunk/examples/paranamer-example/resources/people/person.jspx
===================================================================
--- trunk/examples/paranamer-example/resources/people/person.jspx 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/paranamer-example/resources/people/person.jspx 2007-05-04 14:25:14 UTC (rev 428)
@@ -23,7 +23,7 @@
</head>
<body>
-<form action="${pageContext.request.contextPath}/people/person.action" method="post">
+<form action="${pageContext.request.contextPath}/people/person.waffle" method="post">
<h3>Waffle example: Select Person</h3>
@@ -35,10 +35,10 @@
<th>Email</th>
<th>Date of Birth</th>
</tr>
- <c:forEach var="person" items="${action.persons}" varStatus="status">
+ <c:forEach var="person" items="${controller.persons}" varStatus="status">
<tr class="${status.index % 2 eq 0 ? 'even' : 'odd'}">
<td>
- <a href="${pageContext.request.contextPath}/people/person.action?method=select|${person.id}">${person.id}</a>
+ <a href="${pageContext.request.contextPath}/people/person.waffle?method=select|${person.id}">${person.id}</a>
</td>
<td>${person.firstName}</td>
<td>${person.lastName}</td>
@@ -52,7 +52,7 @@
<!-- Example of partial page -->
<div id="editArea">
- <c:if test="${action.person != null}">
+ <c:if test="${controller.person != null}">
<jsp:directive.include file="editperson.jspx"/>
</c:if>
</div>
Modified: trunk/examples/paranamer-example/resources/scripts/myscript.js
===================================================================
--- trunk/examples/paranamer-example/resources/scripts/myscript.js 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/paranamer-example/resources/scripts/myscript.js 2007-05-04 14:25:14 UTC (rev 428)
@@ -22,5 +22,5 @@
function handleDrop(element, dropon, event) {
var pars = 'method=' + element.id;
- new Ajax.Updater({success: 'selection'}, "ajaxexample.action", {method: 'get', parameters: pars, evalScripts:true});
+ new Ajax.Updater({success: 'selection'}, "ajaxexample.waffle", {method: 'get', parameters: pars, evalScripts:true});
}
\ No newline at end of file
Modified: trunk/examples/paranamer-example/resources/selection.jspx
===================================================================
--- trunk/examples/paranamer-example/resources/selection.jspx 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/paranamer-example/resources/selection.jspx 2007-05-04 14:25:14 UTC (rev 428)
@@ -2,7 +2,7 @@
<div id="selected" class="items">
<div style="float:left; font-weight:bold">Selected</div>
<br style="clear:both"/>
- <c:forEach var="item" items="${action.selected}" varStatus="status">
+ <c:forEach var="item" items="${controller.selected}" varStatus="status">
<div class="item_selected" id="remove|${status.index}">${item.name}</div>
</c:forEach>
</div>
@@ -10,7 +10,7 @@
<div id="available" class="items">
<div style="float:left; font-weight:bold">Available</div>
<br style="clear:both"/>
- <c:forEach var="item" items="${action.available}" varStatus="status">
+ <c:forEach var="item" items="${controller.available}" varStatus="status">
<div class="item_available" id="add|${status.index}">${item.name}</div>
</c:forEach>
</div>
Modified: trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/MyRegistrar.java
===================================================================
--- trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/MyRegistrar.java 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/MyRegistrar.java 2007-05-04 14:25:14 UTC (rev 428)
@@ -4,9 +4,9 @@
import com.thoughtworks.waffle.registrar.RegisterWithApplication;
import com.thoughtworks.waffle.registrar.RegisterWithSession;
import com.thoughtworks.waffle.registrar.Registrar;
-import com.thoughtworks.waffle.example.paranamer.action.CalculatorAction;
-import com.thoughtworks.waffle.example.paranamer.action.HelloWorldAction;
-import com.thoughtworks.waffle.example.paranamer.action.PersonAction;
+import com.thoughtworks.waffle.example.paranamer.action.CalculatorController;
+import com.thoughtworks.waffle.example.paranamer.action.HelloWorldController;
+import com.thoughtworks.waffle.example.paranamer.action.PersonController;
import com.thoughtworks.waffle.example.paranamer.dao.SimplePersonDAO;
public class MyRegistrar extends AbstractRegistrar {
@@ -18,13 +18,13 @@
@RegisterWithApplication
public void application() {
register(SimplePersonDAO.class);
- register("helloworld", HelloWorldAction.class);
+ register("helloworld", HelloWorldController.class);
register("ajaxexample", AjaxExample.class);
}
@RegisterWithSession
public void session() {
- register("calculator", CalculatorAction.class);
- register("people/person", PersonAction.class);
+ register("calculator", CalculatorController.class);
+ register("people/person", PersonController.class);
}
}
Deleted: trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/CalculatorAction.java
===================================================================
--- trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/CalculatorAction.java 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/CalculatorAction.java 2007-05-04 14:25:14 UTC (rev 428)
@@ -1,22 +0,0 @@
-package com.thoughtworks.waffle.example.paranamer.action;
-
-public class CalculatorAction {
- public Number result;
-
- public Number getResult() {
- return result;
- }
-
- public void add(int firstNumber, int secondNumber) {
- result = firstNumber + secondNumber;
- }
-
- public void subtract(long firstNumber, long secondNumber) {
- result = firstNumber - secondNumber;
- }
-
- public void multiply(float firstNumber, Float secondNumber) {
- result = firstNumber * secondNumber;
- }
-
-}
Copied: trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/CalculatorController.java (from rev 421, trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/CalculatorAction.java)
===================================================================
--- trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/CalculatorController.java (rev 0)
+++ trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/CalculatorController.java 2007-05-04 14:25:14 UTC (rev 428)
@@ -0,0 +1,22 @@
+package com.thoughtworks.waffle.example.paranamer.action;
+
+public class CalculatorController {
+ public Number result;
+
+ public Number getResult() {
+ return result;
+ }
+
+ public void add(int firstNumber, int secondNumber) {
+ result = firstNumber + secondNumber;
+ }
+
+ public void subtract(long firstNumber, long secondNumber) {
+ result = firstNumber - secondNumber;
+ }
+
+ public void multiply(float firstNumber, Float secondNumber) {
+ result = firstNumber * secondNumber;
+ }
+
+}
Deleted: trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/HelloWorldAction.java
===================================================================
--- trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/HelloWorldAction.java 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/HelloWorldAction.java 2007-05-04 14:25:14 UTC (rev 428)
@@ -1,8 +0,0 @@
-package com.thoughtworks.waffle.example.paranamer.action;
-
-public class HelloWorldAction {
-
- public String getGreeting() {
- return "Hello World!";
- }
-}
Copied: trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/HelloWorldController.java (from rev 421, trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/HelloWorldAction.java)
===================================================================
--- trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/HelloWorldController.java (rev 0)
+++ trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/HelloWorldController.java 2007-05-04 14:25:14 UTC (rev 428)
@@ -0,0 +1,8 @@
+package com.thoughtworks.waffle.example.paranamer.action;
+
+public class HelloWorldController {
+
+ public String getGreeting() {
+ return "Hello World!";
+ }
+}
Deleted: trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/PersonAction.java
===================================================================
--- trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/PersonAction.java 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/PersonAction.java 2007-05-04 14:25:14 UTC (rev 428)
@@ -1,48 +0,0 @@
-package com.thoughtworks.waffle.example.paranamer.action;
-
-import com.thoughtworks.waffle.example.paranamer.dao.PersonDAO;
-import com.thoughtworks.waffle.example.paranamer.model.Person;
-
-import java.util.Collection;
-
-public class PersonAction {
- private final PersonDAO personDAO;
- private Person person;
-
- public PersonAction(PersonDAO personDAO) {
- this.personDAO = personDAO;
- }
-
- public Collection<Person> getPersons() {
- return personDAO.findAll();
- }
-
- public void remove(Long personId) {
- personDAO.delete(personId);
- }
-
- public void select(Long id) {
- this.person = personDAO.findById(id);
- }
-
- public void save() {
- personDAO.save(person);
- }
-
- public void create() {
- person = new Person();
- }
-
- public void cancel() {
- person = null;
- }
-
- public Person getPerson() {
- return person;
- }
-
- public void setPerson(Person person) {
- this.person = person;
- }
-
-}
Copied: trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/PersonController.java (from rev 421, trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/PersonAction.java)
===================================================================
--- trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/PersonController.java (rev 0)
+++ trunk/examples/paranamer-example/src/main/java/com/thoughtworks/waffle/example/paranamer/action/PersonController.java 2007-05-04 14:25:14 UTC (rev 428)
@@ -0,0 +1,48 @@
+package com.thoughtworks.waffle.example.paranamer.action;
+
+import com.thoughtworks.waffle.example.paranamer.dao.PersonDAO;
+import com.thoughtworks.waffle.example.paranamer.model.Person;
+
+import java.util.Collection;
+
+public class PersonController {
+ private final PersonDAO personDAO;
+ private Person person;
+
+ public PersonController(PersonDAO personDAO) {
+ this.personDAO = personDAO;
+ }
+
+ public Collection<Person> getPersons() {
+ return personDAO.findAll();
+ }
+
+ public void remove(Long personId) {
+ personDAO.delete(personId);
+ }
+
+ public void select(Long id) {
+ this.person = personDAO.findById(id);
+ }
+
+ public void save() {
+ personDAO.save(person);
+ }
+
+ public void create() {
+ person = new Person();
+ }
+
+ public void cancel() {
+ person = null;
+ }
+
+ public Person getPerson() {
+ return person;
+ }
+
+ public void setPerson(Person person) {
+ this.person = person;
+ }
+
+}
Modified: trunk/examples/paranamer-example/src/main/webapp/WEB-INF/web.xml
===================================================================
--- trunk/examples/paranamer-example/src/main/webapp/WEB-INF/web.xml 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/paranamer-example/src/main/webapp/WEB-INF/web.xml 2007-05-04 14:25:14 UTC (rev 428)
@@ -34,7 +34,7 @@
</filter>
<filter-mapping>
<filter-name>WaffleRequestFilter</filter-name>
- <url-pattern>*.action</url-pattern>
+ <url-pattern>*.waffle</url-pattern>
</filter-mapping>
<!-- 5. Register Waffle's FrontController servlet -->
@@ -45,7 +45,7 @@
</servlet>
<servlet-mapping>
<servlet-name>waffle</servlet-name>
- <url-pattern>*.action</url-pattern>
+ <url-pattern>*.waffle</url-pattern>
</servlet-mapping>
<welcome-file-list>
Modified: trunk/examples/simple-example/resources/automobile.jspx
===================================================================
--- trunk/examples/simple-example/resources/automobile.jspx 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/simple-example/resources/automobile.jspx 2007-05-04 14:25:14 UTC (rev 428)
@@ -13,7 +13,7 @@
<head></head>
<body>
-<form action="automobile.action" method="post">
+<form action="automobile.waffle" method="post">
<c:if test="${errors.errorMessageCount > 0}">
<c:forEach var="error" items="${errors.allErrorMessages}">
@@ -27,14 +27,14 @@
<tr>
<td>Make:</td>
<td>
- <input type="text" value="${fn:escapeXml(action.make)}" name="make"/>
+ <input type="text" value="${fn:escapeXml(controller.make)}" name="make"/>
</td>
</tr>
<tr>
<td>Model:</td>
<td>
- <input type="text" value="${fn:escapeXml(action.model)}" name="model"/>
+ <input type="text" value="${fn:escapeXml(controller.model)}" name="model"/>
</td>
</tr>
@@ -43,18 +43,18 @@
<tr>
<td>Top Speed:</td>
<td>
- <input type="text" value="${fn:escapeXml(action.topSpeed)}" name="topSpeed"/>
+ <input type="text" value="${fn:escapeXml(controller.topSpeed)}" name="topSpeed"/>
</td>
</tr>
<tr>
<td>Speed:</td>
- <td>${action.speed}</td>
+ <td>${controller.speed}</td>
</tr>
</table>
<br/>
- <a href="automobile.action?method=accelerate|15">Accelerate!</a>
+ <a href="automobile.waffle?method=accelerate|15">Accelerate!</a>
<br/>
- <a href="automobile.action?method=stop">Stop!</a>
+ <a href="automobile.waffle?method=stop">Stop!</a>
<br/><br/>
<input type="submit"/>
</form>
Modified: trunk/examples/simple-example/resources/calculator.jspx
===================================================================
--- trunk/examples/simple-example/resources/calculator.jspx 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/simple-example/resources/calculator.jspx 2007-05-04 14:25:14 UTC (rev 428)
@@ -19,7 +19,7 @@
</head>
<body>
-<form action="calculator.action" method="post">
+<form action="calculator.waffle" method="post">
<h3>Waffle example: Calculator</h3>
@@ -36,7 +36,7 @@
<div class="fieldRow">
<label for="result">Result:</label>
- <input type="text" name="result" id="result" value="${action.result}" disabled="disabled" readonly="readonly"/>
+ <input type="text" name="result" id="result" value="${controller.result}" disabled="disabled" readonly="readonly"/>
<br style="clear:both"/>
</div>
Modified: trunk/examples/simple-example/resources/editperson.jspx
===================================================================
--- trunk/examples/simple-example/resources/editperson.jspx 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/simple-example/resources/editperson.jspx 2007-05-04 14:25:14 UTC (rev 428)
@@ -17,27 +17,27 @@
<div class="fieldRow">
<label for="person.id">Id:</label>
- <input type="text" name="person.id" id="person.id" value="${action.person.id}" readonly="true" disabled="true"/>
+ <input type="text" name="person.id" id="person.id" value="${controller.person.id}" readonly="true" disabled="true"/>
<br style="clear:both"/>
</div>
<div class="fieldRow">
<label for="person.firstName">First Name:</label>
- <input type="text" name="person.firstName" id="person.firstName" value="${action.person.firstName}"/>
+ <input type="text" name="person.firstName" id="person.firstName" value="${controller.person.firstName}"/>
<br style="clear:both"/>
</div>
<div class="fieldRow">
<label for="person.lastName">Last Name:</label>
- <input type="text" name="person.lastName" id="person.lastName" value="${action.person.lastName}"/>
+ <input type="text" name="person.lastName" id="person.lastName" value="${controller.person.lastName}"/>
<br style="clear:both"/>
</div>
<div class="fieldRow">
<label for="person.email">Email:</label>
- <input type="text" name="person.email" id="person.email" value="${action.person.email}"/>
+ <input type="text" name="person.email" id="person.email" value="${controller.person.email}"/>
<br style="clear:both"/>
</div>
<div class="fieldRow">
<label for="person.dateOfBirth">Date of Birth:</label>
- <fmt:formatDate value="${action.person.dateOfBirth}" var="birthDate" pattern="dd-MM-yyyy"/>
+ <fmt:formatDate value="${controller.person.dateOfBirth}" var="birthDate" pattern="dd-MM-yyyy"/>
<input type="text" name="person.dateOfBirth" id="person.dateOfBirth" value="${birthDate}"/>
<br style="clear:both"/>
</div>
Modified: trunk/examples/simple-example/resources/helloworld.jspx
===================================================================
--- trunk/examples/simple-example/resources/helloworld.jspx 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/simple-example/resources/helloworld.jspx 2007-05-04 14:25:14 UTC (rev 428)
@@ -7,8 +7,8 @@
doctype-system="http://www.w3c.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<jsp:directive.page contentType="text/html;charset=UTF-8"/>
-<head><title>Hello World Action</title></head>
+<head><title>Hello World Controller</title></head>
<body>
-<h1>${action.greeting}</h1>
+<h1>${controller.greeting}</h1>
</body>
</html>
\ No newline at end of file
Modified: trunk/examples/simple-example/resources/index.html
===================================================================
--- trunk/examples/simple-example/resources/index.html 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/simple-example/resources/index.html 2007-05-04 14:25:14 UTC (rev 428)
@@ -13,8 +13,8 @@
<p>Welcome to the Waffle example. You can play with waffle by trying one of the examples below:</p>
<ul>
- <li><a href="calculator.action">Calculator</a></li>
- <li><a href="person.action">Person Maintenance</a></li>
+ <li><a href="calculator.waffle">Calculator</a></li>
+ <li><a href="person.waffle">Person Maintenance</a></li>
</ul>
</body>
</html>
\ No newline at end of file
Modified: trunk/examples/simple-example/resources/person.jspx
===================================================================
--- trunk/examples/simple-example/resources/person.jspx 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/simple-example/resources/person.jspx 2007-05-04 14:25:14 UTC (rev 428)
@@ -23,7 +23,7 @@
</head>
<body>
-<form action="person.action" method="post">
+<form action="person.waffle" method="post">
<h3>Waffle example: Select Person</h3>
@@ -35,10 +35,10 @@
<th>Email</th>
<th>Date of Birth</th>
</tr>
- <c:forEach var="person" items="${action.persons}" varStatus="status">
+ <c:forEach var="person" items="${controller.persons}" varStatus="status">
<tr class="${status.index % 2 eq 0 ? 'even' : 'odd'}">
<td>
- <a href="person.action?method=select|${person.id}">${person.id}</a>
+ <a href="person.waffle?method=select|${person.id}">${person.id}</a>
</td>
<td>${person.firstName}</td>
<td>${person.lastName}</td>
@@ -52,7 +52,7 @@
<!-- Example of partial page -->
<div id="editArea">
- <c:if test="${action.person != null}">
+ <c:if test="${controller.person != null}">
<jsp:directive.include file="editperson.jspx"/>
</c:if>
</div>
Modified: trunk/examples/simple-example/resources/scripts/myscript.js
===================================================================
--- trunk/examples/simple-example/resources/scripts/myscript.js 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/simple-example/resources/scripts/myscript.js 2007-05-04 14:25:14 UTC (rev 428)
@@ -22,5 +22,5 @@
function handleDrop(element, dropon, event) {
var pars = 'method=' + element.id;
- new Ajax.Updater({success: 'selection'}, "ajaxexample.action", {method: 'get', parameters: pars, evalScripts:true});
+ new Ajax.Updater({success: 'selection'}, "ajaxexample.waffle", {method: 'get', parameters: pars, evalScripts:true});
}
\ No newline at end of file
Modified: trunk/examples/simple-example/resources/selection.jspx
===================================================================
--- trunk/examples/simple-example/resources/selection.jspx 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/simple-example/resources/selection.jspx 2007-05-04 14:25:14 UTC (rev 428)
@@ -2,7 +2,7 @@
<div id="selected" class="items">
<div style="float:left; font-weight:bold">Selected</div>
<br style="clear:both"/>
- <c:forEach var="item" items="${action.selected}" varStatus="status">
+ <c:forEach var="item" items="${controller.selected}" varStatus="status">
<div class="item_selected" id="remove|${status.index}">${item.name}</div>
</c:forEach>
</div>
@@ -10,7 +10,7 @@
<div id="available" class="items">
<div style="float:left; font-weight:bold">Available</div>
<br style="clear:both"/>
- <c:forEach var="item" items="${action.available}" varStatus="status">
+ <c:forEach var="item" items="${controller.available}" varStatus="status">
<div class="item_available" id="add|${status.index}">${item.name}</div>
</c:forEach>
</div>
Deleted: trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/AutomobileAction.java
===================================================================
--- trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/AutomobileAction.java 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/AutomobileAction.java 2007-05-04 14:25:14 UTC (rev 428)
@@ -1,53 +0,0 @@
-package com.thoughtworks.waffle.example.simple;
-
-public class AutomobileAction {
- private String make = "ford";
- private String model = "mustang";
- private int speed = 0;
- private int topSpeed;
-
- public void init(String make, String model) {
- this.make = make;
- this.model = model;
- }
-
- public String getMake() {
- return make;
- }
-
- public void setMake(String make) {
- this.make = make;
- }
-
- public String getModel() {
- return model;
- }
-
- public void setModel(String model) {
- this.model = model;
- }
-
- public int getSpeed() {
- return speed;
- }
-
- public void setSpeed(int speed) {
- this.speed = speed;
- }
-
- public int getTopSpeed() {
- return topSpeed;
- }
-
- public void setTopSpeed(int topSpeed) {
- this.topSpeed = topSpeed;
- }
-
- public void accelerate(int value) {
- speed += value;
- }
-
- public void stop() {
- speed = 0;
- }
-}
Deleted: trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/AutomobileActionValidator.java
===================================================================
--- trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/AutomobileActionValidator.java 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/AutomobileActionValidator.java 2007-05-04 14:25:14 UTC (rev 428)
@@ -1,26 +0,0 @@
-package com.thoughtworks.waffle.example.simple;
-
-import com.thoughtworks.waffle.i18n.MessageResources;
-import com.thoughtworks.waffle.validation.FieldErrorMessage;
-import com.thoughtworks.waffle.validation.ErrorsContext;
-
-public class AutomobileActionValidator {
- private final AutomobileAction automobileAction;
- private final MessageResources messageResources;
-
- public AutomobileActionValidator(AutomobileAction automobileAction, MessageResources messageResources) {
- this.automobileAction = automobileAction;
- this.messageResources = messageResources;
- }
-
- public void accelerate(ErrorsContext errorsContext, int value) {
- int speed = automobileAction.getSpeed() + value;
- int topSpeed = automobileAction.getTopSpeed();
-
- if(speed > topSpeed) {
- String message = messageResources.getMessage("speed.error", topSpeed);
- errorsContext.addErrorMessage(new FieldErrorMessage("speed", "" + speed, message));
- }
- }
-
-}
Copied: trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/AutomobileController.java (from rev 421, trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/AutomobileAction.java)
===================================================================
--- trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/AutomobileController.java (rev 0)
+++ trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/AutomobileController.java 2007-05-04 14:25:14 UTC (rev 428)
@@ -0,0 +1,53 @@
+package com.thoughtworks.waffle.example.simple;
+
+public class AutomobileController {
+ private String make = "ford";
+ private String model = "mustang";
+ private int speed = 0;
+ private int topSpeed;
+
+ public void init(String make, String model) {
+ this.make = make;
+ this.model = model;
+ }
+
+ public String getMake() {
+ return make;
+ }
+
+ public void setMake(String make) {
+ this.make = make;
+ }
+
+ public String getModel() {
+ return model;
+ }
+
+ public void setModel(String model) {
+ this.model = model;
+ }
+
+ public int getSpeed() {
+ return speed;
+ }
+
+ public void setSpeed(int speed) {
+ this.speed = speed;
+ }
+
+ public int getTopSpeed() {
+ return topSpeed;
+ }
+
+ public void setTopSpeed(int topSpeed) {
+ this.topSpeed = topSpeed;
+ }
+
+ public void accelerate(int value) {
+ speed += value;
+ }
+
+ public void stop() {
+ speed = 0;
+ }
+}
Copied: trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/AutomobileControllerValidator.java (from rev 421, trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/AutomobileActionValidator.java)
===================================================================
--- trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/AutomobileControllerValidator.java (rev 0)
+++ trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/AutomobileControllerValidator.java 2007-05-04 14:25:14 UTC (rev 428)
@@ -0,0 +1,26 @@
+package com.thoughtworks.waffle.example.simple;
+
+import com.thoughtworks.waffle.i18n.MessageResources;
+import com.thoughtworks.waffle.validation.FieldErrorMessage;
+import com.thoughtworks.waffle.validation.ErrorsContext;
+
+public class AutomobileControllerValidator {
+ private final AutomobileController automobileController;
+ private final MessageResources messageResources;
+
+ public AutomobileControllerValidator(AutomobileController automobileController, MessageResources messageResources) {
+ this.automobileController = automobileController;
+ this.messageResources = messageResources;
+ }
+
+ public void accelerate(ErrorsContext errorsContext, int value) {
+ int speed = automobileController.getSpeed() + value;
+ int topSpeed = automobileController.getTopSpeed();
+
+ if(speed > topSpeed) {
+ String message = messageResources.getMessage("speed.error", topSpeed);
+ errorsContext.addErrorMessage(new FieldErrorMessage("speed", "" + speed, message));
+ }
+ }
+
+}
Modified: trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/MyRegistrar.java
===================================================================
--- trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/MyRegistrar.java 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/MyRegistrar.java 2007-05-04 14:25:14 UTC (rev 428)
@@ -5,9 +5,9 @@
import com.thoughtworks.waffle.registrar.RegisterWithSession;
import com.thoughtworks.waffle.registrar.Registrar;
import com.thoughtworks.waffle.example.simple.AjaxExample;
-import com.thoughtworks.waffle.example.simple.action.CalculatorAction;
-import com.thoughtworks.waffle.example.simple.action.HelloWorldAction;
-import com.thoughtworks.waffle.example.simple.action.PersonAction;
+import com.thoughtworks.waffle.example.simple.action.CalculatorController;
+import com.thoughtworks.waffle.example.simple.action.HelloWorldController;
+import com.thoughtworks.waffle.example.simple.action.PersonController;
import com.thoughtworks.waffle.example.simple.dao.SimplePersonDAO;
public class MyRegistrar extends AbstractRegistrar {
@@ -19,17 +19,17 @@
@RegisterWithApplication
public void application() {
register(SimplePersonDAO.class);
- register("helloworld", HelloWorldAction.class);
+ register("helloworld", HelloWorldController.class);
register("ajaxexample", AjaxExample.class);
}
@RegisterWithSession
public void session() {
- register("calculator", CalculatorAction.class);
- register("automobile", AutomobileAction.class);
- register("automobileValidator", AutomobileActionValidator.class);
+ register("calculator", CalculatorController.class);
+ register("automobile", AutomobileController.class);
+ register("automobileValidator", AutomobileControllerValidator.class);
//
- register("person", PersonAction.class);
+ register("person", PersonController.class);
}
}
Deleted: trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/CalculatorAction.java
===================================================================
--- trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/CalculatorAction.java 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/CalculatorAction.java 2007-05-04 14:25:14 UTC (rev 428)
@@ -1,26 +0,0 @@
-package com.thoughtworks.waffle.example.simple.action;
-
-import com.thoughtworks.waffle.action.method.annotation.ActionMethod;
-
-public class CalculatorAction {
- public Number result;
-
- public Number getResult() {
- return result;
- }
-
- public void add(int firstNumber, int secondNumber) {
- result = firstNumber + secondNumber;
- }
-
- @ActionMethod(parameters = {"firstNumber", "secondNumber"})
- public void subtract(long firstNumber, long secondNumber) {
- result = firstNumber - secondNumber;
- }
-
- @ActionMethod(parameters = {"firstNumber", "secondNumber"})
- public void multiply(float firstNumber, Float secondNumber) {
- result = firstNumber * secondNumber;
- }
-
-}
Copied: trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/CalculatorController.java (from rev 421, trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/CalculatorAction.java)
===================================================================
--- trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/CalculatorController.java (rev 0)
+++ trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/CalculatorController.java 2007-05-04 14:25:14 UTC (rev 428)
@@ -0,0 +1,26 @@
+package com.thoughtworks.waffle.example.simple.action;
+
+import com.thoughtworks.waffle.action.method.annotation.ActionMethod;
+
+public class CalculatorController {
+ public Number result;
+
+ public Number getResult() {
+ return result;
+ }
+
+ public void add(int firstNumber, int secondNumber) {
+ result = firstNumber + secondNumber;
+ }
+
+ @ActionMethod(parameters = {"firstNumber", "secondNumber"})
+ public void subtract(long firstNumber, long secondNumber) {
+ result = firstNumber - secondNumber;
+ }
+
+ @ActionMethod(parameters = {"firstNumber", "secondNumber"})
+ public void multiply(float firstNumber, Float secondNumber) {
+ result = firstNumber * secondNumber;
+ }
+
+}
Deleted: trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/HelloWorldAction.java
===================================================================
--- trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/HelloWorldAction.java 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/HelloWorldAction.java 2007-05-04 14:25:14 UTC (rev 428)
@@ -1,8 +0,0 @@
-package com.thoughtworks.waffle.example.simple.action;
-
-public class HelloWorldAction {
-
- public String getGreeting() {
- return "Hello World!";
- }
-}
Copied: trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/HelloWorldController.java (from rev 421, trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/HelloWorldAction.java)
===================================================================
--- trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/HelloWorldController.java (rev 0)
+++ trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/HelloWorldController.java 2007-05-04 14:25:14 UTC (rev 428)
@@ -0,0 +1,8 @@
+package com.thoughtworks.waffle.example.simple.action;
+
+public class HelloWorldController {
+
+ public String getGreeting() {
+ return "Hello World!";
+ }
+}
Deleted: trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/PersonAction.java
===================================================================
--- trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/PersonAction.java 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/PersonAction.java 2007-05-04 14:25:14 UTC (rev 428)
@@ -1,48 +0,0 @@
-package com.thoughtworks.waffle.example.simple.action;
-
-import com.thoughtworks.waffle.example.simple.dao.PersonDAO;
-import com.thoughtworks.waffle.example.simple.model.Person;
-
-import java.util.Collection;
-
-public class PersonAction {
- private final PersonDAO personDAO;
- private Person person;
-
- public PersonAction(PersonDAO personDAO) {
- this.personDAO = personDAO;
- }
-
- public Collection<Person> getPersons() {
- return personDAO.findAll();
- }
-
- public void remove(Long personId) {
- personDAO.delete(personId);
- }
-
- public void select(Long id) {
- this.person = personDAO.findById(id);
- }
-
- public void save() {
- personDAO.save(person);
- }
-
- public void create() {
- person = new Person();
- }
-
- public void cancel() {
- person = null;
- }
-
- public Person getPerson() {
- return person;
- }
-
- public void setPerson(Person person) {
- this.person = person;
- }
-
-}
Copied: trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/PersonController.java (from rev 421, trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/PersonAction.java)
===================================================================
--- trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/PersonController.java (rev 0)
+++ trunk/examples/simple-example/src/main/java/com/thoughtworks/waffle/example/simple/action/PersonController.java 2007-05-04 14:25:14 UTC (rev 428)
@@ -0,0 +1,48 @@
+package com.thoughtworks.waffle.example.simple.action;
+
+import com.thoughtworks.waffle.example.simple.dao.PersonDAO;
+import com.thoughtworks.waffle.example.simple.model.Person;
+
+import java.util.Collection;
+
+public class PersonController {
+ private final PersonDAO personDAO;
+ private Person person;
+
+ public PersonController(PersonDAO personDAO) {
+ this.personDAO = personDAO;
+ }
+
+ public Collection<Person> getPersons() {
+ return personDAO.findAll();
+ }
+
+ public void remove(Long personId) {
+ personDAO.delete(personId);
+ }
+
+ public void select(Long id) {
+ this.person = personDAO.findById(id);
+ }
+
+ public void save() {
+ personDAO.save(person);
+ }
+
+ public void create() {
+ person = new Person();
+ }
+
+ public void cancel() {
+ person = null;
+ }
+
+ public Person getPerson() {
+ return person;
+ }
+
+ public void setPerson(Person person) {
+ this.person = person;
+ }
+
+}
Modified: trunk/examples/simple-example/src/main/webapp/WEB-INF/web.xml
===================================================================
--- trunk/examples/simple-example/src/main/webapp/WEB-INF/web.xml 2007-05-02 17:32:02 UTC (rev 427)
+++ trunk/examples/simple-example/src/main/webapp/WEB-INF/web.xml 2007-05-04 14:25:14 UTC (rev 428)
@@ -30,7 +30,7 @@
</filter>
<filter-mapping>
<filter-name>WaffleRequestFilter</filter-name>
- <url-pattern>*.action</url-pattern>
+ <url-pattern>*.waffle</url-pattern>
</filter-mapping>
<!-- 5. Register Waffle's FrontController servlet -->
@@ -41,6 +41,6 @@
</servlet>
<servlet-mapping>
<servlet-name>waffle</servlet-name>
- <url-pattern>*.action</url-pattern>
+ <url-pattern>*.waffle</url-pattern>
</servlet-mapping>
</web-app>
Deleted: trunk/examples/simple-example/src/test/java/com/thoughtworks/waffle/example/simple/AutomobileActionValidatorTest.java
===================================================================
--- trunk/examples/simple-example...
[truncated message content] |
|
From: <mau...@us...> - 2007-05-02 17:32:05
|
Revision: 427
http://svn.sourceforge.net/waffle/?rev=427&view=rev
Author: maurotalevi
Date: 2007-05-02 10:32:02 -0700 (Wed, 02 May 2007)
Log Message:
-----------
Updated distribution management to use single server id='sourceforge.net'.
Modified Paths:
--------------
trunk/distribution/pom.xml
Modified: trunk/distribution/pom.xml
===================================================================
--- trunk/distribution/pom.xml 2007-05-02 17:26:49 UTC (rev 426)
+++ trunk/distribution/pom.xml 2007-05-02 17:32:02 UTC (rev 427)
@@ -104,7 +104,7 @@
<!-- Site URL set here in this pom.xml (not its parent) in order for the site to be deployed correctly -->
<distributionManagement>
<site>
- <id>waffle-site</id>
+ <id>sourceforge.net</id>
<url>
scp://shell.sourceforge.net/home/groups/w/wa/waffle/htdocs/
</url>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mau...@us...> - 2007-05-02 17:26:56
|
Revision: 426
http://svn.sourceforge.net/waffle/?rev=426&view=rev
Author: maurotalevi
Date: 2007-05-02 10:26:49 -0700 (Wed, 02 May 2007)
Log Message:
-----------
Updated docs to reflect change to action controllers.
Updated distribution management to use single server id='sourceforge.net'.
Modified Paths:
--------------
trunk/distribution/src/site/site.xml
trunk/pom.xml
Added Paths:
-----------
trunk/distribution/src/site/apt/action-controllers.apt
Removed Paths:
-------------
trunk/distribution/src/site/apt/actions.apt
Copied: trunk/distribution/src/site/apt/action-controllers.apt (from rev 425, trunk/distribution/src/site/apt/actions.apt)
===================================================================
--- trunk/distribution/src/site/apt/action-controllers.apt (rev 0)
+++ trunk/distribution/src/site/apt/action-controllers.apt 2007-05-02 17:26:49 UTC (rev 426)
@@ -0,0 +1,78 @@
+ ------
+ Action Controllers
+ ------
+
+Action Controllers
+
+ The terms <<Action>> and <<Controller>> should be very familiar to those who have experience with web frameworks.
+ An Action originally gets its name from the HTML form tag's <action> attributes
+
++-----+
+<form action="/foobar.action" method="post">
+ ...
+</form>
++-----+
+
+ A consolidated pattern for web frameworks is the {{{http://en.wikipedia.org/wiki/Model-view-controller}MVC}}- where the action is the controller tier.
+ Hence, often action and controller are used interchangeably.
+
+ Other MVC-based web framework require that your action objects extend or implement a base action class specific
+ to that framework. Typically the action would have an <execute()> or <perform()> method that handles the
+ end users request and send a response accordingly. Waffle, however is different than these other frameworks. An
+ Action Controller in Waffle can be any java object (i.e. {{{http://www.martinfowler.com/bliki/POJO.html}POJO}}). Additionally
+ an Action Controller in Waffle can have many methods which are responsible for handling user requests. In Waffle these methods
+ are considered <<ActionMethod>>s.
+
++-----+
+public class ShoppingCartAction implements Serializable {
+ private final Cart cart;
+
+ public ShoppingCartAction(Cart cart) {
+ this.cart = cart;
+ }
+
+ // This is an ActionMethod
+ public void addToCart(long itemId, int quantity) {
+ cart.addItem(itemId, quantity);
+ }
+
+ // This is also an ActionMethod
+ public void removeFromCart(long itemId, int quantity) {
+ cart.removeItem(itemId, quantity);
+ }
+}
++-----+
+
+ Action Controllers and ActionMethods can be dependent on an HttpServletRequest, HttpServletResponse, HttpSession
+ or ServletContext. In practice most Actions you'll create will be dependent on custom Factories, Services, DAO's,
+ etc. But if you have a need for these base Servlet classes it is nice to know that you can get access to them.
+
+ Digging deeper into how an Action works we will continue with the ShoppingCartAction class and add an accessor for
+ a <coupon> field:
+
++-----+
+public class ShoppingCartAction implements Serializable {
+ private String coupon;
+ ...
+
+ public String getCoupon() {
+ return coupon;
+ }
+
+ public void setCoupon(String coupon) {
+ this.coupon = coupon;
+ }
+}
++-----+
+
+ Now lets assume that the ShoppingCartAction is requested with the following request string:
+
+ <<http://localhost:8080/waffle/shoppingCart.action?coupon=freebee>>
+
+ When Waffle's FrontController, <WaffleServlet>, handles this request it will first locate the appropriate action by
+ name "<<shoppingCart>>". Then Waffle will attempt to bind each parameter passed as a value to be set on the Action.
+ So "<<coupon=freebee>>" will set the field "<coupon>" on the action to the value of "<freebee>". (Don't worry
+ parameters that do not correspond to properties on an Action will <<NOT>> cause a failure).
+
+ Lastly, action classes do not have to end in the word 'Action'. 'ShoppingCart' or 'Cart' are as good as
+ 'ShoppingCartAction' for Waffle.
\ No newline at end of file
Deleted: trunk/distribution/src/site/apt/actions.apt
===================================================================
--- trunk/distribution/src/site/apt/actions.apt 2007-04-29 19:35:07 UTC (rev 425)
+++ trunk/distribution/src/site/apt/actions.apt 2007-05-02 17:26:49 UTC (rev 426)
@@ -1,75 +0,0 @@
- ------
- Actions
- ------
-
-Action
-
- The term <<Action>> should be familiar to those who have worked with other web frameworks. An Action gets its name
- from the HTML form tag's <action> attribute.
-
-+-----+
-<form action="/foobar.action" method="post">
- ...
-</form>
-+-----+
-
- Other action based web framework require that your action objects extend or implement a base action class specific
- to that framework. Typically the action would have an <execute()> or <perform()> method that handles the
- end users request and send a response accordingly. Waffle, however is different than these other frameworks. An
- Action in Waffle can be any java object (i.e. {{{http://www.martinfowler.com/bliki/POJO.html}POJO}}). Additionally
- an Action in Waffle can have many methods which are responsible for handling user requests. In Waffle these methods
- are considered <<ActionMethod>>s.
-
-+-----+
-public class ShoppingCartAction implements Serializable {
- private final Cart cart;
-
- public ShoppingCartAction(Cart cart) {
- this.cart = cart;
- }
-
- // This is an ActionMethod
- public void addToCart(long itemId, int quantity) {
- cart.addItem(itemId, quantity);
- }
-
- // This is also an ActionMethod
- public void removeFromCart(long itemId, int quantity) {
- cart.removeItem(itemId, quantity);
- }
-}
-+-----+
-
- Actions and ActionMethods can be dependent on an HttpServletRequest, HttpServletResponse, HttpSession
- or ServletContext. In practice most Actions you'll create will be dependent on custom Factories, Services, DAO's,
- etc. But if you have a need for these base Servlet classes it is nice to know that you can get access to them.
-
- Digging deeper into how an Action works we will continue with the ShoppingCartAction class and add an accessor for
- a <coupon> field:
-
-+-----+
-public class ShoppingCartAction implements Serializable {
- private String coupon;
- ...
-
- public String getCoupon() {
- return coupon;
- }
-
- public void setCoupon(String coupon) {
- this.coupon = coupon;
- }
-}
-+-----+
-
- Now lets assume that the ShoppingCartAction is requested with the following request string:
-
- <<http://localhost:8080/waffle/shoppingCart.action?coupon=freebee>>
-
- When Waffle's FrontController, <WaffleServlet>, handles this request it will first locate the appropriate action by
- name "<<shoppingCart>>". Then Waffle will attempt to bind each parameter passed as a value to be set on the Action.
- So "<<coupon=freebee>>" will set the field "<coupon>" on the action to the value of "<freebee>". (Don't worry
- parameters that do not correspond to properties on an Action will <<NOT>> cause a failure).
-
- Lastly, action classes do not have to end in the word 'Action'. 'ShoppingCart' or 'Cart' are as good as
- 'ShoppingCartAction' for Waffle.
\ No newline at end of file
Modified: trunk/distribution/src/site/site.xml
===================================================================
--- trunk/distribution/src/site/site.xml 2007-04-29 19:35:07 UTC (rev 425)
+++ trunk/distribution/src/site/site.xml 2007-05-02 17:26:49 UTC (rev 426)
@@ -35,8 +35,8 @@
</menu>
<menu name="About Waffle">
- <item name="Actions" href="actions.html"/>
- <item name="ActionMethods" href="action-methods.html"/>
+ <item name="Action Controllers" href="action-controllers.html"/>
+ <item name="Action Methods" href="action-methods.html"/>
<item name="MethodInterceptor" href="interceptors.html"/>
<item name="Internationalization" href="i18n.html"/>
<item name="Registrar" href="registrar.html"/>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2007-04-29 19:35:07 UTC (rev 425)
+++ trunk/pom.xml 2007-05-02 17:26:49 UTC (rev 426)
@@ -303,6 +303,12 @@
<name>Codehaus Snapshot Repository</name>
<url>http://snapshots.repository.codehaus.org</url>
</repository>
+ <repository>
+ <id>codehaus-legacy-repository</id>
+ <name>Codehaus Legacy Repository</name>
+ <url>http://dist.codehaus.org</url>
+ <layout>legacy</layout>
+ </repository>
</repositories>
<pluginRepositories>
@@ -318,20 +324,20 @@
<distributionManagement>
<!--
- The servers here defined must also appear in ~/.m2/settings.xml
+ The server id here defined must also appear in ~/.m2/settings.xml with username
-->
<repository>
- <id>waffle-repository</id>
+ <id>sourceforge.net</id>
<name>Waffle Repository</name>
<url>scp://shell.sourceforge.net/home/groups/w/wa/waffle/htdocs/repository</url>
</repository>
<snapshotRepository>
- <id>waffle-snapshot-repository</id>
+ <id>sourceforge.net</id>
<name>Waffle Snapshot Repository</name>
<url>scp://shell.sourceforge.net/home/groups/w/wa/waffle/htdocs/snapshot-repository</url>
</snapshotRepository>
<site>
- <id>waffle-site</id>
+ <id>sourceforge.net</id>
<name>Waffle Site</name>
<url>scp://shell.sourceforge.net/home/groups/w/wa/waffle/htdocs</url>
</site>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pa...@us...> - 2007-04-29 19:35:25
|
Revision: 425
http://svn.sourceforge.net/waffle/?rev=425&view=rev
Author: paul-h
Date: 2007-04-29 12:35:07 -0700 (Sun, 29 Apr 2007)
Log Message:
-----------
more work on getting groovy side of Waffle working
Modified Paths:
--------------
trunk/extensions/webcontainer/pom.xml
trunk/extensions/webcontainer/src/main/java/com/thoughtworks/waffle/groovy/WaffleNodeBuilder.java
trunk/extensions/webcontainer/src/test/java/com/thoughtworks/waffle/groovy/WaffleNodeBuilderTest.java
Added Paths:
-----------
trunk/extensions/webcontainer/WebContainer.iml
trunk/extensions/webcontainer/resources/
trunk/extensions/webcontainer/resources/fooAction.jspx
trunk/extensions/webcontainer/src/test/java/com/thoughtworks/waffle/groovy/FooRegistrar.java
Added: trunk/extensions/webcontainer/WebContainer.iml
===================================================================
--- trunk/extensions/webcontainer/WebContainer.iml (rev 0)
+++ trunk/extensions/webcontainer/WebContainer.iml 2007-04-29 19:35:07 UTC (rev 425)
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module relativePaths="true" type="JAVA_MODULE" version="4">
+ <component name="ModuleRootManager" />
+ <component name="NewModuleRootManager" inherit-compiler-output="false">
+ <output url="file://$APPLICATION_HOME_DIR$/bin/target/classes" />
+ <exclude-output />
+ <output-test url="file://$APPLICATION_HOME_DIR$/bin/target/test-classes" />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
+ <excludeFolder url="file://$MODULE_DIR$/target" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$M2_REPOSITORY$/junit/junit/3.8.1/junit-3.8.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module" module-name="framework" />
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$M2_REPOSITORY$/groovy/groovy-all/1.0/groovy-all-1.0.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$M2_REPOSITORY$/org/nanocontainer/nanocontainer-groovy/1.2-SNAPSHOT/nanocontainer-groovy-1.2-SNAPSHOT.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="file://$MODULE_DIR$/../../../../pico/java/nanocontainer/trunk/container-groovy/src/java" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$M2_REPOSITORY$/org/nanocontainer/nanocontainer/1.2-SNAPSHOT/nanocontainer-1.2-SNAPSHOT.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="file://$MODULE_DIR$/../../../../pico/java/nanocontainer/trunk/container/src/java" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$M2_REPOSITORY$/org/nanocontainer/nanocontainer-webcontainer/1.2-SNAPSHOT/nanocontainer-webcontainer-1.2-SNAPSHOT.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="file://$MODULE_DIR$/../../../../pico/java/nanocontainer/trunk/webcontainer/src/java" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$M2_REPOSITORY$/org/mortbay/jetty/jetty/6.0.1/jetty-6.0.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$M2_REPOSITORY$/org/mortbay/jetty/jetty-util/6.0.1/jetty-util-6.0.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$M2_REPOSITORY$/javax/servlet/servlet-api/2.4/servlet-api-2.4.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntryProperties />
+ </component>
+</module>
+
Modified: trunk/extensions/webcontainer/pom.xml
===================================================================
--- trunk/extensions/webcontainer/pom.xml 2007-04-29 09:03:17 UTC (rev 424)
+++ trunk/extensions/webcontainer/pom.xml 2007-04-29 19:35:07 UTC (rev 425)
@@ -20,15 +20,36 @@
<dependency>
<groupId>org.nanocontainer</groupId>
<artifactId>nanocontainer-webcontainer</artifactId>
- <version>1.1-RC-1</version>
+ <version>1.2-SNAPSHOT</version>
</dependency>
<dependency>
+ <groupId>org.nanocontainer</groupId>
+ <artifactId>nanocontainer-groovy</artifactId>
+ <version>1.2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.nanocontainer</groupId>
+ <artifactId>nanocontainer</artifactId>
+ <version>1.2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.picocontainer</groupId>
+ <artifactId>picocontainer</artifactId>
+ <version>1.3</version>
+ </dependency>
+ <dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</dependency>
<!-- Test-scoped -->
<dependency>
<groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty</artifactId>
+ <version>6.0.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
<version>6.0.1</version>
<scope>test</scope>
Added: trunk/extensions/webcontainer/resources/fooAction.jspx
===================================================================
--- trunk/extensions/webcontainer/resources/fooAction.jspx (rev 0)
+++ trunk/extensions/webcontainer/resources/fooAction.jspx 2007-04-29 19:35:07 UTC (rev 425)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<html>
+<jsp:output doctype-root-element="html"
+ doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
+ doctype-system="http://www.w3c.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
+<jsp:directive.page contentType="text/html;charset=UTF-8"/>
+<body>
+${action.message}
+</body>
+
+</html>
\ No newline at end of file
Modified: trunk/extensions/webcontainer/src/main/java/com/thoughtworks/waffle/groovy/WaffleNodeBuilder.java
===================================================================
--- trunk/extensions/webcontainer/src/main/java/com/thoughtworks/waffle/groovy/WaffleNodeBuilder.java 2007-04-29 09:03:17 UTC (rev 424)
+++ trunk/extensions/webcontainer/src/main/java/com/thoughtworks/waffle/groovy/WaffleNodeBuilder.java 2007-04-29 19:35:07 UTC (rev 425)
@@ -15,6 +15,8 @@
import java.util.Map;
import org.nanocontainer.webcontainer.PicoContextHandler;
+import org.nanocontainer.script.groovy.buildernodes.AbstractBuilderNode;
+import org.nanocontainer.script.NanoContainerMarkupException;
import org.picocontainer.PicoContainer;
public class WaffleNodeBuilder extends NodeBuilder {
@@ -26,9 +28,8 @@
this.context = context;
}
-
- protected Object createNode(Object name, Map attributes) {
- if (name.equals("registrar")) {
+ public Object createNode(Object name, Map attributes) throws NanoContainerMarkupException {
+ if (name.equals("actionRegistrar")) {
return new ActionRegistrarNodeBuilder(parentContainer, (Class) attributes.remove("class"));
} else if (name.equals("requestFilter")) {
return new RequestFilterNodeBuilder(context, (String) attributes.remove("filter"));
Added: trunk/extensions/webcontainer/src/test/java/com/thoughtworks/waffle/groovy/FooRegistrar.java
===================================================================
--- trunk/extensions/webcontainer/src/test/java/com/thoughtworks/waffle/groovy/FooRegistrar.java (rev 0)
+++ trunk/extensions/webcontainer/src/test/java/com/thoughtworks/waffle/groovy/FooRegistrar.java 2007-04-29 19:35:07 UTC (rev 425)
@@ -0,0 +1,46 @@
+package com.thoughtworks.waffle.groovy;
+
+import com.thoughtworks.waffle.registrar.AbstractRegistrar;
+import com.thoughtworks.waffle.registrar.Registrar;
+import com.thoughtworks.waffle.registrar.RegisterWithApplication;
+import com.thoughtworks.waffle.registrar.RegisterWithSession;
+
+public class FooRegistrar extends AbstractRegistrar {
+
+
+ public FooRegistrar(Registrar delegate) {
+ super(delegate);
+ }
+
+ @RegisterWithApplication
+ public void application() {
+ register(FooApplicationAction.class);
+ }
+
+ @RegisterWithSession
+ public void session() {
+ register("fooAction", FooSessionAction.class);
+ }
+
+
+ // ---------------
+
+ public static class FooApplicationAction {
+ public String toString() {
+ return "(ABC)";
+ }
+ }
+
+ public static class FooSessionAction {
+ private final FooApplicationAction fooApplicationAction;
+
+ public FooSessionAction(FooApplicationAction fooApplicationAction) {
+ this.fooApplicationAction = fooApplicationAction;
+ }
+
+ public String getMessage() {
+ return fooApplicationAction.toString() + "(DEF)";
+ }
+ }
+
+}
Modified: trunk/extensions/webcontainer/src/test/java/com/thoughtworks/waffle/groovy/WaffleNodeBuilderTest.java
===================================================================
--- trunk/extensions/webcontainer/src/test/java/com/thoughtworks/waffle/groovy/WaffleNodeBuilderTest.java 2007-04-29 09:03:17 UTC (rev 424)
+++ trunk/extensions/webcontainer/src/test/java/com/thoughtworks/waffle/groovy/WaffleNodeBuilderTest.java 2007-04-29 19:35:07 UTC (rev 425)
@@ -12,11 +12,13 @@
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
+import java.io.FileNotFoundException;
import java.net.URL;
import junit.framework.TestCase;
import org.nanocontainer.script.groovy.GroovyContainerBuilder;
import org.picocontainer.PicoContainer;
+import org.picocontainer.MutablePicoContainer;
import org.picocontainer.defaults.ObjectReference;
import org.picocontainer.defaults.SimpleReference;
import org.mortbay.util.IO;
@@ -35,43 +37,22 @@
Thread.sleep(1 * 1000);
}
- public void testCanComposeWebContainerWithSimpleWaffleRegistrar() throws InterruptedException, IOException {
- Reader script = new StringReader("" +
- "nano = builder.container {\n" +
- " component(instance:new StringBuffer())\n" +
- " webContainer(port:8080) {\n" +
- " context(path:'/bar') {\n" +
- " waffleApp {\n" +
-
- //TODO Mike in here we need to register the requestFilter (with default filter ... ".action")
- // as well.
-
-
- " registrar(class:com.thoughtworks.waffle.testmodel.CustomRegistrar)\n" +
- " }\n" +
- " }\n" +
- " }\n" +
- "}\n");
-
- // assertPageIsHostedWithContents(script, "hello", "http://localhost:8080/bar/FakeAction.action?method=sayHello|hello");
- }
-
-
public void testCanComposeWebContainerWithCompleteWaffleApp() throws InterruptedException, IOException {
Reader script = new StringReader("" +
+ "" +
"nano = builder.container {\n" +
" webContainer(port:8080) {\n" +
" context(path:'/bar') {\n" +
- " waffleApp {\n" +
- " actionRegistrar(class:com.thoughtworks.waffle.testmodel.MyRegistrar)\n" +
- " requestFilter(filter:'*.action')\n" +
- " viewSuffix(suffix:'.jspx')\n" +
+ " waffleApp {" +
+ " actionRegistrar(class:com.thoughtworks.waffle.groovy.FooRegistrar)\n" +
+ " requestFilter(filter:'*.action')\n" +
+ " viewSuffix(suffix:'.jspx')\n" +
" }\n" +
" }\n" +
" }\n" +
"}\n");
- //assertPageIsHostedWithContents(script, "hello Fred", "http://localhost:8080/bar/foo2");
+ assertPageIsHostedWithContents(script, "hello Fred", "http://localhost:8080/bar/foo2");
}
public void testCanComposeWholeWaffleIncludingComposedActions() throws InterruptedException, IOException {
@@ -99,15 +80,19 @@
//assertPageIsHostedWithContents(script, "hello Fred", "http://localhost:8080/bar/foo2");
}
-
-
private void assertPageIsHostedWithContents(Reader script, String message, String url) throws InterruptedException, IOException {
- pico = buildContainer(script, null, "SOME_SCOPE");
+ pico = (MutablePicoContainer) buildContainer(script, null, "SOME_SCOPE");
assertNotNull(pico);
- Thread.sleep(2000 * 1000);
+ Thread.sleep(2 * 1000);
- assertEquals(message, IO.toString(new URL(url).openStream()));
+ String actual = null;
+ try {
+ actual = IO.toString(new URL(url).openStream());
+ } catch (FileNotFoundException e) {
+ actual = "";
+ }
+ assertEquals(message, actual);
}
private PicoContainer buildContainer(Reader script, PicoContainer parent, Object scope) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mau...@us...> - 2007-04-29 09:03:22
|
Revision: 424
http://svn.sourceforge.net/waffle/?rev=424&view=rev
Author: maurotalevi
Date: 2007-04-29 02:03:17 -0700 (Sun, 29 Apr 2007)
Log Message:
-----------
Updated action/controller javadocs.
Modified Paths:
--------------
trunk/framework/src/main/java/com/thoughtworks/waffle/action/ControllerDefinition.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/ControllerNameResolver.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/DefaultControllerDefinitionFactory.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/DefaultControllerNameResolver.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/AbstractMethodDefinitionFinder.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/ActionMethodExecutor.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/AnnotatedMethodDefinitionFinder.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/DefaultActionMethodExecutor.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/MatchingMethodException.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/MethodDefinition.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/MethodDefinitionFinder.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/ParanamerMethodDefinitionFinder.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/RequestParameterMethodNameResolver.java
Modified: trunk/framework/src/main/java/com/thoughtworks/waffle/action/ControllerDefinition.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/action/ControllerDefinition.java 2007-04-28 19:37:33 UTC (rev 423)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/action/ControllerDefinition.java 2007-04-29 09:03:17 UTC (rev 424)
@@ -18,7 +18,7 @@
* the name the controller was registered under and the actual controller instance.
* <br/>
* <b>NOTE:</b> This is required so that Waffle can properly direct to a
- * view when no 'controller method' request parameter was found. Which ypically occurs
+ * view when no 'controller method' request parameter was found, which typically occurs
* when a user first enters a web application.
*
* @author Michael Ward
Modified: trunk/framework/src/main/java/com/thoughtworks/waffle/action/ControllerNameResolver.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/action/ControllerNameResolver.java 2007-04-28 19:37:33 UTC (rev 423)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/action/ControllerNameResolver.java 2007-04-29 09:03:17 UTC (rev 424)
@@ -12,6 +12,11 @@
import javax.servlet.http.HttpServletRequest;
+/**
+ * Interface to lookup the controller name in the request
+ *
+ * @author Michael Ward
+ */
public interface ControllerNameResolver {
String findControllerName(HttpServletRequest request);
Modified: trunk/framework/src/main/java/com/thoughtworks/waffle/action/DefaultControllerDefinitionFactory.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/action/DefaultControllerDefinitionFactory.java 2007-04-28 19:37:33 UTC (rev 423)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/action/DefaultControllerDefinitionFactory.java 2007-04-29 09:03:17 UTC (rev 424)
@@ -21,8 +21,11 @@
import javax.servlet.http.HttpServletResponse;
/**
+ * Default implementation of the controller definition factory which uses the context container to look up the controller objected registered.
+ *
* @author Michael Ward
* @author Mauro Talevi
+ * @todo (mt) Rename to ContextContainerControllerDefinitionFactory?
*/
public class DefaultControllerDefinitionFactory implements ControllerDefinitionFactory {
private final MethodDefinitionFinder methodDefinitionFinder;
Modified: trunk/framework/src/main/java/com/thoughtworks/waffle/action/DefaultControllerNameResolver.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/action/DefaultControllerNameResolver.java 2007-04-28 19:37:33 UTC (rev 423)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/action/DefaultControllerNameResolver.java 2007-04-29 09:03:17 UTC (rev 424)
@@ -12,7 +12,14 @@
import javax.servlet.http.HttpServletRequest;
+/**
+ * Default implementations of name resolver which return the name of the last portion of the context path before the dot.
+ *
+ * @author Michael Ward
+ */
public class DefaultControllerNameResolver implements ControllerNameResolver {
+ private static final String DOT_REGEX = "\\.";
+
public DefaultControllerNameResolver() {
}
@@ -24,7 +31,7 @@
}
path = path.substring(1); // remove '/'
- return path.split("\\.")[0];
+ return path.split(DOT_REGEX)[0];
}
}
Modified: trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/AbstractMethodDefinitionFinder.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/AbstractMethodDefinitionFinder.java 2007-04-28 19:37:33 UTC (rev 423)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/AbstractMethodDefinitionFinder.java 2007-04-29 09:03:17 UTC (rev 424)
@@ -28,6 +28,12 @@
import java.util.List;
import java.util.Map;
+/**
+ * Abstract base implementation for all method definition finders
+ *
+ * @author Michael Ward
+ * @author Paul Hammant
+ */
public abstract class AbstractMethodDefinitionFinder implements MethodDefinitionFinder {
private final Map<Class, Method> defaultMethodCache = new HashMap<Class, Method>();
private final ServletContext servletContext;
Modified: trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/ActionMethodExecutor.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/ActionMethodExecutor.java 2007-04-28 19:37:33 UTC (rev 423)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/ActionMethodExecutor.java 2007-04-29 09:03:17 UTC (rev 424)
@@ -13,7 +13,7 @@
import com.thoughtworks.waffle.action.ControllerDefinition;
/**
- * Responsible for firing (aka executing) the Action method on an Action object.
+ * Responsible for executing (aka firing) the Action method on a controller object.
*
* @author Michael Ward
*/
Modified: trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/AnnotatedMethodDefinitionFinder.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/AnnotatedMethodDefinitionFinder.java 2007-04-28 19:37:33 UTC (rev 423)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/AnnotatedMethodDefinitionFinder.java 2007-04-29 09:03:17 UTC (rev 424)
@@ -23,9 +23,11 @@
import java.util.List;
/**
- * This is the default MethodDefinitionFinder used by Waffle.
+ * TAnnotation-based method definition finder. This is the default MethodDefinitionFinder used by Waffle.
* <p/>
* Pragmatic method calls will override what (if any) annotation is defined.
+ *
+ * @author Michael Ward
*/
public class AnnotatedMethodDefinitionFinder extends AbstractMethodDefinitionFinder {
Modified: trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/DefaultActionMethodExecutor.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/DefaultActionMethodExecutor.java 2007-04-28 19:37:33 UTC (rev 423)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/DefaultActionMethodExecutor.java 2007-04-29 09:03:17 UTC (rev 424)
@@ -26,7 +26,10 @@
import java.util.List;
/**
+ * Default implementation of action method executor, which uses an interceptor chain.
+ *
* @author Michael Ward
+ * @todo (mt) Rename to InterceptingActionMethodExecutor?
*/
public class DefaultActionMethodExecutor implements ActionMethodExecutor {
private final Comparator<MethodInterceptor> comparator = new MethodInterceptorComparator();
Modified: trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/MatchingMethodException.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/MatchingMethodException.java 2007-04-28 19:37:33 UTC (rev 423)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/MatchingMethodException.java 2007-04-29 09:03:17 UTC (rev 424)
@@ -1,6 +1,5 @@
package com.thoughtworks.waffle.action.method;
-import com.thoughtworks.waffle.WaffleException;
/**
* Thrown when matching methods are hard to identify for invocation.
Modified: trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/MethodDefinition.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/MethodDefinition.java 2007-04-28 19:37:33 UTC (rev 423)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/MethodDefinition.java 2007-04-29 09:03:17 UTC (rev 424)
@@ -16,6 +16,8 @@
/**
* Holder for the method and values to be executed.
+ *
+ * @author Michael Ward
*/
public class MethodDefinition {
private final Method method;
Modified: trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/MethodDefinitionFinder.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/MethodDefinitionFinder.java 2007-04-28 19:37:33 UTC (rev 423)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/MethodDefinitionFinder.java 2007-04-29 09:03:17 UTC (rev 424)
@@ -13,9 +13,23 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+/**
+ * Finds method definitions in the controller using the parameters specified in the request
+ *
+ * @author Michael Ward
+ */
public interface MethodDefinitionFinder {
+ /**
+ * Returns a method definition of a given controller
+ *
+ * @param controller the controller Object
+ * @param request the HttpServletRequest
+ * @param response the HttpServletResponse
+ * @return The MethodDefinition found
+ */
MethodDefinition find(Object controller,
HttpServletRequest request,
HttpServletResponse response);
+
}
Modified: trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/ParanamerMethodDefinitionFinder.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/ParanamerMethodDefinitionFinder.java 2007-04-28 19:37:33 UTC (rev 423)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/ParanamerMethodDefinitionFinder.java 2007-04-29 09:03:17 UTC (rev 424)
@@ -10,20 +10,26 @@
*****************************************************************************/
package com.thoughtworks.waffle.action.method;
-import com.thoughtworks.paranamer.CachingParanamer;
-import com.thoughtworks.paranamer.Paranamer;
-import com.thoughtworks.waffle.WaffleException;
-import ognl.TypeConverter;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.util.ArrayList;
+import java.util.List;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.util.ArrayList;
-import java.util.List;
+import ognl.TypeConverter;
+
+import com.thoughtworks.paranamer.CachingParanamer;
+import com.thoughtworks.paranamer.Paranamer;
+
+/**
+ * Pananamer-based method definition finder.
+ *
+ * @author Paul Hammant
+ */
public class ParanamerMethodDefinitionFinder extends AbstractMethodDefinitionFinder {
private static final String COMMA = ",";
private final Paranamer paranamer = new CachingParanamer();
Modified: trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/RequestParameterMethodNameResolver.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/RequestParameterMethodNameResolver.java 2007-04-28 19:37:33 UTC (rev 423)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/RequestParameterMethodNameResolver.java 2007-04-29 09:03:17 UTC (rev 424)
@@ -12,6 +12,12 @@
import javax.servlet.http.HttpServletRequest;
+/**
+ * Implementation of method name resolver which returns the value of a configurable action parameter key,
+ * which defaults to 'method'.
+ *
+ * @author Michael Ward
+ */
public class RequestParameterMethodNameResolver implements MethodNameResolver {
private String actionParameterKey = "method";
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <m2...@us...> - 2007-04-28 19:37:36
|
Revision: 423
http://svn.sourceforge.net/waffle/?rev=423&view=rev
Author: m2ward
Date: 2007-04-28 12:37:33 -0700 (Sat, 28 Apr 2007)
Log Message:
-----------
refactoring 'action' to 'controller' to make Waffle easier to understand for developers
Modified Paths:
--------------
trunk/framework/src/main/java/com/thoughtworks/waffle/Constants.java
trunk/framework/src/main/java/com/thoughtworks/waffle/WaffleComponentRegistry.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/AbstractMethodDefinitionFinder.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/ActionMethodExecutor.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/DefaultActionMethodExecutor.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/MethodDefinitionFinder.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/intercept/InterceptorChain.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/intercept/InterceptorChainImpl.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/intercept/MethodInterceptor.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/intercept/SecurityMethodInterceptor.java
trunk/framework/src/main/java/com/thoughtworks/waffle/servlet/PicoWaffleComponentRegistry.java
trunk/framework/src/main/java/com/thoughtworks/waffle/servlet/WaffleServlet.java
trunk/framework/src/main/java/com/thoughtworks/waffle/servlet/WaffleVelocityServlet.java
trunk/framework/src/main/java/com/thoughtworks/waffle/validation/DefaultValidator.java
trunk/framework/src/main/java/com/thoughtworks/waffle/validation/FieldErrorMessage.java
trunk/framework/src/main/java/com/thoughtworks/waffle/validation/Validator.java
trunk/framework/src/main/java/com/thoughtworks/waffle/view/RedirectView.java
trunk/framework/src/main/java/com/thoughtworks/waffle/view/View.java
trunk/framework/src/test/java/com/thoughtworks/waffle/action/method/AnnotatedMethodDefinitionFinderTest.java
trunk/framework/src/test/java/com/thoughtworks/waffle/action/method/DefaultActionMethodExecutorTest.java
trunk/framework/src/test/java/com/thoughtworks/waffle/action/method/ParanamerMethodDefinitionFinderTest.java
trunk/framework/src/test/java/com/thoughtworks/waffle/action/method/intercept/InterceptorChainImplTest.java
trunk/framework/src/test/java/com/thoughtworks/waffle/action/method/intercept/MethodInterceptorComparatorTest.java
trunk/framework/src/test/java/com/thoughtworks/waffle/action/method/intercept/SecurityMethodInterceptorTest.java
trunk/framework/src/test/java/com/thoughtworks/waffle/bind/OgnlDataBinderTest.java
trunk/framework/src/test/java/com/thoughtworks/waffle/registrar/pico/PicoRegistrarTest.java
trunk/framework/src/test/java/com/thoughtworks/waffle/servlet/PicoWaffleComponentRegistryTest.java
trunk/framework/src/test/java/com/thoughtworks/waffle/servlet/WaffleServletTest.java
trunk/framework/src/test/java/com/thoughtworks/waffle/testmodel/CustomRegistrar.java
trunk/framework/src/test/java/com/thoughtworks/waffle/testmodel/StubActionMethodExecutor.java
trunk/framework/src/test/java/com/thoughtworks/waffle/testmodel/StubMethodDefinitionFinder.java
trunk/framework/src/test/java/com/thoughtworks/waffle/testmodel/StubValidator.java
trunk/framework/src/test/java/com/thoughtworks/waffle/testmodel/StubWaffleComponentRegistry.java
trunk/framework/src/test/java/com/thoughtworks/waffle/validation/DefaultValidatorTest.java
Added Paths:
-----------
trunk/framework/src/main/java/com/thoughtworks/waffle/action/ControllerDefinition.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/ControllerDefinitionFactory.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/ControllerNameResolver.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/DefaultControllerDefinitionFactory.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/DefaultControllerNameResolver.java
trunk/framework/src/test/java/com/thoughtworks/waffle/action/DefaultControllerDefinitionFactoryTest.java
trunk/framework/src/test/java/com/thoughtworks/waffle/action/DefaultControllerNameResolverTest.java
trunk/framework/src/test/java/com/thoughtworks/waffle/testmodel/FakeController.java
trunk/framework/src/test/java/com/thoughtworks/waffle/testmodel/FakeControllerValidator.java
trunk/framework/src/test/java/com/thoughtworks/waffle/testmodel/StubControllerDefinitionFactory.java
trunk/framework/src/test/java/com/thoughtworks/waffle/testmodel/StubControllerNameResolver.java
Removed Paths:
-------------
trunk/distribution/src/site/resources/wiki.html
trunk/framework/src/main/java/com/thoughtworks/waffle/action/ActionDefinition.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/ActionDefinitionFactory.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/ActionNameResolver.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/DefaultActionDefinitionFactory.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/DefaultActionNameResolver.java
trunk/framework/src/test/java/com/thoughtworks/waffle/action/DefaultActionDefinitionFactoryTest.java
trunk/framework/src/test/java/com/thoughtworks/waffle/action/DefaultActionNameResolverTest.java
trunk/framework/src/test/java/com/thoughtworks/waffle/testmodel/FakeAction.java
trunk/framework/src/test/java/com/thoughtworks/waffle/testmodel/FakeActionValidator.java
trunk/framework/src/test/java/com/thoughtworks/waffle/testmodel/StubActionDefinitionFactory.java
trunk/framework/src/test/java/com/thoughtworks/waffle/testmodel/StubActionNameResolver.java
Deleted: trunk/distribution/src/site/resources/wiki.html
===================================================================
--- trunk/distribution/src/site/resources/wiki.html 2007-04-27 22:34:11 UTC (rev 422)
+++ trunk/distribution/src/site/resources/wiki.html 2007-04-28 19:37:33 UTC (rev 423)
@@ -1,7439 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<script type="text/javascript">
-//<![CDATA[
-var version = {major: 2, minor: 1, revision: 2, date: new Date("Oct 5, 2006"), extensions: {}};
-//]]>
-</script>
-<!--
-TiddlyWiki 2.1.2 by Jeremy Ruston, (jeremy [at] osmosoft [dot] com)
-
-Copyright (c) Osmosoft Limited 2004-2006
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-Redistributions of source code must retain the above copyright notice, this
-list of conditions and the following disclaimer.
-
-Redistributions in binary form must reproduce the above copyright notice, this
-list of conditions and the following disclaimer in the documentation and/or other
-materials provided with the distribution.
-
-Neither the name of the Osmosoft Limited nor the names of its contributors may be
-used to endorse or promote products derived from this software without specific
-prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
-EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
-SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
-TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGE.
--->
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
-<!--PRE-HEAD-START-->
-<!--{{{-->
-<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml'/>
-<!--}}}-->
-<!--PRE-HEAD-END-->
-<title> My TiddlyWiki - a reusable non-linear personal web notebook </title>
-<script type="text/javascript">
-//<![CDATA[
-// ---------------------------------------------------------------------------------
-// Configuration repository
-// ---------------------------------------------------------------------------------
-
-// Miscellaneous options
-var config = {
- numRssItems: 20, // Number of items in the RSS feed
- animFast: 0.12, // Speed for animations (lower == slower)
- animSlow: 0.01, // Speed for EasterEgg animations
- cascadeFast: 20, // Speed for cascade animations (higher == slower)
- cascadeSlow: 60, // Speed for EasterEgg cascade animations
- cascadeDepth: 5, // Depth of cascade animation
- displayStartupTime: false // Whether to display startup time
- };
-
-// Messages
-config.messages = {
- messageClose: {},
- dates: {}
-};
-
-// Options that can be set in the options panel and/or cookies
-config.options = {
- chkRegExpSearch: false,
- chkCaseSensitiveSearch: false,
- chkAnimate: true,
- chkSaveBackups: true,
- chkAutoSave: false,
- chkGenerateAnRssFeed: false,
- chkSaveEmptyTemplate: false,
- chkOpenInNewWindow: true,
- chkToggleLinks: false,
- chkHttpReadOnly: true,
- chkForceMinorUpdate: false,
- chkConfirmDelete: true,
- chkInsertTabs: false,
- txtBackupFolder: "",
- txtMainTab: "tabTimeline",
- txtMoreTab: "moreTabAll",
- txtMaxEditRows: "30"
- };
-
-// List of notification functions to be called when certain tiddlers are changed or deleted
-config.notifyTiddlers = [
- {name: "StyleSheetLayout", notify: refreshStyles},
- {name: "StyleSheetColors", notify: refreshStyles},
- {name: "StyleSheet", notify: refreshStyles},
- {name: "StyleSheetPrint", notify: refreshStyles},
- {name: "PageTemplate", notify: refreshPageTemplate},
- {name: "SiteTitle", notify: refreshPageTitle},
- {name: "SiteSubtitle", notify: refreshPageTitle},
- {name: "ColorPalette", notify: refreshColorPalette},
- {name: null, notify: refreshDisplay}
- ];
-
-// Default tiddler templates
-var DEFAULT_VIEW_TEMPLATE = 1;
-var DEFAULT_EDIT_TEMPLATE = 2;
-config.tiddlerTemplates = {
- 1: "ViewTemplate",
- 2: "EditTemplate"
- };
-
-// More messages (rather a legacy layout that shouldn't really be like this)
-config.views = {
- wikified: {
- tag: {}
- },
- editor: {
- tagChooser: {}
- }
- };
-
-// Macros; each has a 'handler' member that is inserted later
-config.macros = {
- today: {},
- version: {},
- search: {sizeTextbox: 15},
- tiddler: {},
- tag: {},
- tags: {},
- tagging: {},
- timeline: {},
- allTags: {},
- list: {
- all: {},
- missing: {},
- orphans: {},
- shadowed: {}
- },
- closeAll: {},
- permaview: {},
- saveChanges: {},
- slider: {},
- option: {},
- newTiddler: {},
- newJournal: {},
- sparkline: {},
- tabs: {},
- gradient: {},
- message: {},
- view: {},
- edit: {},
- tagChooser: {},
- toolbar: {},
- br: {},
- plugins: {},
- refreshDisplay: {},
- importTiddlers: {}
- };
-
-// Commands supported by the toolbar macro
-config.commands = {
- closeTiddler: {},
- closeOthers: {},
- editTiddler: {},
- saveTiddler: {hideReadOnly: true},
- cancelTiddler: {},
- deleteTiddler: {hideReadOnly: true},
- permalink: {},
- references: {},
- jump: {}
- };
-
-// Browser detection... In a very few places, there's nothing else for it but to
-// know what browser we're using.
-config.userAgent = navigator.userAgent.toLowerCase();
-config.browser = {
- isIE: config.userAgent.indexOf("msie") != -1 && config.userAgent.indexOf("opera") == -1,
- ieVersion: /MSIE (\d.\d)/i.exec(config.userAgent), // config.browser.ieVersion[1], if it exists, will be the IE version string, eg "6.0"
- isSafari: config.userAgent.indexOf("applewebkit") != -1,
- isBadSafari: !((new RegExp("[\u0150\u0170]","g")).test("\u0150")),
- firefoxDate: /Gecko\/(\d{8})/i.exec(config.userAgent), // config.browser.firefoxDate[1], if it exists, will be Firefox release date as "YYYYMMDD"
- isOpera: config.userAgent.indexOf("opera") != -1,
- isLinux: config.userAgent.indexOf("linux") != -1,
- isUnix: config.userAgent.indexOf("x11") != -1,
- isMac: config.userAgent.indexOf("mac") != -1,
- isWindows: config.userAgent.indexOf("win") != -1
- };
-
-// Basic regular expressions
-config.textPrimitives = {
- upperLetter: "[A-Z\u00c0-\u00de\u0150\u0170]",
- lowerLetter: "[a-z0-9_\\-\u00df-\u00ff\u0151\u0171]",
- anyLetter: "[A-Za-z0-9_\\-\u00c0-\u00de\u00df-\u00ff\u0150\u0170\u0151\u0171]"
- };
-if(config.browser.isBadSafari)
- config.textPrimitives = {
- upperLetter: "[A-Z\u00c0-\u00de]",
- lowerLetter: "[a-z0-9_\\-\u00df-\u00ff]",
- anyLetter: "[A-Za-z0-9_\\-\u00c0-\u00de\u00df-\u00ff]"
- }
-config.textPrimitives.sliceSeparator = "::";
-config.textPrimitives.urlPattern = "(?:file|http|https|mailto|ftp):[^\\s'\"]+(?:/|\\b)";
-config.textPrimitives.unWikiLink = "~";
-config.textPrimitives.wikiLink = "(?:(?:" + config.textPrimitives.upperLetter + "+" +
- config.textPrimitives.lowerLetter + "+" +
- config.textPrimitives.upperLetter +
- config.textPrimitives.anyLetter + "*)|(?:" +
- config.textPrimitives.upperLetter + "{2,}" +
- config.textPrimitives.lowerLetter + "+))";
-
-config.textPrimitives.cssLookahead = "(?:(" + config.textPrimitives.anyLetter + "+)\\(([^\\)\\|\\n]+)(?:\\):))|(?:(" + config.textPrimitives.anyLetter + "+):([^;\\|\\n]+);)";
-config.textPrimitives.cssLookaheadRegExp = new RegExp(config.textPrimitives.cssLookahead,"mg");
-
-config.textPrimitives.brackettedLink = "\\[\\[([^\\]]+)\\]\\]";
-config.textPrimitives.titledBrackettedLink = "\\[\\[([^\\[\\]\\|]+)\\|([^\\[\\]\\|]+)\\]\\]";
-config.textPrimitives.tiddlerForcedLinkRegExp = new RegExp("(?:" + config.textPrimitives.titledBrackettedLink + ")|(?:" +
- config.textPrimitives.brackettedLink + ")|(?:" +
- config.textPrimitives.urlPattern + ")","mg");
-config.textPrimitives.tiddlerAnyLinkRegExp = new RegExp("("+ config.textPrimitives.wikiLink + ")|(?:" +
- config.textPrimitives.titledBrackettedLink + ")|(?:" +
- config.textPrimitives.brackettedLink + ")|(?:" +
- config.textPrimitives.urlPattern + ")","mg");
-
-// ---------------------------------------------------------------------------------
-// Shadow tiddlers
-// ---------------------------------------------------------------------------------
-
-config.shadowTiddlers = {
- ColorPalette: "Background: #fff\n" +
- "Foreground: #000\n" +
- "PrimaryPale: #8cf\n" +
- "PrimaryLight: #18f\n" +
- "PrimaryMid: #04b\n" +
- "PrimaryDark: #014\n" +
- "SecondaryPale: #ffc\n" +
- "SecondaryLight: #fe8\n" +
- "SecondaryMid: #db4\n" +
- "SecondaryDark: #841\n" +
- "TertiaryPale: #eee\n" +
- "TertiaryLight: #ccc\n" +
- "TertiaryMid: #999\n" +
- "TertiaryDark: #666\n" +
- "Error: #f88\n",
- StyleSheet: "",
- StyleSheetColors: "/*{{{*/\nbody {\n background: [[ColorPalette::Background]];\n color: [[ColorPalette::Foreground]];\n}\n\na{\n color: [[ColorPalette::PrimaryMid]];\n}\n\na:hover{\n background: [[ColorPalette::PrimaryMid]];\n color: [[ColorPalette::Background]];\n}\n\na img{\n border: 0;\n}\n\nh1,h2,h3,h4,h5 {\n color: [[ColorPalette::SecondaryDark]];\n background: [[ColorPalette::PrimaryPale]];\n}\n\n.button {\n color: [[ColorPalette::PrimaryDark]];\n border: 1px solid [[ColorPalette::Background]];\n}\n\n.button:hover {\n color: [[ColorPalette::PrimaryDark]];\n background: [[ColorPalette::SecondaryLight]];\n border-color: [[ColorPalette::SecondaryMid]];\n}\n\n.button:active {\n color: [[ColorPalette::Background]];\n background: [[ColorPalette::SecondaryMid]];\n border: 1px solid [[ColorPalette::SecondaryDark]];\n}\n\n.header {\n background: [[ColorPalette::PrimaryMid]];\n}\n\n.headerShadow {\n color: [[ColorPalette::Foreground]];\n}\n\n.headerShadow a {\n font-weight: normal;\n color: [[ColorPalette::Foreground]];\n}\n\n.headerForeground {\n color: [[ColorPalette::Background]];\n}\n\n.headerForeground a {\n font-weight: normal;\n color: [[ColorPalette::PrimaryPale]];\n}\n\n.tabSelected{\n color: [[ColorPalette::PrimaryDark]];\n background: [[ColorPalette::TertiaryPale]];\n border-left: 1px solid [[ColorPalette::TertiaryLight]];\n border-top: 1px solid [[ColorPalette::TertiaryLight]];\n border-right: 1px solid [[ColorPalette::TertiaryLight]];\n}\n\n.tabUnselected {\n color: [[ColorPalette::Background]];\n background: [[ColorPalette::TertiaryMid]];\n}\n\n.tabContents {\n color: [[ColorPalette::PrimaryDark]];\n background: [[ColorPalette::TertiaryPale]];\n border: 1px solid [[ColorPalette::TertiaryLight]];\n}\n\n.tabContents .button {\n border: 0;}\n\n#sidebar {\n}\n\n#sidebarOptions input {\n border: 1px solid [[ColorPalette::PrimaryMid]];\n}\n\n#sidebarOptions .sliderPanel {\n background: [[ColorPalette::PrimaryPale]];\n}\n\n#sidebarOptions .sliderPanel a {\n border: none;\n color: [[ColorPalette::PrimaryMid]];\n}\n\n#sidebarOptions .sliderPanel a:hover {\n color: [[ColorPalette::Background]];\n background: [[ColorPalette::PrimaryMid]];\n}\n\n#sidebarOptions .sliderPanel a:active {\n color: [[ColorPalette::PrimaryMid]];\n background: [[ColorPalette::Background]];\n}\n\n.wizard {\n background: [[ColorPalette::SecondaryLight]];\n border-top: 1px solid [[ColorPalette::SecondaryMid]];\n border-left: 1px solid [[ColorPalette::SecondaryMid]];\n}\n\n.wizard h1 {\n color: [[ColorPalette::SecondaryDark]];\n}\n\n.wizard h2 {\n color: [[ColorPalette::Foreground]];\n}\n\n.wizardStep {\n background: [[ColorPalette::Background]];\n border-top: 1px solid [[ColorPalette::SecondaryMid]];\n border-bottom: 1px solid [[ColorPalette::SecondaryMid]];\n border-left: 1px solid [[ColorPalette::SecondaryMid]];\n}\n\n.wizard .button {\n color: [[ColorPalette::Background]];\n background: [[ColorPalette::PrimaryMid]];\n border-top: 1px solid [[ColorPalette::PrimaryLight]];\n border-right: 1px solid [[ColorPalette::PrimaryDark]];\n border-bottom: 1px solid [[ColorPalette::PrimaryDark]];\n border-left: 1px solid [[ColorPalette::PrimaryLight]];\n}\n\n.wizard .button:hover {\n color: [[ColorPalette::PrimaryLight]];\n background: [[ColorPalette::PrimaryDark]];\n border-color: [[ColorPalette::PrimaryLight]];\n}\n\n.wizard .button:active {\n color: [[ColorPalette::Background]];\n background: [[ColorPalette::PrimaryMid]];\n border-top: 1px solid [[ColorPalette::PrimaryLight]];\n border-right: 1px solid [[ColorPalette::PrimaryDark]];\n border-bottom: 1px solid [[ColorPalette::PrimaryDark]];\n border-left: 1px solid [[ColorPalette::PrimaryLight]];\n}\n\n#messageArea {\n border: 1px solid [[ColorPalette::SecondaryDark]];\n background: [[ColorPalette::SecondaryMid]];\n color: [[ColorPalette::PrimaryDark]];\n}\n\n#messageArea .button {\n padding: 0.2em 0.2em 0.2em 0.2em;\n color: [[ColorPalette::PrimaryDark]];\n background: [[ColorPalette::Background]];\n}\n\n.popup {\n background: [[ColorPalette::PrimaryLight]];\n border: 1px solid [[ColorPalette::PrimaryMid]];\n}\n\n.popup hr {\n color: [[ColorPalette::PrimaryDark]];\n background: [[ColorPalette::PrimaryDark]];\n border-bottom: 1px;\n}\n\n.listBreak div{\n border-bottom: 1px solid [[ColorPalette::PrimaryDark]];\n}\n\n.popup li.disabled {\n color: [[ColorPalette::PrimaryMid]];\n}\n\n.popup li a, .popup li a:visited {\n color: [[ColorPalette::TertiaryPale]];\n border: none;\n}\n\n.popup li a:hover {\n background: [[ColorPalette::PrimaryDark]];\n color: [[ColorPalette::Background]];\n border: none;\n}\n\n.tiddler .defaultCommand {\n font-weight: bold;\n}\n\n.shadow .title {\n color: [[ColorPalette::TertiaryDark]];\n}\n\n.title {\n color: [[ColorPalette::SecondaryDark]];\n}\n\n.subtitle {\n color: [[ColorPalette::TertiaryDark]];\n}\n\n.toolbar {\n color: [[ColorPalette::PrimaryMid]];\n}\n\n.tagging, .tagged {\n border: 1px solid [[ColorPalette::TertiaryPale]];\n background-color: [[ColorPalette::TertiaryPale]];\n}\n\n.selected .tagging, .selected .tagged {\n background-color: [[ColorPalette::TertiaryLight]];\n border: 1px solid [[ColorPalette::TertiaryMid]];\n}\n\n.tagging .listTitle, .tagged .listTitle {\n color: [[ColorPalette::PrimaryDark]];\n}\n\n.tagging .button, .tagged .button {\n border: none;\n}\n\n.footer {\n color: [[ColorPalette::TertiaryLight]];\n}\n\n.selected .footer {\n color: [[ColorPalette::TertiaryMid]];\n}\n\n.sparkline {\n background: [[ColorPalette::PrimaryPale]];\n border: 0;\n}\n\n.sparktick {\n background: [[ColorPalette::PrimaryDark]];\n}\n\n.error, .errorButton {\n color: [[ColorPalette::Foreground]];\n background: [[ColorPalette::Error]];\n}\n\n.warning {\n color: [[ColorPalette::Foreground]];\n background: [[ColorPalette::SecondaryPale]];\n}\n\n.cascade {\n background: [[ColorPalette::TertiaryPale]];\n color: [[ColorPalette::TertiaryMid]];\n border: 1px solid [[ColorPalette::TertiaryMid]];\n}\n\n.imageLink, #displayArea .imageLink {\n background: transparent;\n}\n\n.viewer .listTitle {list-style-type: none; margin-left: -2em;}\n\n.viewer .button {\n border: 1px solid [[ColorPalette::SecondaryMid]];\n}\n\n.viewer blockquote {\n border-left: 3px solid [[ColorPalette::TertiaryDark]];\n}\n\n.viewer table {\n border: 2px solid [[ColorPalette::TertiaryDark]];\n}\n\n.viewer th, thead td {\n background: [[ColorPalette::SecondaryMid]];\n border: 1px solid [[ColorPalette::TertiaryDark]];\n color: [[ColorPalette::Background]];\n}\n\n.viewer td, .viewer tr {\n border: 1px solid [[ColorPalette::TertiaryDark]];\n}\n\n.viewer pre {\n border: 1px solid [[ColorPalette::SecondaryLight]];\n background: [[ColorPalette::SecondaryPale]];\n}\n\n.viewer code {\n color: [[ColorPalette::SecondaryDark]];\n}\n\n.viewer hr {\n border: 0;\n border-top: dashed 1px [[ColorPalette::TertiaryDark]];\n color: [[ColorPalette::TertiaryDark]];\n}\n\n.highlight, .marked {\n background: [[ColorPalette::SecondaryLight]];\n}\n\n.editor input {\n border: 1px solid [[ColorPalette::PrimaryMid]];\n}\n\n.editor textarea {\n border: 1px solid [[ColorPalette::PrimaryMid]];\n width: 100%;\n}\n\n.editorFooter {\n color: [[ColorPalette::TertiaryMid]];\n}\n\n/*}}}*/",
- StyleSheetLayout: "/*{{{*/\n* html .tiddler {\n height: 1%;\n}\n\nbody {\n font-size: .75em;\n font-family: arial,helvetica;\n margin: 0;\n padding: 0;\n}\n\nh1,h2,h3,h4,h5 {\n font-weight: bold;\n text-decoration: none;\n padding-left: 0.4em;\n}\n\nh1 {font-size: 1.35em;}\nh2 {font-size: 1.25em;}\nh3 {font-size: 1.1em;}\nh4 {font-size: 1em;}\nh5 {font-size: .9em;}\n\nhr {\n height: 1px;\n}\n\na{\n text-decoration: none;\n}\n\ndt {font-weight: bold;}\n\nol { list-style-type: decimal }\nol ol { list-style-type: lower-alpha }\nol ol ol { list-style-type: lower-roman }\nol ol ol ol { list-style-type: decimal }\nol ol ol ol ol { list-style-type: lower-alpha }\nol ol ol ol ol ol { list-style-type: lower-roman }\nol ol ol ol ol ol ol { list-style-type: decimal }\n\n.txtOptionInput {\n width: 11em;\n}\n\n#contentWrapper .chkOptionInput {\n border: 0;\n}\n\n.externalLink {\n text-decoration: underline;\n}\n\n.indent {margin-left:3em;}\n.outdent {margin-left:3em; text-indent:-3em;}\ncode.escaped {white-space:nowrap;}\n\n.tiddlyLinkExisting {\n font-weight: bold;\n}\n\n.tiddlyLinkNonExisting {\n font-style: italic;\n}\n\n/* the 'a' is required for IE, otherwise it renders the whole tiddler a bold */\na.tiddlyLinkNonExisting.shadow {\n font-weight: bold;\n}\n\n#mainMenu .tiddlyLinkExisting, \n#mainMenu .tiddlyLinkNonExisting,\n#sidebarTabs .tiddlyLinkNonExisting{\n font-weight: normal;\n font-style: normal;\n}\n\n#sidebarTabs .tiddlyLinkExisting {\n font-weight: bold;\n font-style: normal;\n}\n\n.header {\n position: relative;\n}\n\n.header a:hover {\n background: transparent;\n}\n\n.headerShadow {\n position: relative;\n padding: 4.5em 0em 1em 1em;\n left: -1px;\n top: -1px;\n}\n\n.headerForeground {\n position: absolute;\n padding: 4.5em 0em 1em 1em;\n left: 0px;\n top: 0px;\n}\n\n.siteTitle {\n font-size: 3em;\n}\n\n.siteSubtitle {\n font-size: 1.2em;\n}\n\n#mainMenu {\n position: absolute;\n left: 0;\n width: 10em;\n text-align: right;\n line-height: 1.6em;\n padding: 1.5em 0.5em 0.5em 0.5em;\n font-size: 1.1em;\n}\n\n#sidebar {\n position: absolute;\n right: 3px;\n width: 16em;\n font-size: .9em;\n}\n\n#sidebarOptions {\n padding-top: 0.3em;\n}\n\n#sidebarOptions a {\n margin: 0em 0.2em;\n padding: 0.2em 0.3em;\n display: block;\n}\n\n#sidebarOptions input {\n margin: 0.4em 0.5em;\n}\n\n#sidebarOptions .sliderPanel {\n margin-left: 1em;\n padding: 0.5em;\n font-size: .85em;\n}\n\n#sidebarOptions .sliderPanel a {\n font-weight: bold;\n display: inline;\n padding: 0;\n}\n\n#sidebarOptions .sliderPanel input {\n margin: 0 0 .3em 0;\n}\n\n#sidebarTabs .tabContents {\n width: 15em;\n overflow: hidden;\n}\n\n.wizard {\n padding: 0.1em 0em 0em 2em;\n}\n\n.wizard h1 {\n font-size: 2em;\n font-weight: bold;\n background: none;\n padding: 0em 0em 0em 0em;\n margin: 0.4em 0em 0.2em 0em;\n}\n\n.wizard h2 {\n font-size: 1.2em;\n font-weight: bold;\n background: none;\n padding: 0em 0em 0em 0em;\n margin: 0.2em 0em 0.2em 0em;\n}\n\n.wizardStep {\n padding: 1em 1em 1em 1em;\n}\n\n.wizard .button {\n margin: 0.5em 0em 0em 0em;\n font-size: 1.2em;\n}\n\n#messageArea {\nposition:absolute; top:0; right:0; margin: 0.5em; padding: 0.5em;\n}\n\n*[id='messageArea'] {\nposition:fixed !important; z-index:99;}\n\n.messageToolbar {\ndisplay: block;\ntext-align: right;\n}\n\n#messageArea a{\n text-decoration: underline;\n}\n\n.popup {\n font-size: .9em;\n padding: 0.2em;\n list-style: none;\n margin: 0;\n}\n\n.popup hr {\n display: block;\n height: 1px;\n width: auto;\n padding: 0;\n margin: 0.2em 0em;\n}\n\n.listBreak {\n font-size: 1px;\n line-height: 1px;\n}\n\n.listBreak div {\n margin: 2px 0;\n}\n\n.popup li.disabled {\n padding: 0.2em;\n}\n\n.popup li a{\n display: block;\n padding: 0.2em;\n}\n\n.tabset {\n padding: 1em 0em 0em 0.5em;\n}\n\n.tab {\n margin: 0em 0em 0em 0.25em;\n padding: 2px;\n}\n\n.tabContents {\n padding: 0.5em;\n}\n\n.tabContents ul, .tabContents ol {\n margin: 0;\n padding: 0;\n}\n\n.txtMainTab .tabContents li {\n list-style: none;\n}\n\n.tabContents li.listLink {\n margin-left: .75em;\n}\n\n#displayArea {\n margin: 1em 17em 0em 14em;\n}\n\n\n.toolbar {\n text-align: right;\n font-size: .9em;\n visibility: hidden;\n}\n\n.selected .toolbar {\n visibility: visible;\n}\n\n.tiddler {\n padding: 1em 1em 0em 1em;\n}\n\n.missing .viewer,.missing .title {\n font-style: italic;\n}\n\n.title {\n font-size: 1.6em;\n font-weight: bold;\n}\n\n.missing .subtitle {\n display: none;\n}\n\n.subtitle {\n font-size: 1.1em;\n}\n\n.tiddler .button {\n padding: 0.2em 0.4em;\n}\n\n.tagging {\nmargin: 0.5em 0.5em 0.5em 0;\nfloat: left;\ndisplay: none;\n}\n\n.isTag .tagging {\ndisplay: block;\n}\n\n.tagged {\nmargin: 0.5em;\nfloat: right;\n}\n\n.tagging, .tagged {\nfont-size: 0.9em;\npadding: 0.25em;\n}\n\n.tagging ul, .tagged ul {\nlist-style: none;margin: 0.25em;\npadding: 0;\n}\n\n.tagClear {\nclear: both;\n}\n\n.footer {\n font-size: .9em;\n}\n\n.footer li {\ndisplay: inline;\n}\n\n* html .viewer pre {\n width: 99%;\n padding: 0 0 1em 0;\n}\n\n.viewer {\n line-height: 1.4em;\n padding-top: 0.5em;\n}\n\n.viewer .button {\n margin: 0em 0.25em;\n padding: 0em 0.25em;\n}\n\n.viewer blockquote {\n line-height: 1.5em;\n padding-left: 0.8em;\n margin-left: 2.5em;\n}\n\n.viewer ul, .viewer ol{\n margin-left: 0.5em;\n padding-left: 1.5em;\n}\n\n.viewer table {\n border-collapse: collapse;\n margin: 0.8em 1.0em;\n}\n\n.viewer th, .viewer td, .viewer tr,.viewer caption{\n padding: 3px;\n}\n\n.viewer table.listView {\n font-size: 0.85em;\n margin: 0.8em 1.0em;\n}\n\n.viewer table.listView th, .viewer table.listView td, .viewer table.listView tr {\n padding: 0px 3px 0px 3px;\n}\n\n.viewer pre {\n padding: 0.5em;\n margin-left: 0.5em;\n font-size: 1.2em;\n line-height: 1.4em;\n overflow: auto;\n}\n\n.viewer code {\n font-size: 1.2em;\n line-height: 1.4em;\n}\n\n.editor {\nfont-size: 1.1em;\n}\n\n.editor input, .editor textarea {\n display: block;\n width: 100%;\n font: inherit;\n}\n\n.editorFooter {\n padding: 0.25em 0em;\n font-size: .9em;\n}\n\n.editorFooter .button {\npadding-top: 0px; padding-bottom: 0px;}\n\n.fieldsetFix {border: 0;\npadding: 0;\nmargin: 1px 0px 1px 0px;\n}\n\n.sparkline {\n line-height: 1em;\n}\n\n.sparktick {\n outline: 0;\n}\n\n.zoomer {\n font-size: 1.1em;\n position: absolute;\n padding: 1em;\n}\n\n.cascade {\n font-size: 1.1em;\n position: absolute;\n overflow: hidden;\n}\n/*}}}*/",
- StyleSheetPrint: "/*{{{*/\n@media print {\n#mainMenu, #sidebar, #messageArea, .toolbar {display: none ! important;}\n#displayArea {margin: 1em 1em 0em 1em;}\n/* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */\nnoscript {display:none;}\n}\n/*}}}*/",
- PageTemplate: "<!--{{{-->\n<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>\n<div class='headerShadow'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span> \n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n<div class='headerForeground'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span> \n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n</div>\n<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>\n<div id='sidebar'>\n<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\n<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\n</div>\n<div id='displayArea'>\n<div id='messageArea'></div>\n<div id='tiddlerDisplay'></div>\n</div>\n<!--}}}-->",
- ViewTemplate: "<!--{{{-->\n<div class='toolbar' macro='toolbar closeTiddler closeOthers +editTiddler permalink references jump'></div>\n<div class='title' macro='view title'></div>\n<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date [[DD MMM YYYY]]'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date [[DD MMM YYYY]]'></span>)</div>\n<div class='tagging' macro='tagging'></div>\n<div class='tagged' macro='tags'></div>\n<div class='viewer' macro='view text wikified'></div>\n<div class='tagClear'></div>\n<!--}}}-->",
- EditTemplate: "<!--{{{-->\n<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler deleteTiddler'></div>\n<div class='title' macro='view title'></div>\n<div class='editor' macro='edit title'></div>\n<div class='editor' macro='edit text'></div>\n<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>\n<!--}}}-->",
- MarkupPreHead: "<!--{{{-->\n<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml'/>\n<!--}}}-->",
- MarkupPostHead: "",
- MarkupPreBody: "",
- MarkupPostBody: ""
- };
-
-// ---------------------------------------------------------------------------------
-// Translateable strings
-// ---------------------------------------------------------------------------------
-
-// Strings in "double quotes" should be translated; strings in 'single quotes' should be left alone
-
-merge(config.options,{
- txtUserName: "YourName"});
-
-merge(config.messages,{
- customConfigError: "Problems were encountered loading plugins. See PluginManager for details",
- pluginError: "Error: %0",
- pluginDisabled: "Not executed because disabled via 'systemConfigDisable' tag",
- pluginForced: "Executed because forced via 'systemConfigForce' tag",
- pluginVersionError: "Not executed because this plugin needs a newer version of TiddlyWiki",
- nothingSelected: "Nothing is selected. You must select one or more items first",
- savedSnapshotError: "It appears that this TiddlyWiki has been incorrectly saved. Please see http://www.tiddlywiki.com/#DownloadSoftware for details",
- subtitleUnknown: "(unknown)",
- undefinedTiddlerToolTip: "The tiddler '%0' doesn't yet exist",
- shadowedTiddlerToolTip: "The tiddler '%0' doesn't yet exist, but has a pre-defined shadow value",
- tiddlerLinkTooltip: "%0 - %1, %2",
- externalLinkTooltip: "External link to %0",
- noTags: "There are no tagged tiddlers",
- notFileUrlError: "You need to save this TiddlyWiki to a file before you can save changes",
- cantSaveError: "It's not possible to save changes. This could be because your browser doesn't support saving (instead, use FireFox if you can), or because the pathname to your TiddlyWiki file contains illegal characters",
- invalidFileError: "The original file '%0' does not appear to be a valid TiddlyWiki",
- backupSaved: "Backup saved",
- backupFailed: "Failed to save backup file",
- rssSaved: "RSS feed saved",
- rssFailed: "Failed to save RSS feed file",
- emptySaved: "Empty template saved",
- emptyFailed: "Failed to save empty template file",
- mainSaved: "Main TiddlyWiki file saved",
- mainFailed: "Failed to save main TiddlyWiki file. Your changes have not been saved",
- macroError: "Error in macro <<%0>>",
- macroErrorDetails: "Error while executing macro <<%0>>:\n%1",
- missingMacro: "No such macro",
- overwriteWarning: "A tiddler named '%0' already exists. Choose OK to overwrite it",
- unsavedChangesWarning: "WARNING! There are unsaved changes in TiddlyWiki\n\nChoose OK to save\nChoose CANCEL to discard",
- confirmExit: "--------------------------------\n\nThere are unsaved changes in TiddlyWiki. If you continue you will lose those changes\n\n--------------------------------",
- saveInstructions: "SaveChanges",
- unsupportedTWFormat: "Unsupported TiddlyWiki format '%0'",
- tiddlerSaveError: "Error when saving tiddler '%0'",
- tiddlerLoadError: "Error when loading tiddler '%0'",
- wrongSaveFormat: "Cannot save with storage format '%0'. Using standard format for save.",
- invalidFieldName: "Invalid field name %0",
- fieldCannotBeChanged: "Field '%0' cannot be changed"});
-
-merge(config.messages.messageClose,{
- text: "close",
- tooltip: "close this message area"});
-
-config.messages.dates.months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November","December"];
-config.messages.dates.days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
-config.messages.dates.shortMonths = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
-config.messages.dates.shortDays = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
-
-merge(config.views.wikified.tag,{
- labelNoTags: "no tags",
- labelTags: "tags: ",
- openTag: "Open tag '%0'",
- tooltip: "Show tiddlers tagged with '%0'",
- openAllText: "Open all",
- openAllTooltip: "Open all of these tiddlers",
- popupNone: "No other tiddlers tagged with '%0'"});
-
-merge(config.views.wikified,{
- defaultText: "The tiddler '%0' doesn't yet exist. Double-click to create it",
- defaultModifier: "(missing)",
- shadowModifier: "(built-in shadow tiddler)",
- createdPrompt: "created"});
-
-merge(config.views.editor,{
- tagPrompt: "Type tags separated with spaces, [[use double square brackets]] if necessary, or add existing",
- defaultText: "Type the text for '%0'"});
-
-merge(config.views.editor.tagChooser,{
- text: "tags",
- tooltip: "Choose existing tags to add to this tiddler",
- popupNone: "There are no tags defined",
- tagTooltip: "Add the tag '%0'"});
-
-merge(config.macros.search,{
- label: "search",
- prompt: "Search this TiddlyWiki",
- accessKey: "F",
- successMsg: "%0 tiddlers found matching %1",
- failureMsg: "No tiddlers found matching %0"});
-
-merge(config.macros.tagging,{
- label: "tagging: ",
- labelNotTag: "not tagging",
- tooltip: "List of tiddlers tagged with '%0'"});
-
-merge(config.macros.timeline,{
- dateFormat: "DD MMM YYYY"});
-
-merge(config.macros.allTags,{
- tooltip: "Show tiddlers tagged with '%0'",
- noTags: "There are no tagged tiddlers"});
-
-config.macros.list.all.prompt = "All tiddlers in alphabetical order";
-config.macros.list.missing.prompt = "Tiddlers that have links to them but are not defined";
-config.macros.list.orphans.prompt = "Tiddlers that are not linked to from any other tiddlers";
-config.macros.list.shadowed.prompt = "Tiddlers shadowed with default contents";
-
-merge(config.macros.closeAll,{
- label: "close all",
- prompt: "Close all displayed tiddlers (except any that are being edited)"});
-
-merge(config.macros.permaview,{
- label: "permaview",
- prompt: "Link to an URL that retrieves all the currently displayed tiddlers"});
-
-merge(config.macros.saveChanges,{
- label: "save changes",
- prompt: "Save all tiddlers to create a new TiddlyWiki",
- accessKey: "S"});
-
-merge(config.macros.newTiddler,{
- label: "new tiddler",
- prompt: "Create a new tiddler",
- title: "New Tiddler",
- accessKey: "N"});
-
-merge(config.macros.newJournal,{
- label: "new journal",
- prompt: "Create a new tiddler from the current date and time",
- accessKey: "J"});
-
-merge(config.macros.plugins,{
- skippedText: "(This plugin has not been executed because it was added since startup)",
- noPluginText: "There are no plugins installed",
- confirmDeleteText: "Are you sure you want to delete these tiddlers:\n\n%0",
- listViewTemplate : {
- columns: [
- {name: 'Selected', field: 'Selected', rowName: 'title', type: 'Selector'},
- {name: 'Title', field: 'title', tiddlerLink: 'title', title: "Title", type: 'TiddlerLink'},
- {name: 'Forced', field: 'forced', title: "Forced", tag: 'systemConfigForce', type: 'TagCheckbox'},
- {name: 'Disabled', field: 'disabled', title: "Disabled", tag: 'systemConfigDisable', type: 'TagCheckbox'},
- {name: 'Executed', field: 'executed', title: "Loaded", type: 'Boolean', trueText: "Yes", falseText: "No"},
- {name: 'Error', field: 'error', title: "Status", type: 'Boolean', trueText: "Error", falseText: "OK"},
- {name: 'Log', field: 'log', title: "Log", type: 'StringList'}
- ],
- rowClasses: [
- {className: 'error', field: 'error'},
- {className: 'warning', field: 'warning'}
- ],
- actions: [
- {caption: "More actions...", name: ''},
- {caption: "Remove systemConfig tag", name: 'remove'},
- {caption: "Delete these tiddlers forever", name: 'delete'}
- ]}
- });
-
-merge(config.macros.refreshDisplay,{
- label: "refresh",
- prompt: "Redraw the entire TiddlyWiki display"
- });
-
-merge(config.macros.importTiddlers,{
- defaultPath: "http://www.tiddlywiki.com/index.html",
- fetchLabel: "fetch",
- fetchPrompt: "Fetch the tiddlywiki file",
- fetchError: "There were problems fetching the tiddlywiki file",
- confirmOverwriteText: "Are you sure you want to overwrite these tiddlers:\n\n%0",
- wizardTitle: "Import tiddlers from another TiddlyWiki file",
- step1: "Step 1: Locate the TiddlyWiki file",
- step1prompt: "Enter the URL or pathname here: ",
- step1promptFile: "...or browse for a file: ",
- step1promptFeeds: "...or select a pre-defined feed: ",
- step1feedPrompt: "Choose...",
- step2: "Step 2: Loading TiddlyWiki file",
- step2Text: "Please wait while the file is loaded from: %0",
- step3: "Step 3: Choose the tiddlers to import",
- step4: "%0 tiddler(s) imported",
- step5: "Done",
- listViewTemplate: {
- columns: [
- {name: 'Selected', field: 'Selected', rowName: 'title', type: 'Selector'},
- {name: 'Title', field: 'title', title: "Title", type: 'String'},
- {name: 'Snippet', field: 'text', title: "Snippet", type: 'String'},
- {name: 'Tags', field: 'tags', title: "Tags", type: 'Tags'}
- ],
- rowClasses: [
- ],
- actions: [
- {caption: "More actions...", name: ''},
- {caption: "Import these tiddlers", name: 'import'}
- ]}
- });
-
-merge(config.commands.closeTiddler,{
- text: "close",
- tooltip: "Close this tiddler"});
-
-merge(config.commands.closeOthers,{
- text: "close others",
- tooltip: "Close all other tiddlers"});
-
-merge(config.commands.editTiddler,{
- text: "edit",
- tooltip: "Edit this tiddler",
- readOnlyText: "view",
- readOnlyTooltip: "View the source of this tiddler"});
-
-merge(config.commands.saveTiddler,{
- text: "done",
- tooltip: "Save changes to this tiddler"});
-
-merge(config.commands.cancelTiddler,{
- text: "cancel",
- tooltip: "Undo changes to this tiddler",
- warning: "Are you sure you want to abandon your changes to '%0'?",
- readOnlyText: "done",
- readOnlyTooltip: "View this tiddler normally"});
-
-merge(config.commands.deleteTiddler,{
- text: "delete",
- tooltip: "Delete this tiddler",
- warning: "Are you sure you want to delete '%0'?"});
-
-merge(config.commands.permalink,{
- text: "permalink",
- tooltip: "Permalink for this tiddler"});
-
-merge(config.commands.references,{
- text: "references",
- tooltip: "Show tiddlers that link to this one",
- popupNone: "No references"});
-
-merge(config.commands.jump,{
- text: "jump",
- tooltip: "Jump to another open tiddler"});
-
-merge(config.shadowTiddlers,{
- DefaultTiddlers: "GettingStarted",
- MainMenu: "GettingStarted",
- SiteTitle: "My TiddlyWiki",
- SiteSubtitle: "a reusable non-linear personal web notebook",
- SiteUrl: "http://www.tiddlywiki.com/",
- GettingStarted: "To get started with this blank TiddlyWiki, you'll need to modify the following tiddlers:\n* SiteTitle & SiteSubtitle: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)\n* MainMenu: The menu (usually on the left)\n* DefaultTiddlers: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened\nYou'll also need to enter your username for signing your edits: <<option txtUserName>>",
- SideBarOptions: "<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal 'DD MMM YYYY'>><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel 'options »' 'Change TiddlyWiki advanced options'>>",
- OptionsPanel: "These InterfaceOptions for customising TiddlyWiki are saved in your browser\n\nYour username for signing your edits. Write it as a WikiWord (eg JoeBloggs)\n\n<<option txtUserName>>\n<<option chkSaveBackups>> SaveBackups\n<<option chkAutoSave>> AutoSave\n<<option chkRegExpSearch>> RegExpSearch\n<<option chkCaseSensitiveSearch>> CaseSensitiveSearch\n<<option chkAnimate>> EnableAnimations\n\n----\nAdvancedOptions\nPluginManager\nImportTiddlers",
- AdvancedOptions: "<<option chkGenerateAnRssFeed>> GenerateAnRssFeed\n<<option chkOpenInNewWindow>> OpenLinksInNewWindow\n<<option chkSaveEmptyTemplate>> SaveEmptyTemplate\n<<option chkToggleLinks>> Clicking on links to tiddlers that are already open causes them to close\n^^(override with Control or other modifier key)^^\n<<option chkHttpReadOnly>> HideEditingFeatures when viewed over HTTP\n<<option chkForceMinorUpdate>> Treat edits as MinorChanges by preserving date and time\n^^(override with Shift key when clicking 'done' or by pressing Ctrl-Shift-Enter^^\n<<option chkConfirmDelete>> ConfirmBeforeDeleting\nMaximum number of lines in a tiddler edit box: <<option txtMaxEditRows>>\nFolder name for backup files: <<option txtBackupFolder>>\n<<option chkInsertTabs>> Use tab key to insert tab characters instead of jumping to next field",
- SideBarTabs: "<<tabs txtMainTab Timeline Timeline TabTimeline All 'All tiddlers' TabAll Tags 'All tags' TabTags More 'More lists' TabMore>>",
- TabTimeline: "<<timeline>>",
- TabAll: "<<list all>>",
- TabTags: "<<allTags>>",
- TabMore: "<<tabs txtMoreTab Missing 'Missing tiddlers' TabMoreMissing Orphans 'Orphaned tiddlers' TabMoreOrphans Shadowed 'Shadowed tiddlers' TabMoreShadowed>>",
- TabMoreMissing: "<<list missing>>",
- TabMoreOrphans: "<<list orphans>>",
- TabMoreShadowed: "<<list shadowed>>",
- PluginManager: "<<plugins>>",
- ImportTiddlers: "<<importTiddlers>>"});
-
-// ---------------------------------------------------------------------------------
-// Main
-// ---------------------------------------------------------------------------------
-
-var params = null; // Command line parameters
-var store = null; // TiddlyWiki storage
-var story = null; // Main story
-var formatter = null; // Default formatters for the wikifier
-config.parsers = {}; // Hashmap of alternative parsers for the wikifier
-var anim = new Animator(); // Animation engine
-var readOnly = false; // Whether we're in readonly mode
-var highlightHack = null; // Embarrassing hack department...
-var hadConfirmExit = false; // Don't warn more than once
-var safeMode = false; // Disable all plugins and cookies
-var installedPlugins = []; // Information filled in when plugins are executed
-var startingUp = false; // Whether we're in the process of starting up
-var pluginInfo,tiddler; // Used to pass information to plugins in loadPlugins()
-
-// Whether to use the JavaSaver applet
-var useJavaSaver = config.browser.isSafari || config.browser.isOpera;
-
-// Starting up
-function main()
-{
- var now, then = new Date();
- startingUp = true;
- window.onbeforeunload = function(e) {if(window.confirmExit) return confirmExit();};
- params = getParameters();
- if(params)
- params = params.parseParams("open",null,false);
- store = new TiddlyWiki();
- invokeParamifier(params,"oninit");
- story = new Story("tiddlerDisplay","tiddler");
- addEvent(document,"click",Popup.onDocumentClick);
- saveTest();
- loadOptionsCookie();
- for(var s=0; s<config.notifyTiddlers.length; s++)
- store.addNotification(config.notifyTiddlers[s].name,config.notifyTiddlers[s].notify);
- store.loadFromDiv("storeArea","store",true);
- invokeParamifier(params,"onload");
- var pluginProblem = loadPlugins();
- formatter = new Formatter(config.formatters);
- readOnly = (window.location.protocol == "file:") ? false : config.options.chkHttpReadOnly;
- invokeParamifier(params,"onconfig");
- store.notifyAll();
- restart();
- if(pluginProblem)
- {
- displayTiddler(null,"PluginManager");
- displayMessage(config.messages.customConfigError);
- }
- now = new Date();
- if(config.displayStartupTime)
- displayMessage("TiddlyWiki startup in " + (now-then)/1000 + " seconds");
- startingUp = false;
-}
-
-// Restarting
-function restart()
-{
- invokeParamifier(params,"onstart");
- if(story.isEmpty())
- {
- var defaultParams = store.getTiddlerText("DefaultTiddlers").parseParams("open",null,false);
- invokeParamifier(defaultParams,"onstart");
- }
- window.scrollTo(0,0);
-}
-
-function saveTest()
-{
- var saveTest = document.getElementById("saveTest");
- if(saveTest.hasChildNodes())
- alert(config.messages.savedSnapshotError);
- saveTest.appendChild(document.createTextNode("savetest"));
-}
-
-function loadPlugins()
-{
- if(safeMode)
- return false;
- var configTiddlers = store.getTaggedTiddlers("systemConfig");
- installedPlugins = [];
- var hadProblem = false;
- for(var t=0; t<configTiddlers.length; t++)
- {
- tiddler = configTiddlers[t];
- pluginInfo = getPluginInfo(tiddler);
- if(isPluginExecutable(pluginInfo))
- {
- pluginInfo.executed = true;
- pluginInfo.error = false;
- try
- {
- if(tiddler.text && tiddler.text != "")
- window.eval(tiddler.text);
- }
- catch(e)
- {
- pluginInfo.log.push(config.messages.pluginError.format([exceptionText(e)]));
- pluginInfo.error = true;
- hadProblem = true;
- }
- }
- else
- pluginInfo.warning = true;
- installedPlugins.push(pluginInfo);
- }
- return hadProblem;
-}
-
-function getPluginInfo(tiddler)
-{
- var p = store.getTiddlerSlices(tiddler.title,["Name","Description","Version","CoreVersion","Date","Source","Author","License","Browsers"]);
- p.tiddler = tiddler;
- p.title = tiddler.title;
- p.log = [];
- return p;
-}
-
-// Check that a particular plugin is valid for execution
-function isPluginExecutable(plugin)
-{
- if(plugin.tiddler.isTagged("systemConfigDisable"))
- return verifyTail(plugin,false,config.messages.pluginDisabled);
- if(plugin.tiddler.isTagged("systemConfigForce"))
- return verifyTail(plugin,true,config.messages.pluginForced);
- if(plugin["CoreVersion"])
- {
- var coreVersion = plugin["CoreVersion"].split(".");
- var w = parseInt(coreVersion[0]) - version.major;
- if(w == 0 && coreVersion[1])
- w = parseInt(coreVersion[1]) - version.minor;
- if(w == 0 && coreVersion[2])
- w = parseInt(coreVersion[2]) - version.revision;
- if(w > 0)
- return verifyTail(plugin,false,config.messages.pluginVersionError);
- }
- return true;
-}
-
-function verifyTail(plugin,result,message)
-{
- plugin.log.push(message);
- return result;
-}
-
-function invokeMacro(place,macro,params,wikifier,tiddler)
-{
- try
- {
- var m = config.macros[macro];
- if(m && m.handler)
- m.handler(place,macro,params.readMacroParams(),wikifier,params,tiddler);
- else
- createTiddlyError(place,config.messages.macroError.format([macro]),config.messages.macroErrorDetails.format([macro,config.messages.missingMacro]));
- }
- catch(ex)
- {
- createTiddlyError(place,config.messages.macroError.format([macro]),config.messages.macroErrorDetails.format([macro,ex.toString()]));
- }
-}
-
-// ---------------------------------------------------------------------------------
-// Paramifiers
-// ---------------------------------------------------------------------------------
-
-function getParameters()
-{
- var p = null;
- if(window.location.hash)
- {
- p = decodeURI(window.location.hash.substr(1));
- if(config.browser.firefoxDate != null && config.browser.firefoxDate[1] < "20051111")
- p = convertUTF8ToUnicode(p);
- }
- return p;
-}
-
-function invokeParamifier(params,handler)
-{
- if(!params || params.length == undefined || params.length <= 1)
- return;
- for(var t=1; t<params.length; t++)
- {
- var p = config.paramifiers[params[t].name];
- if(p && p[handler] instanceof Function)
- p[handler](params[t].value);
- }
-}
-
-config.paramifiers = {};
-
-config.paramifiers.start = {
- oninit: function(v) {
- safeMode = v.toLowerCase() == "safe";
- }
-};
-
-config.paramifiers.open = {
- onstart: function(v) {
- story.displayTiddler("bottom",v,null,false,false);
- }
-};
-
-config.paramifiers.story = {
- onstart: function(v) {
- var list = store.getTiddlerText(v,"").parseParams("open",null,false);
- invokeParamifier(list,"onstart");
- }
-};
-
-config.paramifiers.search = {
- onstart: function(v) {
- story.search(v,false,false);
- }
-};
-
-config.paramifiers.searchRegExp = {
- onstart: function(v) {
- story.prototype.search(v,false,true);
- }
-};
-
-config.paramifiers.tag = {
- onstart: function(v) {
- var tagged = store.getTaggedTiddlers(v,"title");
- for(var t=0; t<tagged.length; t++)
- story.displayTiddler("bottom",tagged[t].title,null,false,false);
- }
-};
-
-config.paramifiers.newTiddler = {
- onstart: function(v) {
- if(!readOnly)
- {
- story.displayTiddler(null,v,DEFAULT_EDIT_TEMPLATE);
- story.focusTiddler(v,"text");
- }
- }
-};
-
-config.paramifiers.newJournal = {
- onstart: function(v) {
- if(!readOnly)
- {
- var now = new Date();
- var title = now.formatString(v.trim());
- story.displayTiddler(null,title,DEFAULT_EDIT_TEMPLATE);
- story.focusTiddler(title,"text");
- }
- }
-};
-
-// ---------------------------------------------------------------------------------
-// Formatter helpers
-// ---------------------------------------------------------------------------------
-
-function Formatter(formatters)
-{
- this.formatters = [];
- var pattern = [];
- for(var n=0; n<formatters.length; n++)
- {
- pattern.push("(" + formatters[n].match + ")");
- this.formatters.push(formatters[n]);
- }
- this.formatterRegExp = new RegExp(pattern.join("|"),"mg");
-}
-
-config.formatterHelpers = {
-
- createElementAndWikify: function(w)
- {
- w.subWikifyTerm(createTiddlyElement(w.output,this.element),this.termRegExp);
- },
-
- inlineCssHelper: function(w)
- {
- var styles = [];
- config.textPrimitives.cssLookaheadRegExp.lastIndex = w.nextMatch;
- var lookaheadMatch = config.textPrimitives.cssLookaheadRegExp.exec(w.source);
- while(lookaheadMatch && lookaheadMatch.index == w.nextMatch)
- {
- var s,v;
- if(lookaheadMatch[1])
- {
- s = lookaheadMatch[1].unDash();
- v = lookaheadMatch[2];
- }
- else
- {
- s = lookaheadMatch[3].unDash();
- v = lookaheadMatch[4];
- }
- if (s=="bgcolor")
- s = "backgroundColor";
- styles.push({style: s, value: v});
- w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
- config.textPrimitives.cssLookaheadRegExp.lastIndex = w.nextMatch;
- lookaheadMatch = config.textPrimitives.cssLookaheadRegExp.exec(w.source);
- }
- return styles;
- },
-
- applyCssHelper: function(e,styles)
- {
- for(var t=0; t< styles.length; t++)
- {
- try
- {
- e.style[styles[t].style] = styles[t].value;
- }
- catch (ex)
- {
- }
- }
- },
-
- enclosedTextHelper: function(w)
- {
- this.lookaheadRegExp.lastIndex = w.matchStart;
- var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
- if(lookaheadMatch && lookaheadMatch.index == w.matchStart)
- {
- var text = lookaheadMatch[1];
- if(config.browser.isIE)
- text = text.replace(/\n/g,"\r");
- createTiddlyElement(w.output,this.element,null,null,text);
- w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
- }
- },
-
- isExternalLink: function(link)
- {
- if(store.tiddlerExists(link) || store.isShadowTiddler(link))
- {
- //# Definitely not an external link
- return false;
- }
- var urlRegExp = new RegExp(config.textPrimitives.urlPattern,"mg");
- if(urlRegExp.exec(link))
- {
- // Definitely an external link
- return true;
- }
- if (link.indexOf(".")!=-1 || link.indexOf("\\")!=-1 || link.indexOf("/")!=-1)
- {
- //# Link contains . / or \ so is probably an external link
- return true;
- }
- //# Otherwise assume it is not an external link
- return false;
- }
-
-};
-
-// ---------------------------------------------------------------------------------
-// Standard formatters
-// ---------------------------------------------------------------------------------
-
-config.formatters = [
-{
- name: "table",
- match: "^\\|(?:[^\\n]*)\\|(?:[fhck]?)$",
- lookaheadRegExp: /^\|([^\n]*)\|([fhck]?)$/mg,
- rowTermRegExp: /(\|(?:[fhck]?)$\n?)/mg,
- cellRegExp: /(?:\|([^\n\|]*)\|)|(\|[fhck]?$\n?)/mg,
- cellTermRegExp: /((?:\x20*)\|)/mg,
- rowTypes: {"c":"caption", "h":"thead", "":"tbody", "f":"tfoot"},
-
- handler: function(w)
- {
- var table = createTiddlyElement(w.output,"table");
- var prevColumns = [];
- var currRowType = null;
- var rowContainer;
- var rowCount = 0;
- w.nextMatch = w.matchStart;
- this.lookaheadRegExp.lastIndex = w.nextMatch;
- var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
- while(lookaheadMatch && lookaheadMatch.index == w.nextMatch)
- {
- var nextRowType = lookaheadMatch[2];
- if(nextRowType == "k")
- {
- table.className = lookaheadMatch[1];
- w.nextMatch += lookaheadMatch[0].length+1;
- }
- else
- {
- if(nextRowType != currRowType)
- {
- rowContainer = createTiddlyElement(table,this.rowTypes[nextRowType]);
- currRowType = nextRowType;
- }
- if(currRowType == "c")
- {
- // Caption
- w.nextMatch++;
- if(rowContainer != table.firstChild)
- table.insertBefore(rowContainer,table.firstChild);
- rowContainer.setAttribute("align",rowCount == 0?"top":"bottom");
- w.subWikifyTerm(rowContainer,this.rowTermRegExp);
- }
- else
- {
- this.rowHandler(w,createTiddlyElement(rowContainer,"tr",null,(rowCount&1)?"oddRow":"evenRow"),prevColumns);
- rowCount++;
- }
- }
- this.lookaheadRegExp.lastIndex = w.nextMatch;
- lookaheadMatch = this.lookaheadRegExp.exec(w.source);
- }
- },
- rowHandler: function(w,e,prevColumns)
- {
- var col = 0;
- var colSpanCount = 1;
- var prevCell = null;
- this.cellRegExp.lastIndex = w.nextMatch;
- var cellMatch = this.cellRegExp.exec(w.source);
- while(cellMatch && cellMatch.index == w.nextMatch)
- {
- if(cellMatch[1] == "~")
- {
- // Rowspan
- var last = prevColumns[col];
- if(last)
- {
- last.rowSpanCount++;
- last.element.setAttribute("rowspan",last.rowSpanCount);
- last.element.setAttribute("rowSpan",last.rowSpanCount); // Needed for IE
- last.element.valign = "center";
- }
- w.nextMatch = this.cellRegExp.lastIndex-1;
- }
- else if(cellMatch[1] == ">")
- {
- // Colspan
- colSpanCount++;
- w.nextMatch = this.cellRegExp.lastIndex-1;
- }
- else if(cellMatch[2])
- {
- // End of row
- if(prevCell && colSpanCount > 1)
- {
- prevCell.setAttribute("colspan",colSpanCount);
- prevCell.setAttribute("colSpan",colSpanCount); // Needed for IE
- }
- w.nextMatch = this.cellRegExp.lastIndex;
- break;
- }
- else
- {
- // Cell
- w.nextMatch++;
- var styles = config.formatterHelpers.inlineCssHelper(w);
- var spaceLeft = false;
- var chr = w.source.substr(w.nextMatch,1);
- while(chr == " ")
- {
- spaceLeft = true;
- w.nextMatch++;
- chr = w.source.substr(w.nextMatch,1);
- }
- var cell;
- if(chr == "!")
- {
- cell = createTiddlyElement(e,"th");
- w.nextMatch++;
- }
- else
- cell = createTiddlyElement(e,"td");
- prevCell = cell;
- prevColumns[col] = {rowSpanCount:1, element:cell};
- if(colSpanCount > 1)
- {
- cell.setAttribute("colspan",colSpanCount);
- cell.setAttribute("colSpan",colSpanCount); // Needed for IE
- colSpanCount = 1;
- }
- config.formatterHelpers.applyCssHelper(cell,styles);
- w.subWikifyTerm(cell,this.cellTermRegExp);
- if(w.matchText.substr(w.matchText.length-2,1) == " ") // spaceRight
- cell.align = spaceLeft ? "center" : "left";
- else if(spaceLeft)
- cell.align = "right";
- w.nextMatch--;
- }
- col++;
- this.cellRegExp.lastIndex = w.nextMatch;
- cellMatch = this.cellRegExp.exec(w.source);
- }
- }
-},
-
-{
- name: "heading",
- match: "^!{1,5}",
- termRegExp: /(\n)/mg,
- handler: function(w)
- {
- w.subWikifyTerm(createTiddlyElement(w.output,"h" + w.matchLength),this.termRegExp);
- }
-},
-
-{
- name: "list",
- match: "^(?:(?:(?:\\*)|(?:#)|(?:;)|(?::))+)",
- lookaheadRegExp: /^(?:(?:(\*)|(#)|(;)|(:))+)/mg,
- termRegExp: /(\n)/mg,
- handler: function(w)
- {
- var placeStack = [w.output];
- var currLevel = 0, currType = null;
- var listLevel, listType, itemType;
- w.nextMatch = w.matchStart;
- this.lookaheadRegExp.lastIndex = w.nextMatch;
- var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
- while(lookaheadMatch && lookaheadMatch.index == w.nextMatch)
- {
- if(lookaheadMatch[1])
- {
- listType = "ul";
- itemType = "li";
- }
- else if(lookaheadMatch[2])
- {
- listType = "ol";
- itemType = "li";
- }
- else if(lookaheadMatch[3])
- {
- listType = "dl";
- itemType = "dt";
- }
- else if(lookaheadMatch[4])
- {
- listType = "dl";
- itemType = "dd";
- }
- listLevel = lookaheadMatch[0].length;
- w.nextMatch += lookaheadMatch[0].length;
- if(listLevel > currLevel)
- {
- for(var t=currLevel; t<listLevel; t++)
- placeStack.push(createTiddlyElement(placeStack[placeStack.length-1],listType));
- }
- else if(listLevel < currLevel)
- {
- for(var t=currLevel; t>listLevel; t--)
- placeStack.pop();
- }
- else if(listLevel == currLevel && listType != currType)
- {
- placeStack.pop();
- placeStack.push(createTiddlyElement(placeStack[placeStack.length-1],listType));
- }
- currLevel = listLevel;
- currType = listType;
- var e = createTiddlyElement(placeStack[placeStack.length-1],itemType);
- w.subWikifyTerm(e,this.termRegExp);
- this.lookaheadRegExp.lastIndex = w.nextMatch;
- lookaheadMatch = this.lookaheadRegExp.exec(w.source);
- }
- }
-},
-
-{
- name: "quoteByBlock",
- match: "^<<<\\n",
- termRegExp: /(^<<<(\n|$))/mg,
- element: "blockquote",
- handler: config.formatterHelpers.createElementAndWikify
-},
-
-{
- name: "quoteByLine",
- match: "^>+",
- lookaheadRegExp: /^>+/mg,
- termRegExp: /(\n)/mg,
- element: "blockquote",
- handler: function(w)
- {
- var placeStack = [w.output];
- var currLevel = 0;
- var newLevel = w.matchLength;
- var t;
- do {
- if(newLevel > currLevel)
- {
- for(t=currLevel; t<newLevel; t++)
- placeStack.push(createTiddlyElement(placeStack[placeStack.length-1],this.element));
- }
- else if(newLevel < currLevel)
- {
- for(t=currLevel; t>newLevel; t--)
- placeStack.pop();
- }
- currLevel = newLevel;
- w.subWikifyTerm(placeStack[placeStack.length-1],this.termRegExp);
- createTiddlyElement(placeStack[placeStack.length-1],"br");
- this.lookaheadRegExp.lastIndex = w.ne...
[truncated message content] |
|
From: <m2...@us...> - 2007-04-27 22:34:14
|
Revision: 422
http://svn.sourceforge.net/waffle/?rev=422&view=rev
Author: m2ward
Date: 2007-04-27 15:34:11 -0700 (Fri, 27 Apr 2007)
Log Message:
-----------
fixed link on index.apt
Modified Paths:
--------------
trunk/distribution/src/site/apt/index.apt
Modified: trunk/distribution/src/site/apt/index.apt
===================================================================
--- trunk/distribution/src/site/apt/index.apt 2007-04-19 12:53:11 UTC (rev 421)
+++ trunk/distribution/src/site/apt/index.apt 2007-04-27 22:34:11 UTC (rev 422)
@@ -39,6 +39,6 @@
* {{{helloworld.html}Example: Hello World}}
- * {{{simple_calculator.html}Example: Simple Calculator}}
+ * {{{simple-calculator.html}Example: Simple Calculator}}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mau...@us...> - 2007-04-19 12:53:18
|
Revision: 421
http://svn.sourceforge.net/waffle/?rev=421&view=rev
Author: maurotalevi
Date: 2007-04-19 05:53:11 -0700 (Thu, 19 Apr 2007)
Log Message:
-----------
Added BUILD.txt detailing the build requirements and profiles.
Added Paths:
-----------
trunk/BUILD.txt
Added: trunk/BUILD.txt
===================================================================
--- trunk/BUILD.txt (rev 0)
+++ trunk/BUILD.txt 2007-04-19 12:53:11 UTC (rev 421)
@@ -0,0 +1,23 @@
+Build system:
+
+JDK required: 1.5+
+Maven (http://maven.apache.org) required: 2.0.5+
+
+Build profiles:
+
+- default: builds core and extensions
+
+mvn clean install
+
+- examples: builds core, extensions and examples
+
+mvn -Pexamples install
+
+- distribution: builds core, extensions and distribution
+
+mvn -Pdist install
+
+Note: profiles can be combined, eg to build examples and distribution
+
+mvn -Pexamples,dist install
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mau...@us...> - 2007-04-19 12:37:11
|
Revision: 420
http://svn.sourceforge.net/waffle/?rev=420&view=rev
Author: maurotalevi
Date: 2007-04-19 05:37:10 -0700 (Thu, 19 Apr 2007)
Log Message:
-----------
Updated to use paranamer-maven-plugin artifact, which specifies the required runtime dependencies.
Modified Paths:
--------------
trunk/examples/freemarker-example/pom.xml
trunk/examples/paranamer-example/pom.xml
trunk/framework/pom.xml
Modified: trunk/examples/freemarker-example/pom.xml
===================================================================
--- trunk/examples/freemarker-example/pom.xml 2007-04-19 09:12:17 UTC (rev 419)
+++ trunk/examples/freemarker-example/pom.xml 2007-04-19 12:37:10 UTC (rev 420)
@@ -42,7 +42,7 @@
<plugins>
<plugin>
<groupId>com.thoughtworks.paranamer</groupId>
- <artifactId>paranamer</artifactId>
+ <artifactId>paranamer-maven-plugin</artifactId>
<configuration>
<sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
<outputDirectory>${basedir}/src/main/resources</outputDirectory>
@@ -55,18 +55,6 @@
</goals>
</execution>
</executions>
- <dependencies>
- <dependency>
- <groupId>qdox</groupId>
- <artifactId>qdox</artifactId>
- <version>1.6.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-plugin-api</artifactId>
- <version>2.0</version>
- </dependency>
- </dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
Modified: trunk/examples/paranamer-example/pom.xml
===================================================================
--- trunk/examples/paranamer-example/pom.xml 2007-04-19 09:12:17 UTC (rev 419)
+++ trunk/examples/paranamer-example/pom.xml 2007-04-19 12:37:10 UTC (rev 420)
@@ -42,7 +42,7 @@
<plugins>
<plugin>
<groupId>com.thoughtworks.paranamer</groupId>
- <artifactId>paranamer</artifactId>
+ <artifactId>paranamer-maven-plugin</artifactId>
<configuration>
<sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
<outputDirectory>${basedir}/src/main/resources</outputDirectory>
@@ -55,18 +55,6 @@
</goals>
</execution>
</executions>
- <dependencies>
- <dependency>
- <groupId>qdox</groupId>
- <artifactId>qdox</artifactId>
- <version>1.6.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-plugin-api</artifactId>
- <version>2.0</version>
- </dependency>
- </dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
Modified: trunk/framework/pom.xml
===================================================================
--- trunk/framework/pom.xml 2007-04-19 09:12:17 UTC (rev 419)
+++ trunk/framework/pom.xml 2007-04-19 12:37:10 UTC (rev 420)
@@ -66,7 +66,7 @@
</plugin>
<plugin>
<groupId>com.thoughtworks.paranamer</groupId>
- <artifactId>paranamer</artifactId>
+ <artifactId>paranamer-maven-plugin</artifactId>
<configuration>
<sourceDirectory>${project.build.testSourceDirectory}</sourceDirectory>
<outputDirectory>${basedir}/src/test/resources</outputDirectory>
@@ -78,19 +78,7 @@
<goal>generate</goal>
</goals>
</execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>qdox</groupId>
- <artifactId>qdox</artifactId>
- <version>1.6.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-plugin-api</artifactId>
- <version>2.0</version>
- </dependency>
- </dependencies>
+ </executions>
</plugin>
</plugins>
</build>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mau...@us...> - 2007-04-19 09:12:20
|
Revision: 419
http://svn.sourceforge.net/waffle/?rev=419&view=rev
Author: maurotalevi
Date: 2007-04-19 02:12:17 -0700 (Thu, 19 Apr 2007)
Log Message:
-----------
Updated examples to new snapshot of paranamer with dependencies at provided scope.
Modified Paths:
--------------
trunk/examples/freemarker-example/pom.xml
trunk/examples/paranamer-example/pom.xml
Modified: trunk/examples/freemarker-example/pom.xml
===================================================================
--- trunk/examples/freemarker-example/pom.xml 2007-04-19 09:08:16 UTC (rev 418)
+++ trunk/examples/freemarker-example/pom.xml 2007-04-19 09:12:17 UTC (rev 419)
@@ -41,35 +41,47 @@
<build>
<plugins>
<plugin>
- <groupId>com.thoughtworks.paranamer</groupId>
- <artifactId>paranamer</artifactId>
- <configuration>
- <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
- <outputDirectory>${basedir}/src/main/resources</outputDirectory>
- </configuration>
- <executions>
- <execution>
- <id>generate</id>
- <goals>
- <goal>generate</goal>
- </goals>
- </execution>
- </executions>
+ <groupId>com.thoughtworks.paranamer</groupId>
+ <artifactId>paranamer</artifactId>
+ <configuration>
+ <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
+ <outputDirectory>${basedir}/src/main/resources</outputDirectory>
+ </configuration>
+ <executions>
+ <execution>
+ <id>generate</id>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>qdox</groupId>
+ <artifactId>qdox</artifactId>
+ <version>1.6.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0</version>
+ </dependency>
+ </dependencies>
</plugin>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-war-plugin</artifactId>
- <version>2.0</version>
- <configuration>
- <warName>${pom.artifactId}</warName>
- <webResources>
- <resource>
- <directory>${basedir}/resources</directory>
- </resource>
- </webResources>
- </configuration>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId>
+ <version>2.0</version>
+ <configuration>
+ <warName>${pom.artifactId}</warName>
+ <webResources>
+ <resource>
+ <directory>${basedir}/resources</directory>
+ </resource>
+ </webResources>
+ </configuration>
</plugin>
- <plugin>
+ <plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
Modified: trunk/examples/paranamer-example/pom.xml
===================================================================
--- trunk/examples/paranamer-example/pom.xml 2007-04-19 09:08:16 UTC (rev 418)
+++ trunk/examples/paranamer-example/pom.xml 2007-04-19 09:12:17 UTC (rev 419)
@@ -41,20 +41,32 @@
<build>
<plugins>
<plugin>
- <groupId>com.thoughtworks.paranamer</groupId>
- <artifactId>paranamer</artifactId>
- <configuration>
- <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
- <outputDirectory>${basedir}/src/main/resources</outputDirectory>
- </configuration>
- <executions>
- <execution>
- <id>generate</id>
- <goals>
- <goal>generate</goal>
- </goals>
- </execution>
- </executions>
+ <groupId>com.thoughtworks.paranamer</groupId>
+ <artifactId>paranamer</artifactId>
+ <configuration>
+ <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
+ <outputDirectory>${basedir}/src/main/resources</outputDirectory>
+ </configuration>
+ <executions>
+ <execution>
+ <id>generate</id>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>qdox</groupId>
+ <artifactId>qdox</artifactId>
+ <version>1.6.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0</version>
+ </dependency>
+ </dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mau...@us...> - 2007-04-19 09:08:17
|
Revision: 418
http://svn.sourceforge.net/waffle/?rev=418&view=rev
Author: maurotalevi
Date: 2007-04-19 02:08:16 -0700 (Thu, 19 Apr 2007)
Log Message:
-----------
Updated to new snapshot of paranamer with dependencies at provided scope.
Modified Paths:
--------------
trunk/framework/pom.xml
Modified: trunk/framework/pom.xml
===================================================================
--- trunk/framework/pom.xml 2007-04-19 08:53:02 UTC (rev 417)
+++ trunk/framework/pom.xml 2007-04-19 09:08:16 UTC (rev 418)
@@ -79,6 +79,18 @@
</goals>
</execution>
</executions>
+ <dependencies>
+ <dependency>
+ <groupId>qdox</groupId>
+ <artifactId>qdox</artifactId>
+ <version>1.6.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0</version>
+ </dependency>
+ </dependencies>
</plugin>
</plugins>
</build>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mau...@us...> - 2007-04-19 08:53:11
|
Revision: 417
http://svn.sourceforge.net/waffle/?rev=417&view=rev
Author: maurotalevi
Date: 2007-04-19 01:53:02 -0700 (Thu, 19 Apr 2007)
Log Message:
-----------
Made all non-mandatory dependencies of scope 'provided', which can be overridden to 'runtime'
by the poms requiring the dependency to be included in the war.
Modified Paths:
--------------
trunk/examples/freemarker-example/pom.xml
trunk/examples/migration-example/pom.xml
trunk/examples/paranamer-example/pom.xml
trunk/examples/simple-example/pom.xml
trunk/pom.xml
Modified: trunk/examples/freemarker-example/pom.xml
===================================================================
--- trunk/examples/freemarker-example/pom.xml 2007-04-18 17:27:24 UTC (rev 416)
+++ trunk/examples/freemarker-example/pom.xml 2007-04-19 08:53:02 UTC (rev 417)
@@ -19,24 +19,12 @@
<dependency>
<groupId>com.thoughtworks.paranamer</groupId>
<artifactId>paranamer</artifactId>
- <exclusions>
- <exclusion>
- <groupId>ant</groupId>
- <artifactId>ant</artifactId>
- </exclusion>
- <exclusion>
- <groupId>maven-plugin-api</groupId>
- <artifactId>maven-plugin-api</artifactId>
- </exclusion>
- <exclusion>
- <groupId>qdox</groupId>
- <artifactId>qdox</artifactId>
- </exclusion>
- </exclusions>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>freemarker</groupId>
Modified: trunk/examples/migration-example/pom.xml
===================================================================
--- trunk/examples/migration-example/pom.xml 2007-04-18 17:27:24 UTC (rev 416)
+++ trunk/examples/migration-example/pom.xml 2007-04-19 08:53:02 UTC (rev 417)
@@ -16,24 +16,21 @@
<groupId>${pom.groupId}</groupId>
<artifactId>waffle</artifactId>
<version>${pom.version}</version>
- <exclusions>
- <exclusion>
- <groupId>com.thoughtworks.paranamer</groupId>
- <artifactId>paranamer</artifactId>
- </exclusion>
- </exclusions>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
Modified: trunk/examples/paranamer-example/pom.xml
===================================================================
--- trunk/examples/paranamer-example/pom.xml 2007-04-18 17:27:24 UTC (rev 416)
+++ trunk/examples/paranamer-example/pom.xml 2007-04-19 08:53:02 UTC (rev 417)
@@ -19,32 +19,22 @@
<dependency>
<groupId>com.thoughtworks.paranamer</groupId>
<artifactId>paranamer</artifactId>
- <exclusions>
- <exclusion>
- <groupId>ant</groupId>
- <artifactId>ant</artifactId>
- </exclusion>
- <exclusion>
- <groupId>maven-plugin-api</groupId>
- <artifactId>maven-plugin-api</artifactId>
- </exclusion>
- <exclusion>
- <groupId>qdox</groupId>
- <artifactId>qdox</artifactId>
- </exclusion>
- </exclusions>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
+ <scope>runtime</scope>
</dependency>
</dependencies>
Modified: trunk/examples/simple-example/pom.xml
===================================================================
--- trunk/examples/simple-example/pom.xml 2007-04-18 17:27:24 UTC (rev 416)
+++ trunk/examples/simple-example/pom.xml 2007-04-19 08:53:02 UTC (rev 417)
@@ -15,24 +15,21 @@
<groupId>${pom.groupId}</groupId>
<artifactId>waffle</artifactId>
<version>${pom.version}</version>
- <exclusions>
- <exclusion>
- <groupId>com.thoughtworks.paranamer</groupId>
- <artifactId>paranamer</artifactId>
- </exclusion>
- </exclusions>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
+ <scope>runtime</scope>
</dependency>
</dependencies>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2007-04-18 17:27:24 UTC (rev 416)
+++ trunk/pom.xml 2007-04-19 08:53:02 UTC (rev 417)
@@ -28,13 +28,13 @@
<dependency>
<groupId>org.picocontainer</groupId>
<artifactId>picocontainer</artifactId>
- <version>1.2</version>
+ <version>1.3</version>
</dependency>
<dependency>
<groupId>com.thoughtworks.paranamer</groupId>
<artifactId>paranamer</artifactId>
<version>1.0-SNAPSHOT</version>
- <optional>true</optional>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
@@ -46,34 +46,36 @@
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.1.2</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>velocity</groupId>
<artifactId>velocity</artifactId>
- <version>1.4</version>
- <optional>true</optional>
+ <version>1.5</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>velocity-tools</groupId>
<artifactId>velocity-tools-view</artifactId>
- <version>1.1</version>
- <optional>true</optional>
+ <version>1.2</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>jmock</groupId>
<artifactId>jmock</artifactId>
- <version>1.1.0</version>
+ <version>1.2.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <version>4.2</version>
+ <version>4.3.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mau...@us...> - 2007-04-18 17:27:31
|
Revision: 416
http://svn.sourceforge.net/waffle/?rev=416&view=rev
Author: maurotalevi
Date: 2007-04-18 10:27:24 -0700 (Wed, 18 Apr 2007)
Log Message:
-----------
Moved example modules to separate profile. To build with examples use mvn -Pexamples
Modified Paths:
--------------
trunk/.classpath
trunk/pom.xml
Modified: trunk/.classpath
===================================================================
--- trunk/.classpath 2007-03-29 20:06:52 UTC (rev 415)
+++ trunk/.classpath 2007-04-18 17:27:24 UTC (rev 416)
@@ -2,17 +2,18 @@
<classpath>
<classpathentry kind="src" path="framework/src/main/java"/>
<classpathentry kind="src" path="framework/src/test/java"/>
- <classpathentry kind="src" path="framework/src/test/resources"/>
- <classpathentry kind="src" path="extensions/webcontainer/src/main/java"/>
- <classpathentry kind="src" path="extensions/webcontainer/src/test/java"/>
+ <classpathentry kind="src" path="framework/src/test/resources"/>
+ <classpathentry kind="src" path="extensions/webcontainer/src/main/java"/>
+ <classpathentry kind="src" path="extensions/webcontainer/src/test/java"/>
<classpathentry kind="src" path="examples/simple-example/src/main/java"/>
<classpathentry kind="src" path="examples/simple-example/src/test/java"/>
- <classpathentry kind="src" path="examples/freemarker-example/src/main/java"/>
- <classpathentry kind="src" path="examples/freemarker-example/src/test/java"/>
- <classpathentry kind="src" path="examples/paranamer-example/src/main/java"/>
- <classpathentry kind="src" path="examples/paranamer-example/src/test/java"/>
- <classpathentry kind="src" path="examples/migration-example/src/main/java"/>
+ <classpathentry kind="src" path="examples/freemarker-example/src/main/java"/>
+ <classpathentry kind="src" path="examples/freemarker-example/src/test/java"/>
+ <classpathentry kind="src" path="examples/paranamer-example/src/main/java"/>
+ <classpathentry kind="src" path="examples/paranamer-example/src/test/java"/>
+ <classpathentry kind="src" path="examples/migration-example/src/main/java"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/struts/struts-core/1.3.5/struts-core-1.3.5.jar"/>
<classpathentry kind="output" path="target/ide"/>
</classpath>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2007-03-29 20:06:52 UTC (rev 415)
+++ trunk/pom.xml 2007-04-18 17:27:24 UTC (rev 416)
@@ -1,357 +1,338 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>com.thoughtworks.waffle</groupId>
- <artifactId>waffle-parent</artifactId>
- <packaging>pom</packaging>
- <version>1.0-SNAPSHOT</version>
- <name>Waffle Parent</name>
- <description>Waffle is a Java web framework that makes the process of developing Java based web applications easier.
- It was built to support enterprise level web-based business applications.</description>
- <url>http://waffle.sourceforge.net</url>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>com.thoughtworks.waffle</groupId>
+ <artifactId>waffle-parent</artifactId>
+ <packaging>pom</packaging>
+ <version>1.0-SNAPSHOT</version>
+ <name>Waffle Parent</name>
+ <description>
+ Waffle is a Java web framework that makes the process of developing Java based web applications easier. It was built
+ to support enterprise level web-based business applications.
+ </description>
+ <url>http://waffle.sourceforge.net</url>
- <modules>
- <module>skin</module>
- <module>framework</module>
- <module>extensions/webcontainer</module>
- <module>examples/simple-example</module>
- <module>examples/freemarker-example</module>
- <module>examples/paranamer-example</module>
- <module>examples/migration-example</module>
- </modules>
+ <modules>
+ <module>skin</module>
+ <module>framework</module>
+ <module>extensions/webcontainer</module>
+ </modules>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>ognl</groupId>
- <artifactId>ognl</artifactId>
- <version>2.6.9</version>
- </dependency>
- <dependency>
- <groupId>org.picocontainer</groupId>
- <artifactId>picocontainer</artifactId>
- <version>1.2</version>
- </dependency>
- <dependency>
- <groupId>com.thoughtworks.paranamer</groupId>
- <artifactId>paranamer</artifactId>
- <version>1.0-SNAPSHOT</version>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.4</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>jstl</artifactId>
- <version>1.1.2</version>
- </dependency>
- <dependency>
- <groupId>taglibs</groupId>
- <artifactId>standard</artifactId>
- <version>1.1.2</version>
- </dependency>
- <dependency>
- <groupId>velocity</groupId>
- <artifactId>velocity</artifactId>
- <version>1.4</version>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>velocity-tools</groupId>
- <artifactId>velocity-tools-view</artifactId>
- <version>1.1</version>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>jmock</groupId>
- <artifactId>jmock</artifactId>
- <version>1.1.0</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.2</version>
- <scope>provided</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
+ <dependencyManagement>
<dependencies>
- <dependency>
- <groupId>jmock</groupId>
- <artifactId>jmock</artifactId>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </dependency>
+ <dependency>
+ <groupId>ognl</groupId>
+ <artifactId>ognl</artifactId>
+ <version>2.6.9</version>
+ </dependency>
+ <dependency>
+ <groupId>org.picocontainer</groupId>
+ <artifactId>picocontainer</artifactId>
+ <version>1.2</version>
+ </dependency>
+ <dependency>
+ <groupId>com.thoughtworks.paranamer</groupId>
+ <artifactId>paranamer</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.4</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>jstl</artifactId>
+ <version>1.1.2</version>
+ </dependency>
+ <dependency>
+ <groupId>taglibs</groupId>
+ <artifactId>standard</artifactId>
+ <version>1.1.2</version>
+ </dependency>
+ <dependency>
+ <groupId>velocity</groupId>
+ <artifactId>velocity</artifactId>
+ <version>1.4</version>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>velocity-tools</groupId>
+ <artifactId>velocity-tools-view</artifactId>
+ <version>1.1</version>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>jmock</groupId>
+ <artifactId>jmock</artifactId>
+ <version>1.1.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.2</version>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
+ </dependencyManagement>
- <build>
- <extensions>
- <extension>
- <groupId>org.apache.maven.wagon</groupId>
- <artifactId>wagon-ssh-external</artifactId>
- <version>1.0-beta-2</version>
- </extension>
- </extensions>
+ <dependencies>
+ <dependency>
+ <groupId>jmock</groupId>
+ <artifactId>jmock</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh-external</artifactId>
+ <version>1.0-beta-2</version>
+ </extension>
+ </extensions>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.3</version>
+ <configuration>
+ <includes>
+ <include>**/*Test.java</include>
+ </includes>
+ <excludes>
+ <exclude>**/*TestCase.java</exclude>
+ </excludes>
+ <forkMode>once</forkMode>
+ <printSummary>true</printSummary>
+ <useFile>true</useFile>
+ <systemProperties>
+ <property>
+ <name>java.awt.headless</name>
+ <value>true</value>
+ </property>
+ </systemProperties>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-report-plugin</artifactId>
+ <version>2.3</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://waffle.svn.sourceforge.net/svnroot/waffle/tags</tagBase>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <profiles>
+ <profile>
+ <!-- No-test profile: equivalent to -Dmaven.test.skip=true -->
+ <id>nt</id>
+ <build>
<plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.5</source>
- <target>1.5</target>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.3</version>
- <configuration>
- <includes>
- <include>**/*Test.java</include>
- </includes>
- <excludes>
- <exclude>**/*TestCase.java</exclude>
- </excludes>
- <forkMode>once</forkMode>
- <printSummary>true</printSummary>
- <useFile>true</useFile>
- <systemProperties>
- <property>
- <name>java.awt.headless</name>
- <value>true</value>
- </property>
- </systemProperties>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-report-plugin</artifactId>
- <version>2.3</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-release-plugin</artifactId>
- <configuration>
- <tagBase>
- https://waffle.svn.sourceforge.net/svnroot/waffle/tags
- </tagBase>
- </configuration>
- </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ </plugin>
</plugins>
- </build>
+ </build>
+ </profile>
+ <profile>
+ <!-- Tomcat profile: equivalent to -Dwebapp.deploy.dir=${env.TOMCAT_HOME}/webapps -->
+ <id>tomcat</id>
+ <properties>
+ <webapp.deploy.dir>${env.TOMCAT_HOME}/webapps</webapp.deploy.dir>
+ </properties>
+ </profile>
+ <profile>
+ <!-- Jetty profile: equivalent to -Dwebapp.deploy.dir=${env.JETTY_HOME}/webapps -->
+ <id>jetty</id>
+ <properties>
+ <webapp.deploy.dir>${env.JETTY_HOME}/webapps</webapp.deploy.dir>
+ </properties>
+ </profile>
+ <profile>
+ <!-- Geronimo profile: equivalent to -Dwebapp.deploy.dir=${env.GERONIMO_HOME}/deploy -->
+ <id>geronimo</id>
+ <properties>
+ <webapp.deploy.dir>${env.GERONIMO_HOME}/deploy</webapp.deploy.dir>
+ </properties>
+ </profile>
+ <profile>
+ <!-- Distribution profile -->
+ <id>dist</id>
+ <modules>
+ <module>distribution</module>
+ </modules>
+ </profile>
+ <profile>
+ <!-- Examples profile -->
+ <id>examples</id>
+ <modules>
+ <module>examples/simple-example</module>
+ <module>examples/freemarker-example</module>
+ <module>examples/paranamer-example</module>
+ <module>examples/migration-example</module>
+ </modules>
+ </profile>
+ </profiles>
- <profiles>
- <profile>
- <!-- No-test profile: equivalent to -Dmaven.test.skip=true -->
- <id>nt</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <!-- Tomcat profile: equivalent to -Dwebapp.deploy.dir=${env.TOMCAT_HOME}/webapps -->
- <id>tomcat</id>
- <properties>
- <webapp.deploy.dir>
- ${env.TOMCAT_HOME}/webapps
- </webapp.deploy.dir>
- </properties>
- </profile>
- <profile>
- <!-- Jetty profile: equivalent to -Dwebapp.deploy.dir=${env.JETTY_HOME}/webapps -->
- <id>jetty</id>
- <properties>
- <webapp.deploy.dir>
- ${env.JETTY_HOME}/webapps
- </webapp.deploy.dir>
- </properties>
- </profile>
- <profile>
- <!-- Geronimo profile: equivalent to -Dwebapp.deploy.dir=${env.GERONIMO_HOME}/deploy -->
- <id>geronimo</id>
- <properties>
- <webapp.deploy.dir>
- ${env.GERONIMO_HOME}/deploy
- </webapp.deploy.dir>
- </properties>
- </profile>
- <profile>
- <!-- Distribution profile -->
- <id>dist</id>
- <modules>
- <module>distribution</module>
- </modules>
- </profile>
- </profiles>
+ <properties>
+ <webapp.deploy.dir>${java.io.tmpdir}/webapps</webapp.deploy.dir>
+ </properties>
- <properties>
- <webapp.deploy.dir>
- ${java.io.tmpdir}/webapps
- </webapp.deploy.dir>
- </properties>
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-project-info-reports-plugin</artifactId>
+ <reportSets>
+ <reportSet>
+ <reports>
+ <report>dependencies</report>
+ <report>project-team</report>
+ <report>license</report>
+ <report>mailing-list</report>
+ <!--<report>scm</report>-->
+ </reports>
+ </reportSet>
+ </reportSets>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-report-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </reporting>
- <reporting>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>
- maven-project-info-reports-plugin
- </artifactId>
- <reportSets>
- <reportSet>
- <reports>
- <report>dependencies</report>
- <report>project-team</report>
- <report>license</report>
- <report>mailing-list</report>
- <!--<report>scm</report>-->
- </reports>
- </reportSet>
- </reportSets>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-report-plugin</artifactId>
- </plugin>
- </plugins>
- </reporting>
+ <licenses>
+ <license>
+ <name>BSD license</name>
+ <url>http://waffle.sourceforge.net/license.html</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
- <licenses>
- <license>
- <name>BSD license</name>
- <url>http://waffle.sourceforge.net/license.html</url>
- <distribution>repo</distribution>
- </license>
- </licenses>
-
- <developers>
- <developer>
- <id>m2ward</id>
- <name>Michael Ward</name>
- <email>m2ward|NO...@us...</email>
- <roles>
- <role>administrator</role>
- <role>developer</role>
- </roles>
- <timezone>-6</timezone>
- </developer>
- <developer>
- <id>maurotalevi</id>
- <name>Mauro Talevi</name>
- <email>maurotalevi|NO...@us...</email>
- <roles>
- <role>developer</role>
- </roles>
- <timezone>0</timezone>
- </developer>
- <developer>
- <id>paul-h</id>
- <name>Paul Hammant</name>
- <email>paul|NO...@ha...</email>
- <roles>
- <role>developer</role>
- </roles>
- <timezone>-6</timezone>
- </developer>
- </developers>
+ <developers>
+ <developer>
+ <id>m2ward</id>
+ <name>Michael Ward</name>
+ <email>m2ward|NO...@us...</email>
+ <roles>
+ <role>administrator</role>
+ <role>developer</role>
+ </roles>
+ <timezone>-6</timezone>
+ </developer>
+ <developer>
+ <id>maurotalevi</id>
+ <name>Mauro Talevi</name>
+ <email>maurotalevi|NO...@us...</email>
+ <roles>
+ <role>developer</role>
+ </roles>
+ <timezone>0</timezone>
+ </developer>
+ <developer>
+ <id>paul-h</id>
+ <name>Paul Hammant</name>
+ <email>paul|NO...@ha...</email>
+ <roles>
+ <role>developer</role>
+ </roles>
+ <timezone>-6</timezone>
+ </developer>
+ </developers>
- <mailingLists>
- <mailingList>
- <name>Google Group</name>
- <subscribe>
- http://groups-beta.google.com/group/waffle-web-framework
- </subscribe>
- <unsubscribe>
- http://groups-beta.google.com/group/waffle-web-framework
- </unsubscribe>
- <post>waf...@go...</post>
- <archive>
- http://groups-beta.google.com/group/waffle-web-framework
- </archive>
- </mailingList>
- <mailingList>
- <name>Developer List</name>
- <subscribe>
- https://lists.sourceforge.net/lists/listinfo/waffle-devs
- </subscribe>
- <unsubscribe>
- https://lists.sourceforge.net/lists/listinfo/waffle-devs
- </unsubscribe>
- <post>waf...@li...</post>
- <archive>
- http://sourceforge.net/mailarchive/forum.php?forum=waffle-devs
- </archive>
- </mailingList>
- </mailingLists>
+ <mailingLists>
+ <mailingList>
+ <name>Google Group</name>
+ <subscribe>http://groups-beta.google.com/group/waffle-web-framework</subscribe>
+ <unsubscribe>http://groups-beta.google.com/group/waffle-web-framework</unsubscribe>
+ <post>waf...@go...</post>
+ <archive>http://groups-beta.google.com/group/waffle-web-framework</archive>
+ </mailingList>
+ <mailingList>
+ <name>Developer List</name>
+ <subscribe>https://lists.sourceforge.net/lists/listinfo/waffle-devs</subscribe>
+ <unsubscribe>https://lists.sourceforge.net/lists/listinfo/waffle-devs</unsubscribe>
+ <post>waf...@li...</post>
+ <archive>http://sourceforge.net/mailarchive/forum.php?forum=waffle-devs</archive>
+ </mailingList>
+ </mailingLists>
- <scm>
- <connection>scm:svn:http://waffle.svn.sourceforge.net/svnroot/waffle/trunk</connection>
- <developerConnection>scm:svn:http://waffle.svn.sourceforge.net/svnroot/waffle/trunk</developerConnection>
- <url>http://waffle.svn.sourceforge.net/viewvc/waffle/runk</url>
- </scm>
+ <scm>
+ <connection>scm:svn:http://waffle.svn.sourceforge.net/svnroot/waffle/trunk</connection>
+ <developerConnection>scm:svn:http://waffle.svn.sourceforge.net/svnroot/waffle/trunk</developerConnection>
+ <url>http://waffle.svn.sourceforge.net/viewvc/waffle/runk</url>
+ </scm>
- <repositories>
- <repository>
- <id>codehaus-repository</id>
- <name>Codehaus Repository</name>
- <url>http://repository.codehaus.org</url>
- </repository>
- <repository>
- <id>codehaus-snapshot-repository</id>
- <name>Codehaus Snapshot Repository</name>
- <url>http://snapshots.repository.codehaus.org</url>
- </repository>
- </repositories>
+ <repositories>
+ <repository>
+ <id>codehaus-repository</id>
+ <name>Codehaus Repository</name>
+ <url>http://repository.codehaus.org</url>
+ </repository>
+ <repository>
+ <id>codehaus-snapshot-repository</id>
+ <name>Codehaus Snapshot Repository</name>
+ <url>http://snapshots.repository.codehaus.org</url>
+ </repository>
+ </repositories>
- <pluginRepositories>
- <pluginRepository>
- <id>codehaus-plugin-snapshot-repository</id>
- <name>Codehaus Plugin Snapshot Repository</name>
- <url>http://snapshots.repository.codehaus.org</url>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </pluginRepository>
- </pluginRepositories>
-
- <distributionManagement>
- <!--
- The servers here defined must also appear in ~/.m2/settings.xml
- -->
- <repository>
- <id>waffle-repository</id>
- <name>Waffle Repository</name>
- <url>scp://shell.sourceforge.net/home/groups/w/wa/waffle/htdocs/repository</url>
- </repository>
- <snapshotRepository>
- <id>waffle-snapshot-repository</id>
- <name>Waffle Snapshot Repository</name>
- <url>
- scp://shell.sourceforge.net/home/groups/w/wa/waffle/htdocs/snapshot-repository
- </url>
- </snapshotRepository>
- <site>
- <id>waffle-site</id>
- <name>Waffle Site</name>
- <url>scp://shell.sourceforge.net/home/groups/w/wa/waffle/htdocs</url>
- </site>
- </distributionManagement>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>codehaus-plugin-snapshot-repository</id>
+ <name>Codehaus Plugin Snapshot Repository</name>
+ <url>http://snapshots.repository.codehaus.org</url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </pluginRepository>
+ </pluginRepositories>
+ <distributionManagement>
+ <!--
+ The servers here defined must also appear in ~/.m2/settings.xml
+ -->
+ <repository>
+ <id>waffle-repository</id>
+ <name>Waffle Repository</name>
+ <url>scp://shell.sourceforge.net/home/groups/w/wa/waffle/htdocs/repository</url>
+ </repository>
+ <snapshotRepository>
+ <id>waffle-snapshot-repository</id>
+ <name>Waffle Snapshot Repository</name>
+ <url>scp://shell.sourceforge.net/home/groups/w/wa/waffle/htdocs/snapshot-repository</url>
+ </snapshotRepository>
+ <site>
+ <id>waffle-site</id>
+ <name>Waffle Site</name>
+ <url>scp://shell.sourceforge.net/home/groups/w/wa/waffle/htdocs</url>
+ </site>
+ </distributionManagement>
+
</project>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mau...@us...> - 2007-03-29 20:07:10
|
Revision: 415
http://svn.sourceforge.net/waffle/?rev=415&view=rev
Author: maurotalevi
Date: 2007-03-29 13:06:52 -0700 (Thu, 29 Mar 2007)
Log Message:
-----------
Fixed site deployment id.
Modified Paths:
--------------
trunk/distribution/pom.xml
Modified: trunk/distribution/pom.xml
===================================================================
--- trunk/distribution/pom.xml 2007-03-29 08:37:46 UTC (rev 414)
+++ trunk/distribution/pom.xml 2007-03-29 20:06:52 UTC (rev 415)
@@ -23,7 +23,7 @@
<version>${pom.version}</version>
</dependency>
</dependencies>
- <build>
+ <build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
@@ -101,11 +101,10 @@
</plugins>
</build>
- <!-- This MUST exist in this pom.xml (not its parent) inorder for the site to be deployed correctly -->
- <!-- TODO: It should work from top-level as well (MT)-->
+ <!-- Site URL set here in this pom.xml (not its parent) in order for the site to be deployed correctly -->
<distributionManagement>
<site>
- <id>shell.sourceforge.net</id>
+ <id>waffle-site</id>
<url>
scp://shell.sourceforge.net/home/groups/w/wa/waffle/htdocs/
</url>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pa...@us...> - 2007-03-29 08:37:50
|
Revision: 414
http://svn.sourceforge.net/waffle/?rev=414&view=rev
Author: paul-h
Date: 2007-03-29 01:37:46 -0700 (Thu, 29 Mar 2007)
Log Message:
-----------
date converter not needed for freemarker example
Modified Paths:
--------------
trunk/examples/freemarker-example/src/main/webapp/WEB-INF/web.xml
Removed Paths:
-------------
trunk/examples/freemarker-example/src/main/java/com/thoughtworks/waffle/example/freemarker/DateTypeConverter.java
trunk/examples/freemarker-example/src/test/java/com/thoughtworks/waffle/example/freemarker/DateTypeConverterTest.java
Deleted: trunk/examples/freemarker-example/src/main/java/com/thoughtworks/waffle/example/freemarker/DateTypeConverter.java
===================================================================
--- trunk/examples/freemarker-example/src/main/java/com/thoughtworks/waffle/example/freemarker/DateTypeConverter.java 2007-03-29 06:30:47 UTC (rev 413)
+++ trunk/examples/freemarker-example/src/main/java/com/thoughtworks/waffle/example/freemarker/DateTypeConverter.java 2007-03-29 08:37:46 UTC (rev 414)
@@ -1,47 +0,0 @@
-package com.thoughtworks.waffle.example.freemarker;
-
-import com.thoughtworks.waffle.bind.BindException;
-import com.thoughtworks.waffle.bind.WaffleTypeConverter;
-import com.thoughtworks.waffle.i18n.MessageResources;
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-/**
- * @author Michael Ward
- */
-public class DateTypeConverter implements WaffleTypeConverter {
- private final MessageResources messageResources;
-
- public DateTypeConverter(MessageResources messageResources) {
- this.messageResources = messageResources;
- }
-
- /**
- * Will accept any class stemming from <code>java.util.Date</code>
- *
- * @param type represent the type of the field a value is to be bound to
- * @return true if isA Date
- */
- public boolean accept(Class type) {
- return Date.class.isAssignableFrom(type);
- }
-
- public Object convert(String propertyName, String value, Class toType) throws BindException {
- if (value == null || value.equals("")) {
- return null;
- }
-
- String datePattern = messageResources.getMessageWithDefault("date.format", "dd-MM-yyyy");
-
- try {
- return new SimpleDateFormat(datePattern).parse(value);
- } catch (ParseException e) {
- String fieldName = messageResources.getMessageWithDefault(propertyName, propertyName);
- String message = messageResources.getMessage("date.bind.error", fieldName, value, datePattern);
- throw new BindException(message);
- }
- }
-
-}
Modified: trunk/examples/freemarker-example/src/main/webapp/WEB-INF/web.xml
===================================================================
--- trunk/examples/freemarker-example/src/main/webapp/WEB-INF/web.xml 2007-03-29 06:30:47 UTC (rev 413)
+++ trunk/examples/freemarker-example/src/main/webapp/WEB-INF/web.xml 2007-03-29 08:37:46 UTC (rev 414)
@@ -16,11 +16,6 @@
<param-name>com.thoughtworks.waffle.action.method.MethodDefinitionFinder</param-name>
<param-value>com.thoughtworks.waffle.action.method.ParanamerMethodDefinitionFinder</param-value>
</context-param>
- <!-- 2. We are adding a Custom Converter to handle Date objects -->
- <context-param>
- <param-name>register:DateConverter</param-name>
- <param-value>com.thoughtworks.waffle.example.freemarker.DateTypeConverter</param-value>
- </context-param>
<!-- 3. Waffle context listener (ServletContext and HttpSession) -->
<listener>
Deleted: trunk/examples/freemarker-example/src/test/java/com/thoughtworks/waffle/example/freemarker/DateTypeConverterTest.java
===================================================================
--- trunk/examples/freemarker-example/src/test/java/com/thoughtworks/waffle/example/freemarker/DateTypeConverterTest.java 2007-03-29 06:30:47 UTC (rev 413)
+++ trunk/examples/freemarker-example/src/test/java/com/thoughtworks/waffle/example/freemarker/DateTypeConverterTest.java 2007-03-29 08:37:46 UTC (rev 414)
@@ -1,46 +0,0 @@
-package com.thoughtworks.waffle.example.freemarker;
-
-import com.thoughtworks.waffle.bind.BindException;
-import com.thoughtworks.waffle.example.freemarker.DateTypeConverter;
-import com.thoughtworks.waffle.i18n.DefaultMessageResources;
-import junit.framework.TestCase;
-import ognl.OgnlException;
-import org.junit.Assert;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-public class DateTypeConverterTest extends TestCase {
-
- public void testAccept() {
- DateTypeConverter converter = new DateTypeConverter(new DefaultMessageResources());
-
- Assert.assertTrue(converter.accept(Date.class));
- Assert.assertTrue(converter.accept(java.sql.Date.class));
- }
-
- public void testConvert() throws OgnlException {
- DateTypeConverter converter = new DateTypeConverter(new DefaultMessageResources());
- Date date = (Date) converter.convert("property-name", "19-09-2004", Date.class);
-
- Assert.assertEquals("09-19-2004", new SimpleDateFormat("MM-dd-yyyy").format(date));
- }
-
- public void testConvertFails() {
- DateTypeConverter converter = new DateTypeConverter(new DefaultMessageResources());
-
- try {
- converter.convert("property-name", "bad-value", Date.class);
- Assert.fail("BindException expected");
- } catch (BindException expected) {
- assertEquals("The value \"bad-value\" entered in field <i>property-name</i> is not a valid date (dd-MM-yyyy).", expected.getMessage());
- }
- }
-
- public void testDefaultFormatUsedWhenNoAlternativeProvided() {
- DateTypeConverter converter = new DateTypeConverter(new DefaultMessageResources());
- Date date = (Date) converter.convert("property-name", "00-21-1986", Date.class);
-
- Assert.assertNotNull(date);
- }
-}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pa...@us...> - 2007-03-29 06:30:49
|
Revision: 413
http://svn.sourceforge.net/waffle/?rev=413&view=rev
Author: paul-h
Date: 2007-03-28 23:30:47 -0700 (Wed, 28 Mar 2007)
Log Message:
-----------
shoulda been a web module
Modified Paths:
--------------
trunk/examples/freemarker-example/freemarker-example.iml
Modified: trunk/examples/freemarker-example/freemarker-example.iml
===================================================================
--- trunk/examples/freemarker-example/freemarker-example.iml 2007-03-29 06:13:08 UTC (rev 412)
+++ trunk/examples/freemarker-example/freemarker-example.iml 2007-03-29 06:30:47 UTC (rev 413)
@@ -1,15 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
-<module version="4" relativePaths="true" type="JAVA_MODULE">
+<module version="4" relativePaths="true" type="J2EE_WEB_MODULE">
+ <component name="AppServerSpecificValidatorsManager" />
<component name="ModuleRootManager" />
<component name="NewModuleRootManager" inherit-compiler-output="false">
- <output url="file://$MODULE_DIR$/target/classes" />
+ <output url="file://$MODULE_DIR$/exploded/WEB-INF/classes" />
<exclude-output />
- <output-test url="file://$MODULE_DIR$/target/test-classes" />
+ <exploded url="file://$MODULE_DIR$/exploded" />
+ <exclude-exploded />
+ <output-test url="file://$MODULE_DIR$/exploded/WEB-INF/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/target" />
+ <excludeFolder url="file://$MODULE_DIR$/target/classes" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
@@ -42,7 +46,123 @@
<SOURCES />
</library>
</orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$M2_REPOSITORY$/freemarker/freemarker/2.3.8/freemarker-2.3.8.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
<orderEntryProperties />
</component>
+ <component name="WebModuleBuildComponent">
+ <setting name="EXPLODED_URL" value="file://$MODULE_DIR$/exploded" />
+ <setting name="EXPLODED_ENABLED" value="true" />
+ <setting name="JAR_URL" value="file://" />
+ <setting name="JAR_ENABLED" value="false" />
+ <setting name="SYNC_EXPLODED_DIR" value="true" />
+ <setting name="BUILD_MODULE_ON_FRAME_DEACTIVATION" value="false" />
+ <setting name="BUILD_EXTERNAL_DEPENDENCIES" value="false" />
+ <setting name="RUN_JASPER_VALIDATION" value="true" />
+ </component>
+ <component name="WebModuleProperties">
+ <containerElement type="module" name="framework">
+ <attribute name="method" value="5" />
+ <attribute name="URI" value="/WEB-INF/lib/framework.jar" />
+ </containerElement>
+ <containerElement type="library" level="module">
+ <attribute name="method" value="1" />
+ <attribute name="URI" value="/WEB-INF/lib/paranamer-1.0-beta-2.jar" />
+ <url>jar://$M2_REPOSITORY$/com/thoughtworks/paranamer/paranamer/1.0-beta-2/paranamer-1.0-beta-2.jar!/</url>
+ </containerElement>
+ <containerElement type="library" level="module">
+ <attribute name="method" value="1" />
+ <attribute name="URI" value="/WEB-INF/lib/paranamer-1.0-SNAPSHOT.jar" />
+ <url>jar://$M2_REPOSITORY$/com/thoughtworks/paranamer/paranamer/1.0-SNAPSHOT/paranamer-1.0-SNAPSHOT.jar!/</url>
+ </containerElement>
+ <containerElement type="library" level="module">
+ <attribute name="method" value="1" />
+ <attribute name="URI" value="/WEB-INF/lib/freemarker-2.3.8.jar" />
+ <url>jar://$M2_REPOSITORY$/freemarker/freemarker/2.3.8/freemarker-2.3.8.jar!/</url>
+ </containerElement>
+ <containerElement type="library" level="module">
+ <attribute name="method" value="0" />
+ <attribute name="URI" value="/WEB-INF/lib/groovy-all-1.0-jsr-06.jar" />
+ <url>jar://$M2_REPOSITORY$/groovy/groovy-all-1.0-jsr/06/groovy-all-1.0-jsr-06.jar!/</url>
+ </containerElement>
+ <containerElement type="library" level="module">
+ <attribute name="method" value="1" />
+ <attribute name="URI" value="/WEB-INF/lib/jstl-1.1.2.jar" />
+ <url>jar://$M2_REPOSITORY$/javax/servlet/jstl/1.1.2/jstl-1.1.2.jar!/</url>
+ </containerElement>
+ <containerElement type="library" level="module">
+ <attribute name="method" value="1" />
+ <attribute name="URI" value="/WEB-INF/lib/jmock-1.1.0.jar" />
+ <url>jar://$M2_REPOSITORY$/jmock/jmock/1.1.0/jmock-1.1.0.jar!/</url>
+ </containerElement>
+ <containerElement type="library" level="module">
+ <attribute name="method" value="0" />
+ <attribute name="URI" value="<N/A>" />
+ <url>jar://$M2_REPOSITORY$/junit/junit/4.0/junit-4.0.jar!/</url>
+ </containerElement>
+ <containerElement type="library" level="module">
+ <attribute name="method" value="0" />
+ <attribute name="URI" value="/WEB-INF/lib/junit-4.2.jar" />
+ <url>jar://$M2_REPOSITORY$/junit/junit/4.2/junit-4.2.jar!/</url>
+ </containerElement>
+ <containerElement type="library" level="module">
+ <attribute name="method" value="1" />
+ <attribute name="URI" value="/WEB-INF/lib/ognl-2.6.9.jar" />
+ <url>jar://$M2_REPOSITORY$/ognl/ognl/2.6.9/ognl-2.6.9.jar!/</url>
+ </containerElement>
+ <containerElement type="library" level="module">
+ <attribute name="method" value="0" />
+ <attribute name="URI" value="/WEB-INF/lib/sitemesh-2.3.jar" />
+ <url>jar://$M2_REPOSITORY$/opensymphony/sitemesh/2.3/sitemesh-2.3.jar!/</url>
+ </containerElement>
+ <containerElement type="library" level="module">
+ <attribute name="method" value="0" />
+ <attribute name="URI" value="/WEB-INF/lib/jetty-util-6.0.1.jar" />
+ <url>jar://$M2_REPOSITORY$/org/mortbay/jetty/jetty-util/6.0.1/jetty-util-6.0.1.jar!/</url>
+ </containerElement>
+ <containerElement type="library" level="module">
+ <attribute name="method" value="1" />
+ <attribute name="URI" value="/WEB-INF/lib/picocontainer-1.2.jar" />
+ <url>jar://$M2_REPOSITORY$/org/picocontainer/picocontainer/1.2/picocontainer-1.2.jar!/</url>
+ </containerElement>
+ <containerElement type="library" level="module">
+ <attribute name="method" value="1" />
+ <attribute name="URI" value="/WEB-INF/lib/standard-1.1.2.jar" />
+ <url>jar://$M2_REPOSITORY$/taglibs/standard/1.1.2/standard-1.1.2.jar!/</url>
+ </containerElement>
+ <containerElement type="library" name="picocontainer" level="module">
+ <attribute name="method" value="0" />
+ <attribute name="URI" value="<N/A>" />
+ </containerElement>
+ <containerElement type="library" name="servlet-api" level="module">
+ <attribute name="method" value="0" />
+ <attribute name="URI" value="<N/A>" />
+ </containerElement>
+ <containerElement type="library" name="velocity" level="module">
+ <attribute name="method" value="0" />
+ <attribute name="URI" value="<N/A>" />
+ </containerElement>
+ <containerElement type="library" name="velocity-dep" level="module">
+ <attribute name="method" value="0" />
+ <attribute name="URI" value="<N/A>" />
+ </containerElement>
+ <containerElement type="library" name="velocity-tools-view" level="module">
+ <attribute name="method" value="0" />
+ <attribute name="URI" value="<N/A>" />
+ </containerElement>
+ <deploymentDescriptor name="web.xml" url="file://$MODULE_DIR$/src/main/webapp/WEB-INF/web.xml" optional="false" version="2.4" />
+ <webroots>
+ <root url="file://$MODULE_DIR$/resources" relative="/" />
+ <root url="file://$MODULE_DIR$/src/main/webapp/WEB-INF" relative="/WEB-INF" />
+ </webroots>
+ </component>
+ <component name="WeblogicWebModuleProperties" />
</module>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pa...@us...> - 2007-03-29 06:13:09
|
Revision: 412
http://svn.sourceforge.net/waffle/?rev=412&view=rev
Author: paul-h
Date: 2007-03-28 23:13:08 -0700 (Wed, 28 Mar 2007)
Log Message:
-----------
functions not needed
Modified Paths:
--------------
trunk/examples/freemarker-example/resources/scripts/myscript.js
Modified: trunk/examples/freemarker-example/resources/scripts/myscript.js
===================================================================
--- trunk/examples/freemarker-example/resources/scripts/myscript.js 2007-03-29 06:09:08 UTC (rev 411)
+++ trunk/examples/freemarker-example/resources/scripts/myscript.js 2007-03-29 06:13:08 UTC (rev 412)
@@ -12,15 +12,3 @@
form.submit();
return true;
}
-
-function makeDraggable(className) {
- var items = document.getElementsByClassName(className);
- for (var i = 0; i < items.length; i++) {
- new Draggable(items[i].id, {ghosting:true, revert:true})
- }
-}
-
-function handleDrop(element, dropon, event) {
- var pars = 'method=' + element.id;
- new Ajax.Updater({success: 'selection'}, "ajaxexample.action", {method: 'get', parameters: pars, evalScripts:true});
-}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pa...@us...> - 2007-03-29 06:09:09
|
Revision: 411
http://svn.sourceforge.net/waffle/?rev=411&view=rev
Author: paul-h
Date: 2007-03-28 23:09:08 -0700 (Wed, 28 Mar 2007)
Log Message:
-----------
correct some urls
Modified Paths:
--------------
trunk/distribution/src/site/apt/examples.apt
Modified: trunk/distribution/src/site/apt/examples.apt
===================================================================
--- trunk/distribution/src/site/apt/examples.apt 2007-03-22 04:49:51 UTC (rev 410)
+++ trunk/distribution/src/site/apt/examples.apt 2007-03-29 06:09:08 UTC (rev 411)
@@ -4,11 +4,9 @@
We have three examples:
-
-
* Simple
- Source: {{{http://waffle.svn.sourceforge.net/viewvc/waffle/trunk/examples/paranamer-example/}http://waffle.svn.sourceforge.net/viewvc/waffle/trunk/examples/paranamer-example/}}
+ Source: {{{http://waffle.svn.sourceforge.net/viewvc/waffle/trunk/examples/simple-example/}http://waffle.svn.sourceforge.net/viewvc/waffle/trunk/examples/simple-example/}}
This example has four built in mini-apps:
@@ -30,20 +28,19 @@
Automobile
Calulator
- Waffle, for this example, uses a 'Paranamer' for method encoding, resulting in smaller URLs.
+ Waffle, for this example, uses a 'Paranamer' for method encoding, resulting in smaller URLs, and more 'convention-based' design
* Paranamer + FreeMarker + Sitemesh
- Source: {{{http://waffle.svn.sourceforge.net/viewvc/waffle/trunk/examples/paranamer-example/}http://waffle.svn.sourceforge.net/viewvc/waffle/trunk/examples/paranamer-example/}}
+ Source: {{{http://waffle.svn.sourceforge.net/viewvc/waffle/trunk/examples/freemarker-example/}http://waffle.svn.sourceforge.net/viewvc/waffle/trunk/examples/freemarker-example/}}
- This only contains the People app that the Paranamer example above did.
+ This only contains the People app that the Paranamer example above had.
- It renders the page with Freemarker rather than JSP.
+ It renders the page with {{{http://freemarker.sourceforge.net/}Freemarker}} rather than JSP.
- This allows for us to edit the pages in dreamweaver in a WYSIWYG way
+ This allows for us to edit the pages in Adobe's Dreamweaver without additional plugins in a WYSIWYG way.
- It also decorate everything with Sitemesh though (0 lines of additional Java)
+ It also decorates everything with {{{http://freemarker.sourceforge.net/}Sitemesh}} though (0 lines of additional Java)
- This allows us to separate site styling/navigation etc from content.
+ This allows us to separate the site's styling and navigation from content.
-
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pa...@us...> - 2007-03-22 04:49:53
|
Revision: 410
http://svn.sourceforge.net/waffle/?rev=410&view=rev
Author: paul-h
Date: 2007-03-21 21:49:51 -0700 (Wed, 21 Mar 2007)
Log Message:
-----------
page for method invocation exception
Modified Paths:
--------------
trunk/framework/src/main/java/com/thoughtworks/waffle/Constants.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/MatchingMethodException.java
trunk/framework/src/main/java/com/thoughtworks/waffle/servlet/WaffleServlet.java
trunk/framework/src/test/java/com/thoughtworks/waffle/servlet/WaffleServletTest.java
Modified: trunk/framework/src/main/java/com/thoughtworks/waffle/Constants.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/Constants.java 2007-03-22 04:36:30 UTC (rev 409)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/Constants.java 2007-03-22 04:49:51 UTC (rev 410)
@@ -16,4 +16,5 @@
String VIEW_SUFFIX_KEY = "view.suffix";
String ACTION_KEY = "action";
String ERRORS_KEY = "errors";
+ String METHOD_INVOCATION_ERROR_PAGE = "method.invocation.error.page";
}
Modified: trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/MatchingMethodException.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/MatchingMethodException.java 2007-03-22 04:36:30 UTC (rev 409)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/MatchingMethodException.java 2007-03-22 04:49:51 UTC (rev 410)
@@ -7,7 +7,7 @@
*
* @author Paul Hammant
*/
-public class MatchingMethodException extends WaffleException {
+public class MatchingMethodException extends MethodInvocationException {
public MatchingMethodException(String message) {
super(message);
Modified: trunk/framework/src/main/java/com/thoughtworks/waffle/servlet/WaffleServlet.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/servlet/WaffleServlet.java 2007-03-22 04:36:30 UTC (rev 409)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/servlet/WaffleServlet.java 2007-03-22 04:49:51 UTC (rev 410)
@@ -13,6 +13,7 @@
import static com.thoughtworks.waffle.Constants.VIEW_PREFIX_KEY;
import static com.thoughtworks.waffle.Constants.VIEW_SUFFIX_KEY;
import static com.thoughtworks.waffle.Constants.ERRORS_KEY;
+import static com.thoughtworks.waffle.Constants.METHOD_INVOCATION_ERROR_PAGE;
import com.thoughtworks.waffle.WaffleComponentRegistry;
import com.thoughtworks.waffle.WaffleException;
@@ -49,6 +50,7 @@
private String viewPrefix;
private String viewSuffix;
private boolean depsDone = false;
+ private String methodInvocationErrorPage;
public WaffleServlet() {
}
@@ -76,6 +78,7 @@
if (viewSuffix == null || viewSuffix.equals("")) {
viewSuffix = ".jspx";
}
+ methodInvocationErrorPage = getInitParameter(METHOD_INVOCATION_ERROR_PAGE);
if (!depsDone) {
// Obtain required components from the Component Registry
@@ -138,7 +141,11 @@
actionMethodResponseHandler.handle(request, response, actionMethodResponse);
} catch (MethodInvocationException e) {
log(e.getMessage());
- response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage());
+ if (methodInvocationErrorPage != null && !methodInvocationErrorPage.equals("")) {
+ response.sendRedirect(methodInvocationErrorPage);
+ } else {
+ response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage());
+ }
}
}
Modified: trunk/framework/src/test/java/com/thoughtworks/waffle/servlet/WaffleServletTest.java
===================================================================
--- trunk/framework/src/test/java/com/thoughtworks/waffle/servlet/WaffleServletTest.java 2007-03-22 04:36:30 UTC (rev 409)
+++ trunk/framework/src/test/java/com/thoughtworks/waffle/servlet/WaffleServletTest.java 2007-03-22 04:49:51 UTC (rev 410)
@@ -59,6 +59,10 @@
.method("getInitParameter")
.with(eq(Constants.VIEW_SUFFIX_KEY))
.will(returnValue(".jsp"));
+ mockServletConfig.expects(once())
+ .method("getInitParameter")
+ .with(eq(Constants.METHOD_INVOCATION_ERROR_PAGE))
+ .will(returnValue("foo.html"));
final ServletConfig servletConfig = (ServletConfig) mockServletConfig.proxy();
// Mock ServletContext
@@ -98,6 +102,7 @@
.with(eq("com.thoughtworks.waffle.WaffleComponentRegistry"))
.will(returnValue(null));
+
// Mock ServletConfig
Mock mockServletConfig = mock(ServletConfig.class);
@@ -109,6 +114,10 @@
.method("getInitParameter")
.with(eq(Constants.VIEW_SUFFIX_KEY))
.will(returnValue(null));
+ mockServletConfig.expects(once())
+ .method("getInitParameter")
+ .with(eq(Constants.METHOD_INVOCATION_ERROR_PAGE))
+ .will(returnValue("foo.html"));
final ServletConfig servletConfig = (ServletConfig) mockServletConfig.proxy();
WaffleServlet servlet = new WaffleServlet() {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pa...@us...> - 2007-03-22 04:36:33
|
Revision: 409
http://svn.sourceforge.net/waffle/?rev=409&view=rev
Author: paul-h
Date: 2007-03-21 21:36:30 -0700 (Wed, 21 Mar 2007)
Log Message:
-----------
upgrade paranamer, put in better guard for no-paranamer-list data
Modified Paths:
--------------
trunk/examples/paranamer-example/paranamer-example.iml
trunk/extensions/webcontainer/src/test/java/com/thoughtworks/waffle/groovy/WaffleNodeBuilderTest.java
trunk/framework/framework.iml
trunk/framework/src/main/java/com/thoughtworks/waffle/action/ActionDefinitionFactory.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/DefaultActionDefinitionFactory.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/AbstractMethodDefinitionFinder.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/AmbiguousMethodSignatureException.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/AnnotatedMethodDefinitionFinder.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/MethodDefinitionFinder.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/ParanamerMethodDefinitionFinder.java
trunk/framework/src/main/java/com/thoughtworks/waffle/servlet/WaffleServlet.java
trunk/framework/src/test/java/com/thoughtworks/waffle/action/method/AnnotatedMethodDefinitionFinderTest.java
trunk/framework/src/test/java/com/thoughtworks/waffle/action/method/ParanamerMethodDefinitionFinderTest.java
trunk/framework/src/test/java/com/thoughtworks/waffle/testmodel/StubMethodDefinitionFinder.java
trunk/pom.xml
trunk/waffle.ipr
Added Paths:
-----------
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/MatchingMethodException.java
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/NoMatchingMethodException.java
Modified: trunk/examples/paranamer-example/paranamer-example.iml
===================================================================
--- trunk/examples/paranamer-example/paranamer-example.iml 2007-03-16 16:35:24 UTC (rev 408)
+++ trunk/examples/paranamer-example/paranamer-example.iml 2007-03-22 04:36:30 UTC (rev 409)
@@ -57,7 +57,7 @@
<orderEntry type="module-library">
<library>
<CLASSES>
- <root url="jar://$M2_REPOSITORY$/com/thoughtworks/paranamer/paranamer/1.0-beta-2/paranamer-1.0-beta-2.jar!/" />
+ <root url="jar://$M2_REPOSITORY$/com/thoughtworks/paranamer/paranamer/1.0-SNAPSHOT/paranamer-1.0-SNAPSHOT.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
@@ -86,6 +86,11 @@
<url>jar://$M2_REPOSITORY$/com/thoughtworks/paranamer/paranamer/1.0-beta-2/paranamer-1.0-beta-2.jar!/</url>
</containerElement>
<containerElement type="library" level="module">
+ <attribute name="method" value="1" />
+ <attribute name="URI" value="/WEB-INF/lib/paranamer-1.0-SNAPSHOT.jar" />
+ <url>jar://$M2_REPOSITORY$/com/thoughtworks/paranamer/paranamer/1.0-SNAPSHOT/paranamer-1.0-SNAPSHOT.jar!/</url>
+ </containerElement>
+ <containerElement type="library" level="module">
<attribute name="method" value="0" />
<attribute name="URI" value="/WEB-INF/lib/groovy-all-1.0-jsr-06.jar" />
<url>jar://$M2_REPOSITORY$/groovy/groovy-all-1.0-jsr/06/groovy-all-1.0-jsr-06.jar!/</url>
Modified: trunk/extensions/webcontainer/src/test/java/com/thoughtworks/waffle/groovy/WaffleNodeBuilderTest.java
===================================================================
--- trunk/extensions/webcontainer/src/test/java/com/thoughtworks/waffle/groovy/WaffleNodeBuilderTest.java 2007-03-16 16:35:24 UTC (rev 408)
+++ trunk/extensions/webcontainer/src/test/java/com/thoughtworks/waffle/groovy/WaffleNodeBuilderTest.java 2007-03-22 04:36:30 UTC (rev 409)
@@ -83,10 +83,10 @@
" waffleApp {\n" +
" registerActions {\n" +
" session {\n" +
- " register(class:ShoppingCart)\n" +
+ " register(action:'cart' class:ShoppingCart)\n" +
" }\n" +
" application {\n" +
- " register(instance: new SecurityManager())\n" +
+ " register(instance: new CartSecurityManager())\n" +
" }\n" +
" }\n" +
" requestFilter(filter:'*.htm')\n" +
Modified: trunk/framework/framework.iml
===================================================================
--- trunk/framework/framework.iml 2007-03-16 16:35:24 UTC (rev 408)
+++ trunk/framework/framework.iml 2007-03-22 04:36:30 UTC (rev 409)
@@ -98,7 +98,7 @@
<orderEntry type="module-library">
<library>
<CLASSES>
- <root url="jar://$M2_REPOSITORY$/com/thoughtworks/paranamer/paranamer/1.0-beta-2/paranamer-1.0-beta-2.jar!/" />
+ <root url="jar://$M2_REPOSITORY$/com/thoughtworks/paranamer/paranamer/1.0-SNAPSHOT/paranamer-1.0-SNAPSHOT.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
Modified: trunk/framework/src/main/java/com/thoughtworks/waffle/action/ActionDefinitionFactory.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/action/ActionDefinitionFactory.java 2007-03-16 16:35:24 UTC (rev 408)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/action/ActionDefinitionFactory.java 2007-03-22 04:36:30 UTC (rev 409)
@@ -28,5 +28,5 @@
* in an ActionDefinition.
*/
ActionDefinition getActionDefinition(HttpServletRequest servletRequest,
- HttpServletResponse response) throws NoSuchMethodException;
+ HttpServletResponse response);
}
Modified: trunk/framework/src/main/java/com/thoughtworks/waffle/action/DefaultActionDefinitionFactory.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/action/DefaultActionDefinitionFactory.java 2007-03-16 16:35:24 UTC (rev 408)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/action/DefaultActionDefinitionFactory.java 2007-03-22 04:36:30 UTC (rev 409)
@@ -37,7 +37,7 @@
* Retrieves the action definition from the context container via the WaffleRequestFilter
* @see com.thoughtworks.waffle.context.WaffleRequestFilter
*/
- public ActionDefinition getActionDefinition(HttpServletRequest request, HttpServletResponse response) throws NoSuchMethodException {
+ public ActionDefinition getActionDefinition(HttpServletRequest request, HttpServletResponse response) {
ContextContainer requestLevelContainer = RequestLevelContainer.get();
if (requestLevelContainer == null) {
Modified: trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/AbstractMethodDefinitionFinder.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/AbstractMethodDefinitionFinder.java 2007-03-16 16:35:24 UTC (rev 408)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/AbstractMethodDefinitionFinder.java 2007-03-22 04:36:30 UTC (rev 409)
@@ -11,6 +11,7 @@
package com.thoughtworks.waffle.action.method;
import com.thoughtworks.waffle.action.method.annotation.DefaultActionMethod;
+import com.thoughtworks.waffle.WaffleException;
import ognl.OgnlRuntime;
import ognl.TypeConverter;
@@ -52,7 +53,7 @@
public MethodDefinition find(Object action,
HttpServletRequest request,
- HttpServletResponse response) throws AmbiguousMethodSignatureException, NoSuchMethodException {
+ HttpServletResponse response) throws WaffleException {
String methodName = methodNameResolver.resolve(request);
if (methodName == null) {
@@ -65,7 +66,7 @@
List<Method> methods = OgnlRuntime.getMethods(action.getClass(), methodName, false);
if (methods == null) {
- throw new NoSuchMethodException("Unable to find method: '" + methodName + "' for action: '" + action.getClass() + "'. [1]");
+ throw new NoMatchingMethodException(methodName, action.getClass());
}
List<MethodDefinition> methodDefinitions = findMethodDefinition(request, response, methods);
@@ -73,7 +74,7 @@
if (methodDefinitions.size() > 1) {
throw new AmbiguousMethodSignatureException("Method: '" + methodName + "' for action: '" + action.getClass() + "'");
} else if (methodDefinitions.isEmpty()) {
- throw new NoSuchMethodException("Unable to find method: '" + "' for action: '" + action.getClass() + "'. [2]");
+ throw new NoMatchingMethodException(methodName, action.getClass());
}
return methodDefinitions.get(0); //
@@ -81,7 +82,7 @@
protected abstract List<MethodDefinition> findMethodDefinition(HttpServletRequest request,
HttpServletResponse response,
- List<Method> methods) throws NoSuchMethodException;
+ List<Method> methods);
protected List<Object> resolveArguments(HttpServletRequest request, Iterator<String> arguments) {
List<Object> resolvedArguments = new ArrayList<Object>(10);
@@ -174,7 +175,7 @@
private MethodDefinition handlePragmaticActionMethod(Object action,
String methodName,
HttpServletRequest request,
- HttpServletResponse response) throws NoSuchMethodException {
+ HttpServletResponse response) {
Iterator<String> iterator = Arrays.asList(methodName.split("\\|")).iterator();
methodName = iterator.next();
@@ -182,7 +183,7 @@
List<Method> methods = OgnlRuntime.getMethods(action.getClass(), methodName, false);
if (methods == null) {
- throw new NoSuchMethodException("Unable to find method with name \"" + methodName + "\"");
+ throw new NoMatchingMethodException(methodName, action.getClass());
}
List<Object> arguments = resolveArguments(request, iterator);
@@ -192,7 +193,7 @@
private MethodDefinition findMethodDefinitionForPragmatic(HttpServletRequest request,
HttpServletResponse response,
List<Method> methods,
- List<Object> arguments) throws NoSuchMethodException {
+ List<Object> arguments) {
List<MethodDefinition> validMethods = new ArrayList<MethodDefinition>();
for (Method method : methods) {
@@ -209,7 +210,7 @@
String methodName = validMethods.get(0).getMethod().getName();
throw new AmbiguousMethodSignatureException("Method: " + methodName);
} else if (validMethods.isEmpty()) {
- throw new NoSuchMethodException("Unable to find suitable method named \"" + methods.get(0).getName() + "\"");
+ throw new NoMatchingMethodException(methods.get(0).getName(), null); // TODO - not null
}
return validMethods.get(0); // todo ... should we cache the method?
Modified: trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/AmbiguousMethodSignatureException.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/AmbiguousMethodSignatureException.java 2007-03-16 16:35:24 UTC (rev 408)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/AmbiguousMethodSignatureException.java 2007-03-22 04:36:30 UTC (rev 409)
@@ -10,27 +10,16 @@
*****************************************************************************/
package com.thoughtworks.waffle.action.method;
-import com.thoughtworks.waffle.WaffleException;
/**
* Thrown when unable to determine which method to invoke.
*
* @author Michael Ward
*/
-public class AmbiguousMethodSignatureException extends WaffleException {
+public class AmbiguousMethodSignatureException extends MatchingMethodException {
- public AmbiguousMethodSignatureException() {
- }
-
public AmbiguousMethodSignatureException(String message) {
super(message);
}
- public AmbiguousMethodSignatureException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public AmbiguousMethodSignatureException(Throwable cause) {
- super(cause);
- }
}
Modified: trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/AnnotatedMethodDefinitionFinder.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/AnnotatedMethodDefinitionFinder.java 2007-03-16 16:35:24 UTC (rev 408)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/AnnotatedMethodDefinitionFinder.java 2007-03-22 04:36:30 UTC (rev 409)
@@ -44,7 +44,7 @@
protected List<MethodDefinition> findMethodDefinition(HttpServletRequest request,
HttpServletResponse response,
- List<Method> methods) throws NoSuchMethodException {
+ List<Method> methods) {
List<MethodDefinition> methodDefinitions = new ArrayList<MethodDefinition>();
for (Method method : methods) {
Added: trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/MatchingMethodException.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/MatchingMethodException.java (rev 0)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/MatchingMethodException.java 2007-03-22 04:36:30 UTC (rev 409)
@@ -0,0 +1,17 @@
+package com.thoughtworks.waffle.action.method;
+
+import com.thoughtworks.waffle.WaffleException;
+
+/**
+ * Thrown when matching methods are hard to identify for invocation.
+ *
+ * @author Paul Hammant
+ */
+public class MatchingMethodException extends WaffleException {
+
+ public MatchingMethodException(String message) {
+ super(message);
+ }
+
+
+}
Modified: trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/MethodDefinitionFinder.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/MethodDefinitionFinder.java 2007-03-16 16:35:24 UTC (rev 408)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/MethodDefinitionFinder.java 2007-03-22 04:36:30 UTC (rev 409)
@@ -17,5 +17,5 @@
MethodDefinition find(Object action,
HttpServletRequest request,
- HttpServletResponse response) throws AmbiguousMethodSignatureException, NoSuchMethodException;
+ HttpServletResponse response);
}
Added: trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/NoMatchingMethodException.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/NoMatchingMethodException.java (rev 0)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/NoMatchingMethodException.java 2007-03-22 04:36:30 UTC (rev 409)
@@ -0,0 +1,28 @@
+package com.thoughtworks.waffle.action.method;
+
+
+/**
+ * Thrown when unable to find any matching methods to invoke.
+ *
+ * @author Paul Hammant
+ */
+public class NoMatchingMethodException extends MatchingMethodException {
+
+ private final String methodName;
+ private final Class actionClass;
+
+ public NoMatchingMethodException(String methodName, Class actionClass) {
+ super("no matching methods for: " + methodName);
+ this.methodName = methodName;
+ this.actionClass = actionClass;
+ }
+
+
+ public String getMethodName() {
+ return methodName;
+ }
+
+ public Class getActionClass() {
+ return actionClass;
+ }
+}
Modified: trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/ParanamerMethodDefinitionFinder.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/ParanamerMethodDefinitionFinder.java 2007-03-16 16:35:24 UTC (rev 408)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/ParanamerMethodDefinitionFinder.java 2007-03-22 04:36:30 UTC (rev 409)
@@ -12,6 +12,7 @@
import com.thoughtworks.paranamer.CachingParanamer;
import com.thoughtworks.paranamer.Paranamer;
+import com.thoughtworks.waffle.WaffleException;
import ognl.TypeConverter;
import javax.servlet.ServletContext;
@@ -42,7 +43,7 @@
protected List<MethodDefinition> findMethodDefinition(HttpServletRequest request,
HttpServletResponse response,
- List<Method> methods) throws NoSuchMethodException {
+ List<Method> methods) {
List<MethodDefinition> methodDefinitions = new ArrayList<MethodDefinition>();
for (Method method : methods) {
@@ -64,7 +65,16 @@
Class<?>[] parameterTypes = method.getParameterTypes();
String[] parameterNames = findParameterNames(method);
- // TODO - guard needed here. Paranamer may have been mal-configured
+ if (parameterNames == null) {
+ int rc = paranamer.isParameterNameDataAvailable(method.getDeclaringClass().getClassLoader(), method.getDeclaringClass().getName(), method.getName());
+ if (rc == Paranamer.NO_PARAMETER_NAMES_LIST) {
+ throw new MatchingMethodException("No Paranamer data found for '" + method.getDeclaringClass().getName() + "' class");
+ } else if (rc == Paranamer.NO_PARAMETER_NAME_DATA_FOR_THAT_CLASS_AND_MEMBER) {
+ throw new MatchingMethodException("No Paranamer data found for '" + method.getDeclaringClass().getName() + "' class, '" + method.getName()+ "' method");
+ } else {
+ throw new MatchingMethodException("Unknown Paranamer Exception [" + rc + "]");
+ }
+ }
List<String> arguments = new ArrayList<String>(parameterNames.length);
@@ -90,11 +100,14 @@
private String[] findParameterNames(Method method) {
String parameterNames = paranamer.lookupParameterNamesForMethod(method);
- if(parameterNames == null || parameterNames.equals("")) {
- return new String[0];
+ if(parameterNames != null) {
+ if (parameterNames.equals("")) {
+ return new String[0];
+ }
+ return parameterNames.split(COMMA);
}
- return parameterNames.split(COMMA);
+ return null;
}
}
Modified: trunk/framework/src/main/java/com/thoughtworks/waffle/servlet/WaffleServlet.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/servlet/WaffleServlet.java 2007-03-16 16:35:24 UTC (rev 408)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/servlet/WaffleServlet.java 2007-03-22 04:36:30 UTC (rev 409)
@@ -94,17 +94,13 @@
*/
protected ActionDefinition getActionDefinition(HttpServletRequest request,
HttpServletResponse response) throws ServletException {
- try {
- ActionDefinition actionDefinition = actionDefinitionFactory.getActionDefinition(request, response);
- if (actionDefinition.getAction() == null) {
- throw new ServletException("Unable to locate the Waffle-Action: " + request.getServletPath());
- }
+ ActionDefinition actionDefinition = actionDefinitionFactory.getActionDefinition(request, response);
+ if (actionDefinition.getAction() == null) {
+ throw new ServletException("Unable to locate the Waffle-Action: " + request.getServletPath());
+ }
- return actionDefinition;
+ return actionDefinition;
- } catch (NoSuchMethodException e) {
- throw new ServletException(e);
- }
}
/**
Modified: trunk/framework/src/test/java/com/thoughtworks/waffle/action/method/AnnotatedMethodDefinitionFinderTest.java
===================================================================
--- trunk/framework/src/test/java/com/thoughtworks/waffle/action/method/AnnotatedMethodDefinitionFinderTest.java 2007-03-16 16:35:24 UTC (rev 408)
+++ trunk/framework/src/test/java/com/thoughtworks/waffle/action/method/AnnotatedMethodDefinitionFinderTest.java 2007-03-22 04:36:30 UTC (rev 409)
@@ -281,8 +281,8 @@
try {
methodDefinitionFinder.find(sampleForMethodFinder, request, response);
- fail("NoSuchMethodException expected");
- } catch (NoSuchMethodException expected) {
+ fail("NoMatchingMethodException expected");
+ } catch (NoMatchingMethodException expected) {
// expected
}
}
Modified: trunk/framework/src/test/java/com/thoughtworks/waffle/action/method/ParanamerMethodDefinitionFinderTest.java
===================================================================
--- trunk/framework/src/test/java/com/thoughtworks/waffle/action/method/ParanamerMethodDefinitionFinderTest.java 2007-03-16 16:35:24 UTC (rev 408)
+++ trunk/framework/src/test/java/com/thoughtworks/waffle/action/method/ParanamerMethodDefinitionFinderTest.java 2007-03-22 04:36:30 UTC (rev 409)
@@ -261,8 +261,8 @@
try {
methodDefinitionFinder.find(sampleForMethodFinder, request, response);
- fail("NoSuchMethodException expected");
- } catch (NoSuchMethodException expected) {
+ fail("NoMatchingMethodException expected");
+ } catch (NoMatchingMethodException expected) {
// expected
}
}
@@ -633,6 +633,44 @@
assertEquals(expectedMethod, methodDefinition.getMethod());
}
+ public void testThatMethodWithNoParanamerDataIsExcepted() {
+ // Mock HttpServletRequest
+ Mock mockRequest = mock(HttpServletRequest.class);
+ HttpServletRequest request = (HttpServletRequest) mockRequest.proxy();
+
+ // Mock ArgumentResolver
+ Mock mockArgumentResolver = mock(ArgumentResolver.class);
+ mockArgumentResolver.expects(once())
+ .method("resolve")
+ .with(same(request), eq("{decimal}"))
+ .will(returnValue(10f));
+ ArgumentResolver argumentResolver = (ArgumentResolver) mockArgumentResolver.proxy();
+
+ Mock mockMethodNameResolver = mock(MethodNameResolver.class);
+ mockMethodNameResolver.expects(once())
+ .method("resolve")
+ .with(same(request))
+ .will(returnValue("doFoo"));
+ MethodNameResolver methodNameResolver = (MethodNameResolver) mockMethodNameResolver.proxy();
+ SampleForMethodFinder sampleForMethodFinder = new SampleForMethodFinder();
+ // Mock HttpServletResponse
+ Mock mockResponse = mock(HttpServletResponse.class);
+ HttpServletResponse response = (HttpServletResponse) mockResponse.proxy();
+
+ MethodDefinitionFinder methodDefinitionFinder = new ParanamerMethodDefinitionFinder(null, argumentResolver, null, methodNameResolver);
+ try {
+ methodDefinitionFinder.find(this, request, response);
+ fail("should have barfed with MatchingMethodException");
+ } catch (MatchingMethodException e) {
+ // expected
+ }
+
+ }
+
+ public void doFoo(float decimal) {
+
+ }
+
public class ActionWithDefaultActionMethod {
@DefaultActionMethod(parameters = {"helloworld"})
Modified: trunk/framework/src/test/java/com/thoughtworks/waffle/testmodel/StubMethodDefinitionFinder.java
===================================================================
--- trunk/framework/src/test/java/com/thoughtworks/waffle/testmodel/StubMethodDefinitionFinder.java 2007-03-16 16:35:24 UTC (rev 408)
+++ trunk/framework/src/test/java/com/thoughtworks/waffle/testmodel/StubMethodDefinitionFinder.java 2007-03-22 04:36:30 UTC (rev 409)
@@ -11,7 +11,7 @@
public MethodDefinition find(Object action,
HttpServletRequest request,
- HttpServletResponse response) throws AmbiguousMethodSignatureException, NoSuchMethodException {
+ HttpServletResponse response) {
throw new UnsupportedOperationException();
}
}
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2007-03-16 16:35:24 UTC (rev 408)
+++ trunk/pom.xml 2007-03-22 04:36:30 UTC (rev 409)
@@ -36,7 +36,7 @@
<dependency>
<groupId>com.thoughtworks.paranamer</groupId>
<artifactId>paranamer</artifactId>
- <version>1.0-RC-1</version>
+ <version>1.0-SNAPSHOT</version>
<optional>true</optional>
</dependency>
<dependency>
Modified: trunk/waffle.ipr
===================================================================
--- trunk/waffle.ipr 2007-03-16 16:35:24 UTC (rev 408)
+++ trunk/waffle.ipr 2007-03-22 04:36:30 UTC (rev 409)
@@ -83,15 +83,15 @@
<used_levels>
<error>
<option name="myName" value="ERROR" />
- <option name="myVal" value="300" />
+ <option name="myVal" value="200" />
</error>
<warning>
<option name="myName" value="WARNING" />
- <option name="myVal" value="200" />
+ <option name="myVal" value="100" />
</warning>
<information>
<option name="myName" value="INFO" />
- <option name="myVal" value="100" />
+ <option name="myVal" value="200" />
</information>
<server>
<option name="myName" value="SERVER PROBLEM" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pa...@us...> - 2007-03-16 16:35:29
|
Revision: 408
http://svn.sourceforge.net/waffle/?rev=408&view=rev
Author: paul-h
Date: 2007-03-16 09:35:24 -0700 (Fri, 16 Mar 2007)
Log Message:
-----------
todo added
Modified Paths:
--------------
trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/ParanamerMethodDefinitionFinder.java
Modified: trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/ParanamerMethodDefinitionFinder.java
===================================================================
--- trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/ParanamerMethodDefinitionFinder.java 2007-03-14 12:31:43 UTC (rev 407)
+++ trunk/framework/src/main/java/com/thoughtworks/waffle/action/method/ParanamerMethodDefinitionFinder.java 2007-03-16 16:35:24 UTC (rev 408)
@@ -63,6 +63,9 @@
private List<Object> getArguments(Method method, HttpServletRequest request) {
Class<?>[] parameterTypes = method.getParameterTypes();
String[] parameterNames = findParameterNames(method);
+
+ // TODO - guard needed here. Paranamer may have been mal-configured
+
List<String> arguments = new ArrayList<String>(parameterNames.length);
// these should always be of the same length
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mau...@us...> - 2007-03-14 12:31:52
|
Revision: 407
http://svn.sourceforge.net/waffle/?rev=407&view=rev
Author: maurotalevi
Date: 2007-03-14 05:31:43 -0700 (Wed, 14 Mar 2007)
Log Message:
-----------
Fixed paranamer dependency for freemarker.
Modified Paths:
--------------
trunk/examples/freemarker-example/pom.xml
trunk/examples/paranamer-example/pom.xml
Modified: trunk/examples/freemarker-example/pom.xml
===================================================================
--- trunk/examples/freemarker-example/pom.xml 2007-03-14 12:13:06 UTC (rev 406)
+++ trunk/examples/freemarker-example/pom.xml 2007-03-14 12:31:43 UTC (rev 407)
@@ -15,11 +15,23 @@
<groupId>${pom.groupId}</groupId>
<artifactId>waffle</artifactId>
<version>${pom.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.thoughtworks.paranamer</groupId>
+ <artifactId>paranamer</artifactId>
<exclusions>
<exclusion>
- <groupId>com.thoughtworks.paranamer</groupId>
- <artifactId>paranamer</artifactId>
+ <groupId>ant</groupId>
+ <artifactId>ant</artifactId>
</exclusion>
+ <exclusion>
+ <groupId>maven-plugin-api</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>qdox</groupId>
+ <artifactId>qdox</artifactId>
+ </exclusion>
</exclusions>
</dependency>
<dependency>
Modified: trunk/examples/paranamer-example/pom.xml
===================================================================
--- trunk/examples/paranamer-example/pom.xml 2007-03-14 12:13:06 UTC (rev 406)
+++ trunk/examples/paranamer-example/pom.xml 2007-03-14 12:31:43 UTC (rev 407)
@@ -17,18 +17,6 @@
<version>${pom.version}</version>
</dependency>
<dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>jstl</artifactId>
- </dependency>
- <dependency>
- <groupId>taglibs</groupId>
- <artifactId>standard</artifactId>
- </dependency>
- <dependency>
<groupId>com.thoughtworks.paranamer</groupId>
<artifactId>paranamer</artifactId>
<exclusions>
@@ -46,6 +34,18 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>jstl</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>taglibs</groupId>
+ <artifactId>standard</artifactId>
+ </dependency>
</dependencies>
<build>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mau...@us...> - 2007-03-14 12:13:29
|
Revision: 406
http://svn.sourceforge.net/waffle/?rev=406&view=rev
Author: maurotalevi
Date: 2007-03-14 05:13:06 -0700 (Wed, 14 Mar 2007)
Log Message:
-----------
Deleted empty package.
Removed Paths:
-------------
trunk/examples/simple-example/src/test/java/com/thoughtworks/waffle/example/simple/action/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mau...@us...> - 2007-03-14 12:10:38
|
Revision: 405
http://svn.sourceforge.net/waffle/?rev=405&view=rev
Author: maurotalevi
Date: 2007-03-14 05:10:33 -0700 (Wed, 14 Mar 2007)
Log Message:
-----------
Excluded unnecessary deps from example wars.
Updated TODO.txt.
Modified Paths:
--------------
trunk/TODO.txt
trunk/examples/freemarker-example/pom.xml
trunk/examples/migration-example/pom.xml
trunk/examples/paranamer-example/pom.xml
trunk/examples/simple-example/pom.xml
trunk/pom.xml
Modified: trunk/TODO.txt
===================================================================
--- trunk/TODO.txt 2007-03-14 11:41:41 UTC (rev 404)
+++ trunk/TODO.txt 2007-03-14 12:10:33 UTC (rev 405)
@@ -1,10 +1,6 @@
TODOs:
-- Separate groovy from core - done
-
-- Add distribution with lib and docs - done
-
- Add tiles support via sitemesh and later tiles2
- Add waffle-tablig component
Modified: trunk/examples/freemarker-example/pom.xml
===================================================================
--- trunk/examples/freemarker-example/pom.xml 2007-03-14 11:41:41 UTC (rev 404)
+++ trunk/examples/freemarker-example/pom.xml 2007-03-14 12:10:33 UTC (rev 405)
@@ -15,16 +15,18 @@
<groupId>${pom.groupId}</groupId>
<artifactId>waffle</artifactId>
<version>${pom.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>com.thoughtworks.paranamer</groupId>
+ <artifactId>paranamer</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</dependency>
<dependency>
- <groupId>com.thoughtworks.paranamer</groupId>
- <artifactId>paranamer</artifactId>
- </dependency>
- <dependency>
<groupId>freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.8</version>
Modified: trunk/examples/migration-example/pom.xml
===================================================================
--- trunk/examples/migration-example/pom.xml 2007-03-14 11:41:41 UTC (rev 404)
+++ trunk/examples/migration-example/pom.xml 2007-03-14 12:10:33 UTC (rev 405)
@@ -16,6 +16,12 @@
<groupId>${pom.groupId}</groupId>
<artifactId>waffle</artifactId>
<version>${pom.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>com.thoughtworks.paranamer</groupId>
+ <artifactId>paranamer</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
Modified: trunk/examples/paranamer-example/pom.xml
===================================================================
--- trunk/examples/paranamer-example/pom.xml 2007-03-14 11:41:41 UTC (rev 404)
+++ trunk/examples/paranamer-example/pom.xml 2007-03-14 12:10:33 UTC (rev 405)
@@ -31,6 +31,20 @@
<dependency>
<groupId>com.thoughtworks.paranamer</groupId>
<artifactId>paranamer</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>ant</groupId>
+ <artifactId>ant</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>maven-plugin-api</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>qdox</groupId>
+ <artifactId>qdox</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
</dependencies>
Modified: trunk/examples/simple-example/pom.xml
===================================================================
--- trunk/examples/simple-example/pom.xml 2007-03-14 11:41:41 UTC (rev 404)
+++ trunk/examples/simple-example/pom.xml 2007-03-14 12:10:33 UTC (rev 405)
@@ -15,6 +15,12 @@
<groupId>${pom.groupId}</groupId>
<artifactId>waffle</artifactId>
<version>${pom.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>com.thoughtworks.paranamer</groupId>
+ <artifactId>paranamer</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2007-03-14 11:41:41 UTC (rev 404)
+++ trunk/pom.xml 2007-03-14 12:10:33 UTC (rev 405)
@@ -16,9 +16,9 @@
<module>framework</module>
<module>extensions/webcontainer</module>
<module>examples/simple-example</module>
+ <module>examples/freemarker-example</module>
+ <module>examples/paranamer-example</module>
<module>examples/migration-example</module>
- <module>examples/paranamer-example</module>
- <module>examples/freemarker-example</module>
</modules>
<dependencyManagement>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mau...@us...> - 2007-03-14 11:41:43
|
Revision: 404
http://svn.sourceforge.net/waffle/?rev=404&view=rev
Author: maurotalevi
Date: 2007-03-14 04:41:41 -0700 (Wed, 14 Mar 2007)
Log Message:
-----------
Renamed test registrar package.
Modified Paths:
--------------
trunk/extensions/webcontainer/src/test/java/com/thoughtworks/waffle/groovy/WaffleNodeBuilderTest.java
Modified: trunk/extensions/webcontainer/src/test/java/com/thoughtworks/waffle/groovy/WaffleNodeBuilderTest.java
===================================================================
--- trunk/extensions/webcontainer/src/test/java/com/thoughtworks/waffle/groovy/WaffleNodeBuilderTest.java 2007-03-14 11:37:09 UTC (rev 403)
+++ trunk/extensions/webcontainer/src/test/java/com/thoughtworks/waffle/groovy/WaffleNodeBuilderTest.java 2007-03-14 11:41:41 UTC (rev 404)
@@ -63,7 +63,7 @@
" webContainer(port:8080) {\n" +
" context(path:'/bar') {\n" +
" waffleApp {\n" +
- " actionRegistrar(class:com.thoughtworks.waffle.example.paranamer.MyRegistrar)\n" +
+ " actionRegistrar(class:com.thoughtworks.waffle.testmodel.MyRegistrar)\n" +
" requestFilter(filter:'*.action')\n" +
" viewSuffix(suffix:'.jspx')\n" +
" }\n" +
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|