You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2007/10/13 21:56:58 UTC

svn commit: r584447 - in /tapestry/tapestry5/trunk/tapestry-ioc/src: images/ main/java/org/apache/tapestry/ioc/services/ site/resources/images/ test/java/org/apache/tapestry/ioc/internal/services/

Author: hlship
Date: Sat Oct 13 12:56:58 2007
New Revision: 584447

URL: http://svn.apache.org/viewvc?rev=584447&view=rev
Log:
TAPESTRY-1808: Automatic coercion from String to File would be handy

Modified:
    tapestry/tapestry5/trunk/tapestry-ioc/src/images/type-coercer.graffle
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/services/TapestryIOCModule.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/site/resources/images/type-coercer.png
    tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry/ioc/internal/services/TypeCoercerImplTest.java

Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/images/type-coercer.graffle
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/images/type-coercer.graffle?rev=584447&r1=584446&r2=584447&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/images/type-coercer.graffle (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/images/type-coercer.graffle Sat Oct 13 12:56:58 2007
@@ -36,6 +36,68 @@
 	<array>
 		<dict>
 			<key>Bounds</key>
+			<string>{{165, 558}, {54, 36}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>78</integer>
+			<key>Shape</key>
+			<string>RoundRect</string>
+			<key>Style</key>
+			<dict>
+				<key>fill</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.721691</string>
+						<key>g</key>
+						<string>0.996139</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>FillType</key>
+					<integer>2</integer>
+					<key>GradientColor</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>1</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.156298</string>
+						<key>g</key>
+						<string>0.676951</string>
+						<key>r</key>
+						<string>0.684443</string>
+					</dict>
+					<key>CornerRadius</key>
+					<real>6</real>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 File}</string>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
 			<string>{{300.5, 132.6}, {61, 36}}</string>
 			<key>Class</key>
 			<string>ShapedGraphic</string>
@@ -50,23 +112,50 @@
 					<key>Color</key>
 					<dict>
 						<key>b</key>
-						<string>0.8</string>
+						<string>0.721691</string>
+						<key>g</key>
+						<string>0.996139</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>FillType</key>
+					<integer>2</integer>
+					<key>GradientColor</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
 						<key>g</key>
-						<string>0.8</string>
+						<string>1</string>
 						<key>r</key>
-						<string>0.8</string>
+						<string>1</string>
 					</dict>
 				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.156298</string>
+						<key>g</key>
+						<string>0.676951</string>
+						<key>r</key>
+						<string>0.684443</string>
+					</dict>
+					<key>CornerRadius</key>
+					<real>6</real>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
 			</dict>
 			<key>Text</key>
 			<dict>
 				<key>Text</key>
 				<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
-{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\fonttbl\f0\fswiss\fcharset77 Helvetica-Oblique;}
 {\colortbl;\red255\green255\blue255;}
 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
 
-\f0\fs24 \cf0 null}</string>
+\f0\i\fs24 \cf0 null}</string>
 			</dict>
 		</dict>
 		<dict>
@@ -81,8 +170,8 @@
 			<integer>77</integer>
 			<key>Points</key>
 			<array>
-				<string>{302.705, 163.493}</string>
-				<string>{253.048, 186.119}</string>
+				<string>{302.25, 163.7}</string>
+				<string>{253.503, 185.912}</string>
 			</array>
 			<key>Style</key>
 			<dict>
@@ -116,8 +205,8 @@
 			<integer>76</integer>
 			<key>Points</key>
 			<array>
-				<string>{300, 150.6}</string>
-				<string>{243.5, 150.6}</string>
+				<string>{299.5, 150.6}</string>
+				<string>{244, 150.6}</string>
 			</array>
 			<key>Style</key>
 			<dict>
@@ -151,8 +240,8 @@
 			<integer>75</integer>
 			<key>Points</key>
 			<array>
-				<string>{302.449, 138.236}</string>
-				<string>{253.856, 117.193}</string>
+				<string>{301.99, 138.037}</string>
+				<string>{254.315, 117.392}</string>
 			</array>
 			<key>Style</key>
 			<dict>
