You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by hl...@apache.org on 2007/03/06 19:21:35 UTC
svn commit: r515238 - in /tapestry/tapestry5/tapestry-core/trunk/src:
main/java/org/apache/tapestry/annotations/
main/java/org/apache/tapestry/internal/structure/ site/apt/guide/
site/images/ site/resources/images/
Author: hlship
Date: Tue Mar 6 10:21:34 2007
New Revision: 515238
URL: http://svn.apache.org/viewvc?view=rev&rev=515238
Log:
TAPESTRY-1320: Render phase BeginRender should respond to a "false" result by switching to phase AfterRender (rather than phase CleanupRender).
Modified:
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/BeginRender.java
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/ComponentPageElementImpl.java
tapestry/tapestry5/tapestry-core/trunk/src/site/apt/guide/validation.apt
tapestry/tapestry5/tapestry-core/trunk/src/site/images/component-render-states.graffle
tapestry/tapestry5/tapestry-core/trunk/src/site/resources/images/component-render-states.png
Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/BeginRender.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/BeginRender.java?view=diff&rev=515238&r1=515237&r2=515238
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/BeginRender.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/BeginRender.java Tue Mar 6 10:21:34 2007
@@ -1,4 +1,4 @@
-// Copyright 2006 The Apache Software Foundation
+// Copyright 2006, 2007 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,35 +12,36 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry.annotations;
-
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * Marker annotation for methods that should be executed at the start of rendering the component.
- * This usually includes rendering of the component's start tag.
- * <p>
- * Such methods may optionally take a {@link org.apache.tapestry.MarkupWriter} parameter, and may
- * return void or boolean. Returning true or void will allow the component to advance into the
- * render template / render body phase. If a body is present, the
- * {@link org.apache.tapestry.annotations.BeforeRenderBody} phase will execute. If a component has a
- * template, the {@link BeforeRenderTemplate} phase will execute (and the render body will only
- * occur if the template directs so).
- * <p>
- * Either way, the {@link org.apache.tapestry.annotations.AfterRender} phase will execute after the
- * template and/or body have rendered. A component with a body but without a template will still see
- * the {@link org.apache.tapestry.annotations.BeforeRenderBody} phase execute.
- * <p>
- * Returning false will skip rendering of the template and/or body, and jump directly to the
- */
-@Target(ElementType.METHOD)
-@Retention(RUNTIME)
-@Documented
-public @interface BeginRender {
-
-}
+package org.apache.tapestry.annotations;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+/**
+ * Marker annotation for methods that should be executed at the start of rendering the component.
+ * This usually includes rendering of the component's start tag.
+ * <p>
+ * Such methods may optionally take a {@link org.apache.tapestry.MarkupWriter} parameter, and may
+ * return void or boolean. Returning true or void will allow the component to advance into the
+ * render template / render body phase. If a body is present, the
+ * {@link org.apache.tapestry.annotations.BeforeRenderBody} phase will execute. If a component has a
+ * template, the {@link BeforeRenderTemplate} phase will execute (and the render body will only
+ * occur if the template directs so).
+ * <p>
+ * Either way, the {@link org.apache.tapestry.annotations.AfterRender} phase will execute after the
+ * template and/or body have rendered. A component with a body but without a template will still see
+ * the {@link org.apache.tapestry.annotations.BeforeRenderBody} phase execute.
+ * <p>
+ * Returning false will skip rendering of the template and/or body, and jump directly to the
+ * {@link AfterRender} phase.
+ */
+@Target(ElementType.METHOD)
+@Retention(RUNTIME)
+@Documented
+public @interface BeginRender {
+
+}
Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/ComponentPageElementImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/ComponentPageElementImpl.java?view=diff&rev=515238&r1=515237&r2=515238
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/ComponentPageElementImpl.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/structure/ComponentPageElementImpl.java Tue Mar 6 10:21:34 2007
@@ -337,15 +337,14 @@
invoke(false, callback);
+ queue.push(_afterRender);
+
// If the component has no template whatsoever, then a
// renderBody element is added as the lone element of the component's template.
// So every component will have a non-empty template.
if (handler.getResult())
- {
- queue.push(_afterRender);
queue.push(_beforeRenderTemplate);
- }
handler.queueCommands(queue);
}
Modified: tapestry/tapestry5/tapestry-core/trunk/src/site/apt/guide/validation.apt
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/site/apt/guide/validation.apt?view=diff&rev=515238&r1=515237&r2=515238
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/site/apt/guide/validation.apt (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/site/apt/guide/validation.apt Tue Mar 6 10:21:34 2007
@@ -83,7 +83,7 @@
+---+
public class Login
{
- @Retain
+ @Persist
private String _userName;
private String _password;
Modified: tapestry/tapestry5/tapestry-core/trunk/src/site/images/component-render-states.graffle
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/site/images/component-render-states.graffle?view=diff&rev=515238&r1=515237&r2=515238
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/site/images/component-render-states.graffle (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/site/images/component-render-states.graffle Tue Mar 6 10:21:34 2007
@@ -815,7 +815,7 @@
</dict>
<dict>
<key>Bounds</key>
- <string>{{495.019, 260.866}, {36, 14}}</string>
+ <string>{{493.307, 260.272}, {36, 14}}</string>
<key>Class</key>
<string>ShapedGraphic</string>
<key>FitText</key>
@@ -1139,7 +1139,7 @@
<key>Head</key>
<dict>
<key>ID</key>
- <integer>13</integer>
+ <integer>12</integer>
</dict>
<key>ID</key>
<integer>67</integer>
@@ -1148,7 +1148,7 @@
<string>{479.795, 253.125}</string>
<string>{604, 329}</string>
<string>{625.997, 582}</string>
- <string>{583.358, 840.009}</string>
+ <string>{485.209, 756.836}</string>
</array>
<key>Style</key>
<dict>
@@ -2635,7 +2635,7 @@
</dict>
</array>
<key>ModificationDate</key>
- <string>2007-02-19 13:13:13 -0800</string>
+ <string>2007-03-06 10:15:03 -0800</string>
<key>Modifier</key>
<string>Howard Lewis Ship</string>
<key>NotesVisible</key>
Modified: tapestry/tapestry5/tapestry-core/trunk/src/site/resources/images/component-render-states.png
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/site/resources/images/component-render-states.png?view=diff&rev=515238&r1=515237&r2=515238
==============================================================================
Binary files - no diff available.