@@ -186,8 +275,8 @@
 			<integer>74</integer>
 			<key>Points</key>
 			<array>
-				<string>{359.151, 163.771}</string>
-				<string>{412.409, 188.688}</string>
+				<string>{359.604, 163.983}</string>
+				<string>{411.956, 188.476}</string>
 			</array>
 			<key>Style</key>
 			<dict>
@@ -221,8 +310,8 @@
 			<integer>73</integer>
 			<key>Points</key>
 			<array>
-				<string>{362, 150.6}</string>
-				<string>{412, 150.6}</string>
+				<string>{362.5, 150.6}</string>
+				<string>{411.5, 150.6}</string>
 			</array>
 			<key>Style</key>
 			<dict>
@@ -256,8 +345,8 @@
 			<integer>72</integer>
 			<key>Points</key>
 			<array>
-				<string>{359.421, 137.963}</string>
-				<string>{414.579, 113.437}</string>
+				<string>{359.878, 137.76}</string>
+				<string>{414.122, 113.64}</string>
 			</array>
 			<key>Style</key>
 			<dict>
@@ -295,12 +384,39 @@
 					<key>Color</key>
 					<dict>
 						<key>b</key>
-						<string>0.0941176</string>
+						<string>0.721691</string>
 						<key>g</key>
-						<string>0.917647</string>
+						<string>0.996139</string>
 						<key>r</key>
 						<string>1</string>
 					</dict>
+					<key>FillType</key>
+					<integer>2</integer>
+					<key>GradientColor</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>1</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.156298</string>
+						<key>g</key>
+						<string>0.676951</string>
+						<key>r</key>
+						<string>0.684443</string>
+					</dict>
+					<key>CornerRadius</key>
+					<real>6</real>
+					<key>Width</key>
+					<real>2</real>
 				</dict>
 			</dict>
 			<key>Text</key>
@@ -342,13 +458,40 @@
 					<key>Color</key>
 					<dict>
 						<key>b</key>
-						<string>0.0941176</string>
+						<string>0.721691</string>
+						<key>g</key>
+						<string>0.996139</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>FillType</key>
+					<integer>2</integer>
+					<key>GradientColor</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
 						<key>g</key>
-						<string>0.917647</string>
+						<string>1</string>
 						<key>r</key>
 						<string>1</string>
 					</dict>
 				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.156298</string>
+						<key>g</key>
+						<string>0.676951</string>
+						<key>r</key>
+						<string>0.684443</string>
+					</dict>
+					<key>CornerRadius</key>
+					<real>6</real>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
 			</dict>
 			<key>Text</key>
 			<dict>
@@ -377,13 +520,40 @@
 					<key>Color</key>
 					<dict>
 						<key>b</key>
-						<string>0.0941176</string>
+						<string>0.721691</string>
+						<key>g</key>
+						<string>0.996139</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>FillType</key>
+					<integer>2</integer>
+					<key>GradientColor</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
 						<key>g</key>
-						<string>0.917647</string>
+						<string>1</string>
 						<key>r</key>
 						<string>1</string>
 					</dict>
 				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.156298</string>
+						<key>g</key>
+						<string>0.676951</string>
+						<key>r</key>
+						<string>0.684443</string>
+					</dict>
+					<key>CornerRadius</key>
+					<real>6</real>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
 			</dict>
 			<key>Text</key>
 			<dict>
@@ -426,17 +596,39 @@
 					<key>Color</key>
 					<dict>
 						<key>b</key>
-						<string>0.0941176</string>
+						<string>0.721691</string>
 						<key>g</key>
-						<string>0.917647</string>
+						<string>0.996139</string>
 						<key>r</key>
 						<string>1</string>
 					</dict>
+					<key>FillType</key>
+					<integer>2</integer>
 					<key>GradientColor</key>
 					<dict>
-						<key>w</key>
-						<string>0.666667</string>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>1</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.156298</string>
+						<key>g</key>
+						<string>0.676951</string>
+						<key>r</key>
+						<string>0.684443</string>
 					</dict>
+					<key>CornerRadius</key>
+					<real>6</real>
+					<key>Width</key>
+					<real>2</real>
 				</dict>
 			</dict>
 			<key>Text</key>
@@ -479,13 +671,40 @@
 					<key>Color</key>
 					<dict>
 						<key>b</key>
-						<string>0.0941176</string>
+						<string>0.721691</string>
 						<key>g</key>
-						<string>0.917647</string>
+						<string>0.996139</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>FillType</key>
+					<integer>2</integer>
+					<key>GradientColor</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>1</string>
 						<key>r</key>
 						<string>1</string>
 					</dict>
 				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.156298</string>
+						<key>g</key>
+						<string>0.676951</string>
+						<key>r</key>
+						<string>0.684443</string>
+					</dict>
+					<key>CornerRadius</key>
+					<real>6</real>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
 			</dict>
 			<key>Text</key>
 			<dict>
@@ -514,12 +733,39 @@
 					<key>Color</key>
 					<dict>
 						<key>b</key>
-						<string>0.0941176</string>
+						<string>0.721691</string>
 						<key>g</key>
-						<string>0.917647</string>
+						<string>0.996139</string>
 						<key>r</key>
 						<string>1</string>
 					</dict>
+					<key>FillType</key>
+					<integer>2</integer>
+					<key>GradientColor</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>1</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.156298</string>
+						<key>g</key>
+						<string>0.676951</string>
+						<key>r</key>
+						<string>0.684443</string>
+					</dict>
+					<key>CornerRadius</key>
+					<real>6</real>
+					<key>Width</key>
+					<real>2</real>
 				</dict>
 			</dict>
 			<key>Text</key>
@@ -549,12 +795,39 @@
 					<key>Color</key>
 					<dict>
 						<key>b</key>
-						<string>0.0941176</string>
+						<string>0.721691</string>
 						<key>g</key>
-						<string>0.917647</string>
+						<string>0.996139</string>
 						<key>r</key>
 						<string>1</string>
 					</dict>
+					<key>FillType</key>
+					<integer>2</integer>
+					<key>GradientColor</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>1</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.156298</string>
+						<key>g</key>
+						<string>0.676951</string>
+						<key>r</key>
+						<string>0.684443</string>
+					</dict>
+					<key>CornerRadius</key>
+					<real>6</real>
+					<key>Width</key>
+					<real>2</real>
 				</dict>
 			</dict>
 			<key>Text</key>
@@ -596,12 +869,39 @@
 					<key>Color</key>
 					<dict>
 						<key>b</key>
-						<string>0.0941176</string>
+						<string>0.721691</string>
 						<key>g</key>
-						<string>0.917647</string>
+						<string>0.996139</string>
 						<key>r</key>
 						<string>1</string>
 					</dict>
+					<key>FillType</key>
+					<integer>2</integer>
+					<key>GradientColor</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>1</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.156298</string>
+						<key>g</key>
+						<string>0.676951</string>
+						<key>r</key>
+						<string>0.684443</string>
+					</dict>
+					<key>CornerRadius</key>
+					<real>6</real>
+					<key>Width</key>
+					<real>2</real>
 				</dict>
 			</dict>
 			<key>Text</key>
@@ -631,13 +931,40 @@
 					<key>Color</key>
 					<dict>
 						<key>b</key>
-						<string>0.0941176</string>
+						<string>0.721691</string>
 						<key>g</key>
-						<string>0.917647</string>
+						<string>0.996139</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>FillType</key>
+					<integer>2</integer>
+					<key>GradientColor</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>1</string>
 						<key>r</key>
 						<string>1</string>
 					</dict>
 				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.156298</string>
+						<key>g</key>
+						<string>0.676951</string>
+						<key>r</key>
+						<string>0.684443</string>
+					</dict>
+					<key>CornerRadius</key>
+					<real>6</real>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
 			</dict>
 			<key>Text</key>
 			<dict>
@@ -666,13 +993,40 @@
 					<key>Color</key>
 					<dict>
 						<key>b</key>
-						<string>0.0941176</string>
+						<string>0.721691</string>
+						<key>g</key>
+						<string>0.996139</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>FillType</key>
+					<integer>2</integer>
+					<key>GradientColor</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
 						<key>g</key>
-						<string>0.917647</string>
+						<string>1</string>
 						<key>r</key>
 						<string>1</string>
 					</dict>
 				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.156298</string>
+						<key>g</key>
+						<string>0.676951</string>
+						<key>r</key>
+						<string>0.684443</string>
+					</dict>
+					<key>CornerRadius</key>
+					<real>6</real>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
 			</dict>
 			<key>Text</key>
 			<dict>
@@ -697,8 +1051,8 @@
 			<integer>51</integer>
 			<key>Points</key>
 			<array>
-				<string>{341, 426.5}</string>
-				<string>{341, 385.5}</string>
+				<string>{341, 426}</string>
+				<string>{341, 386}</string>
 			</array>
 			<key>Style</key>
 			<dict>
@@ -736,13 +1090,40 @@
 					<key>Color</key>
 					<dict>
 						<key>b</key>
-						<string>0.0941176</string>
+						<string>0.721691</string>
+						<key>g</key>
+						<string>0.996139</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>FillType</key>
+					<integer>2</integer>
+					<key>GradientColor</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
 						<key>g</key>
-						<string>0.917647</string>
+						<string>1</string>
 						<key>r</key>
 						<string>1</string>
 					</dict>
 				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.156298</string>
+						<key>g</key>
+						<string>0.676951</string>
+						<key>r</key>
+						<string>0.684443</string>
+					</dict>
+					<key>CornerRadius</key>
+					<real>6</real>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
 			</dict>
 			<key>Text</key>
 			<dict>
@@ -767,8 +1148,8 @@
 			<integer>49</integer>
 			<key>Points</key>
 			<array>
-				<string>{108, 490.8}</string>
-				<string>{164.5, 490.8}</string>
+				<string>{108.5, 490.8}</string>
+				<string>{164, 490.8}</string>
 			</array>
 			<key>Style</key>
 			<dict>
@@ -802,8 +1183,8 @@
 			<integer>47</integer>
 			<key>Points</key>
 			<array>
-				<string>{314.723, 357.425}</string>
-				<string>{109.102, 282.498}</string>
+				<string>{314.254, 357.254}</string>
+				<string>{109.572, 282.669}</string>
 			</array>
 			<key>Style</key>
 			<dict>
@@ -841,13 +1222,40 @@
 					<key>Color</key>
 					<dict>
 						<key>b</key>
-						<string>0.0941176</string>
+						<string>0.721691</string>
 						<key>g</key>
-						<string>0.917647</string>
+						<string>0.996139</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>FillType</key>
+					<integer>2</integer>
+					<key>GradientColor</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>1</string>
 						<key>r</key>
 						<string>1</string>
 					</dict>
 				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.156298</string>
+						<key>g</key>
+						<string>0.676951</string>
+						<key>r</key>
+						<string>0.684443</string>
+					</dict>
+					<key>CornerRadius</key>
+					<real>6</real>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
 			</dict>
 			<key>Text</key>
 			<dict>
@@ -890,18 +1298,40 @@
 					<key>Color</key>
 					<dict>
 						<key>b</key>
-						<string>0.0941176</string>
+						<string>0.721691</string>
 						<key>g</key>
-						<string>0.917647</string>
+						<string>0.996139</string>
 						<key>r</key>
 						<string>1</string>
 					</dict>
+					<key>FillType</key>
+					<integer>2</integer>
 					<key>GradientColor</key>
 					<dict>
-						<key>w</key>
-						<string>0.666667</string>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>1</string>
+						<key>r</key>
+						<string>1</string>
 					</dict>
 				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.156298</string>
+						<key>g</key>
+						<string>0.676951</string>
+						<key>r</key>
+						<string>0.684443</string>
+					</dict>
+					<key>CornerRadius</key>
+					<real>6</real>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
 			</dict>
 			<key>Text</key>
 			<dict>
@@ -931,13 +1361,40 @@
 					<key>Color</key>
 					<dict>
 						<key>b</key>
-						<string>0.0941176</string>
+						<string>0.721691</string>
 						<key>g</key>
-						<string>0.917647</string>
+						<string>0.996139</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>FillType</key>
+					<integer>2</integer>
+					<key>GradientColor</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>1</string>
 						<key>r</key>
 						<string>1</string>
 					</dict>
 				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.156298</string>
+						<key>g</key>
+						<string>0.676951</string>
+						<key>r</key>
+						<string>0.684443</string>
+					</dict>
+					<key>CornerRadius</key>
+					<real>6</real>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
 			</dict>
 			<key>Text</key>
 			<dict>
@@ -966,13 +1423,40 @@
 					<key>Color</key>
 					<dict>
 						<key>b</key>
-						<string>0.0941176</string>
+						<string>0.721691</string>
+						<key>g</key>
+						<string>0.996139</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>FillType</key>
+					<integer>2</integer>
+					<key>GradientColor</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
 						<key>g</key>
-						<string>0.917647</string>
+						<string>1</string>
 						<key>r</key>
 						<string>1</string>
 					</dict>
 				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.156298</string>
+						<key>g</key>
+						<string>0.676951</string>
+						<key>r</key>
+						<string>0.684443</string>
+					</dict>
+					<key>CornerRadius</key>
+					<real>6</real>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
 			</dict>
 			<key>Text</key>
 			<dict>
@@ -1001,12 +1485,39 @@
 					<key>Color</key>
 					<dict>
 						<key>b</key>
-						<string>0.0941176</string>
+						<string>0.721691</string>
 						<key>g</key>
-						<string>0.917647</string>
+						<string>0.996139</string>
 						<key>r</key>
 						<string>1</string>
 					</dict>
+					<key>FillType</key>
+					<integer>2</integer>
+					<key>GradientColor</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>1</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.156298</string>
+						<key>g</key>
+						<string>0.676951</string>
+						<key>r</key>
+						<string>0.684443</string>
+					</dict>
+					<key>CornerRadius</key>
+					<real>6</real>
+					<key>Width</key>
+					<real>2</real>
 				</dict>
 			</dict>
 			<key>Text</key>
@@ -1036,13 +1547,40 @@
 					<key>Color</key>
 					<dict>
 						<key>b</key>
-						<string>0.0941176</string>
+						<string>0.721691</string>
+						<key>g</key>
+						<string>0.996139</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>FillType</key>
+					<integer>2</integer>
+					<key>GradientColor</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
 						<key>g</key>
-						<string>0.917647</string>
+						<string>1</string>
 						<key>r</key>
 						<string>1</string>
 					</dict>
 				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.156298</string>
+						<key>g</key>
+						<string>0.676951</string>
+						<key>r</key>
+						<string>0.684443</string>
+					</dict>
+					<key>CornerRadius</key>
+					<real>6</real>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
 			</dict>
 			<key>Text</key>
 			<dict>
@@ -1083,13 +1621,40 @@
 					<key>Color</key>
 					<dict>
 						<key>b</key>
-						<string>0.0941176</string>
+						<string>0.721691</string>
 						<key>g</key>
-						<string>0.917647</string>
+						<string>0.996139</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>FillType</key>
+					<integer>2</integer>
+					<key>GradientColor</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>1</string>
 						<key>r</key>
 						<string>1</string>
 					</dict>
 				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.156298</string>
+						<key>g</key>
+						<string>0.676951</string>
+						<key>r</key>
+						<string>0.684443</string>
+					</dict>
+					<key>CornerRadius</key>
+					<real>6</real>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
 			</dict>
 			<key>Text</key>
 			<dict>
@@ -1118,13 +1683,40 @@
 					<key>Color</key>
 					<dict>
 						<key>b</key>
-						<string>0.0941176</string>
+						<string>0.721691</string>
 						<key>g</key>
-						<string>0.917647</string>
+						<string>0.996139</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>FillType</key>
+					<integer>2</integer>
+					<key>GradientColor</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>1</string>
 						<key>r</key>
 						<string>1</string>
 					</dict>
 				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.156298</string>
+						<key>g</key>
+						<string>0.676951</string>
+						<key>r</key>
+						<string>0.684443</string>
+					</dict>
+					<key>CornerRadius</key>
+					<real>6</real>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
 			</dict>
 			<key>Text</key>
 			<dict>
@@ -1165,13 +1757,40 @@
 					<key>Color</key>
 					<dict>
 						<key>b</key>
-						<string>0.0941176</string>
+						<string>0.721691</string>
 						<key>g</key>
-						<string>0.917647</string>
+						<string>0.996139</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>FillType</key>
+					<integer>2</integer>
+					<key>GradientColor</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>1</string>
 						<key>r</key>
 						<string>1</string>
 					</dict>
 				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.156298</string>
+						<key>g</key>
+						<string>0.676951</string>
+						<key>r</key>
+						<string>0.684443</string>
+					</dict>
+					<key>CornerRadius</key>
+					<real>6</real>
+					<key>Width</key>
+					<real>2</real>
+				</dict>
 			</dict>
 			<key>Text</key>
 			<dict>
@@ -1214,17 +1833,39 @@
 					<key>Color</key>
 					<dict>
 						<key>b</key>
-						<string>0.0941176</string>
+						<string>0.721691</string>
 						<key>g</key>
-						<string>0.917647</string>
+						<string>0.996139</string>
 						<key>r</key>
 						<string>1</string>
 					</dict>
+					<key>FillType</key>
+					<integer>2</integer>
 					<key>GradientColor</key>
 					<dict>
-						<key>w</key>
-						<string>0.666667</string>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>1</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.156298</string>
+						<key>g</key>
+						<string>0.676951</string>
+						<key>r</key>
+						<string>0.684443</string>
 					</dict>
+					<key>CornerRadius</key>
+					<real>6</real>
+					<key>Width</key>
+					<real>2</real>
 				</dict>
 			</dict>
 			<key>Text</key>
@@ -1251,10 +1892,10 @@
 			<integer>43</integer>
 			<key>Points</key>
 			<array>
-				<string>{181.195, 472.369}</string>
+				<string>{180.943, 471.937}</string>
 				<string>{158, 432.8}</string>
 				<string>{130, 349}</string>
-				<string>{89.48, 289.214}</string>
+				<string>{89.7605, 289.628}</string>
 			</array>
 			<key>Style</key>
 			<dict>
@@ -1288,8 +1929,8 @@
 			<integer>41</integer>
 			<key>Points</key>
 			<array>
-				<string>{473, 472.3}</string>
-				<string>{473, 369.5}</string>
+				<string>{473, 471.8}</string>
+				<string>{473, 370}</string>
 			</array>
 			<key>Style</key>
 			<dict>
@@ -1323,8 +1964,8 @@
 			<integer>39</integer>
 			<key>Points</key>
 			<array>
-				<string>{453.443, 472.458}</string>
-				<string>{360.546, 385.331}</string>
+				<string>{453.078, 472.116}</string>
+				<string>{360.91, 385.673}</string>
 			</array>
 			<key>Style</key>
 			<dict>
@@ -1358,8 +1999,8 @@
 			<integer>38</integer>
 			<key>Points</key>
 			<array>
-				<string>{321.94, 348.653}</string>
-				<string>{266.56, 295.347}</string>
+				<string>{321.58, 348.307}</string>
+				<string>{266.92, 295.693}</string>
 			</array>
 			<key>Style</key>
 			<dict>
@@ -1393,8 +2034,8 @@
 			<integer>36</integer>
 			<key>Points</key>
 			<array>
-				<string>{364.333, 351.091}</string>
-				<string>{449.667, 292.909}</string>
+				<string>{364.747, 350.809}</string>
+				<string>{449.253, 293.191}</string>
 			</array>
 			<key>Style</key>
 			<dict>
@@ -1428,8 +2069,8 @@
 			<integer>34</integer>
 			<key>Points</key>
 			<array>
-				<string>{340.692, 348.5}</string>
-				<string>{339.808, 295.5}</string>
+				<string>{340.683, 348}</string>
+				<string>{339.817, 296}</string>
 			</array>
 			<key>Style</key>
 			<dict>
@@ -1463,8 +2104,8 @@
 			<integer>32</integer>
 			<key>Points</key>
 			<array>
-				<string>{213.342, 473.067}</string>
-				<string>{319.658, 384.733}</string>
+				<string>{213.727, 472.748}</string>
+				<string>{319.273, 385.052}</string>
 			</array>
 			<key>Style</key>
 			<dict>
@@ -1498,8 +2139,8 @@
 			<integer>31</integer>
 			<key>Points</key>
 			<array>
-				<string>{237.5, 367}</string>
-				<string>{313.5, 367}</string>
+				<string>{238, 367}</string>
+				<string>{313, 367}</string>
 			</array>
 			<key>Style</key>
 			<dict>
@@ -1533,8 +2174,8 @@
 			<integer>29</integer>
 			<key>Points</key>
 			<array>
-				<string>{192, 472.3}</string>
-				<string>{192, 385.5}</string>
+				<string>{192, 471.8}</string>
+				<string>{192, 386}</string>
 			</array>
 			<key>Style</key>
 			<dict>
@@ -1568,9 +2209,9 @@
 			<integer>27</integer>
 			<key>Points</key>
 			<array>
-				<string>{386.196, 539.154}</string>
+				<string>{386.694, 539.111}</string>
 				<string>{435, 535}</string>
-				<string>{457.199, 509.179}</string>
+				<string>{456.873, 509.558}</string>
 			</array>
 			<key>Style</key>
 			<dict>
@@ -1604,8 +2245,8 @@
 			<integer>26</integer>
 			<key>Points</key>
 			<array>
-				<string>{218.368, 500.038}</string>
-				<string>{300.55, 528.829}</string>
+				<string>{218.84, 500.203}</string>
+				<string>{300.079, 528.664}</string>
 			</array>
 			<key>Style</key>
 			<dict>
@@ -1639,9 +2280,9 @@
 			<integer>24</integer>
 			<key>Points</key>
 			<array>
-				<string>{219.5, 490.827}</string>
+				<string>{220, 490.828}</string>
 				<string>{393, 491}</string>
-				<string>{442, 490.878}</string>
+				<string>{441.5, 490.879}</string>
 			</array>
 			<key>Style</key>
 			<dict>
@@ -1675,8 +2316,8 @@
 			<integer>53</integer>
 			<key>Points</key>
 			<array>
-				<string>{77, 472.3}</string>
-				<string>{77, 433.3}</string>
+				<string>{77, 471.8}</string>
+				<string>{77, 433.8}</string>
 			</array>
 			<key>Style</key>
 			<dict>
@@ -1710,8 +2351,8 @@
 			<integer>55</integer>
 			<key>Points</key>
 			<array>
-				<string>{77, 357.3}</string>
-				<string>{77, 396.3}</string>
+				<string>{77, 357.8}</string>
+				<string>{77, 395.8}</string>
 			</array>
 			<key>Style</key>
 			<dict>
@@ -1745,8 +2386,8 @@
 			<integer>60</integer>
 			<key>Points</key>
 			<array>
-				<string>{77, 205.1}</string>
-				<string>{77, 252.3}</string>
+				<string>{77, 205.6}</string>
+				<string>{77, 251.8}</string>
 			</array>
 			<key>Style</key>
 			<dict>
@@ -1768,6 +2409,41 @@
 				<integer>59</integer>
 			</dict>
 		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>78</integer>
+			</dict>
+			<key>ID</key>
+			<integer>79</integer>
+			<key>Points</key>
+			<array>
+				<string>{192, 509.8}</string>
+				<string>{192, 557}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>LineType</key>
+					<integer>1</integer>
+					<key>TailArrow</key>
+					<string>0</string>
+					<key>Width</key>
+					<real>4</real>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>4</integer>
+			</dict>
+		</dict>
 	</array>
 	<key>GridInfo</key>
 	<dict/>
@@ -1868,7 +2544,7 @@
 		</dict>
 	</array>
 	<key>ModificationDate</key>
-	<string>2007-09-16 20:00:30 -0700</string>
+	<string>2007-10-13 12:54:58 -0700</string>
 	<key>Modifier</key>
 	<string>Howard Lewis Ship</string>
 	<key>NotesVisible</key>
@@ -1938,7 +2614,7 @@
 		<key>DrawerWidth</key>
 		<real>209</real>
 		<key>Frame</key>
-		<string>{{343, 69}, {591, 809}}</string>
+		<string>{{506, 384}, {591, 809}}</string>
 		<key>VisibleRegion</key>
 		<string>{{0, 61}, {576, 695}}</string>
 		<key>Zoom</key>

Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/services/TapestryIOCModule.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/services/TapestryIOCModule.java?rev=584447&r1=584446&r2=584447&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/services/TapestryIOCModule.java (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry/ioc/services/TapestryIOCModule.java Sat Oct 13 12:56:58 2007
@@ -19,6 +19,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 import static org.apache.tapestry.ioc.IOCConstants.PERTHREAD_SCOPE;
 
+import java.io.File;
 import java.lang.annotation.Documented;
 import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
@@ -180,6 +181,7 @@
      * <li>Null to Long (zero)</li>
      * <li>Null to BigDecimal (zero)</li>
      * <li>Null to BigInteger (zero)</li>
+     * <li>String to File</li>
      * </ul>
      * <p>
      * The coercion of String to Long, BigInteger, Double and BigDecimal causes some minor headaches
@@ -430,6 +432,14 @@
         add(configuration, double[].class, List.class, primitiveArrayCoercion);
         add(configuration, char[].class, List.class, primitiveArrayCoercion);
         add(configuration, boolean[].class, List.class, primitiveArrayCoercion);
+
+        add(configuration, String.class, File.class, new Coercion<String, File>()
+        {
+            public File coerce(String input)
+            {
+                return new File(input);
+            }
+        });
     }
 
     private static <S, T> void add(Configuration<CoercionTuple> configuration, Class<S> sourceType,

Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/site/resources/images/type-coercer.png
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/site/resources/images/type-coercer.png?rev=584447&r1=584446&r2=584447&view=diff
==============================================================================
Binary files - no diff available.

Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry/ioc/internal/services/TypeCoercerImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry/ioc/internal/services/TypeCoercerImplTest.java?rev=584447&r1=584446&r2=584447&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry/ioc/internal/services/TypeCoercerImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry/ioc/internal/services/TypeCoercerImplTest.java Sat Oct 13 12:56:58 2007
@@ -14,6 +14,7 @@
 
 package org.apache.tapestry.ioc.internal.services;
 
+import java.io.File;
 import java.math.BigDecimal;
 import java.math.BigInteger;
 import java.util.Arrays;
@@ -188,6 +189,8 @@
                 { new char[] { 'a', 'b' }, List.class, Arrays.asList('a', 'b') },
                 { new boolean[] { true, false }, List.class, Arrays.asList(true, false) },
 
+                { "foo/bar/baz.txt", File.class, new File("foo/bar/baz.txt") },
+                
                 { null, Long.class, 0l },
                 { null, Short.class, (short) 0 },
                 { null, Byte.class, (byte) 0 },