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/02/20 00:08:48 UTC
svn commit: r509372 - in /tapestry/tapestry5/tapestry-core/trunk/src:
main/java/org/apache/tapestry/annotations/
main/java/org/apache/tapestry/corelib/components/
main/java/org/apache/tapestry/corelib/mixins/
main/java/org/apache/tapestry/internal/stru...
Author: hlship
Date: Mon Feb 19 15:08:46 2007
New Revision: 509372
URL: http://svn.apache.org/viewvc?view=rev&rev=509372
Log:
Unify the render phase method return values, so that "true" is always the default, and represents the normal progression.
Modified:
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/AfterRender.java
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/AfterRenderBody.java
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/AfterRenderTemplate.java
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/CleanupRender.java
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/ActionLink.java
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Form.java
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/GridRows.java
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Loop.java
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/PageLink.java
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Select.java
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/mixins/RenderDisabled.java
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/mixins/RenderInformals.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/parameters.apt
tapestry/tapestry5/tapestry-core/trunk/src/site/apt/guide/rendering.apt
tapestry/tapestry5/tapestry-core/trunk/src/site/apt/index.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
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/corelib/components/LoopTest.java
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app1/components/Count.java
Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/AfterRender.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/AfterRender.java?view=diff&rev=509372&r1=509371&r2=509372
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/AfterRender.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/AfterRender.java Mon Feb 19 15:08:46 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.
@@ -24,8 +24,8 @@
/**
* Marker annotation for methods associated with the AfterRender phase. This corresponds closely to
* {@link org.apache.tapestry.annotations.BeginRender}, but occurs after the template and body of
- * the component have been rendered. Often, this is used to render a close tag. Return void or false
- * to advance to the {@link org.apache.tapestry.annotations.CleanupRender} phase. Return true to
+ * the component have been rendered. Often, this is used to render a close tag. Return void or true (the default)
+ * to advance to the {@link org.apache.tapestry.annotations.CleanupRender} phase. Return false to
* return to the {@link org.apache.tapestry.annotations.BeginRender} phase.
*/
@Target(ElementType.METHOD)
Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/AfterRenderBody.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/AfterRenderBody.java?view=diff&rev=509372&r1=509371&r2=509372
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/AfterRenderBody.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/AfterRenderBody.java Mon Feb 19 15:08:46 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.
@@ -23,9 +23,9 @@
/**
* Corresponds to {@link BeforeRenderBody}, allowing additional markup after rendering the body of
- * a component, but before rendering the rest of the component's template. Return false (the
+ * a component, but before rendering the rest of the component's template. Return true (the
* default) to progress to the {@link AfterRenderTemplate} or {@link AfterRender} phase (depending
- * on whether the component does or does not have a template). Return true to return to the
+ * on whether the component does or does not have a template). Return false to return to the
* {@link BeforeRenderBody} phase.
*/
@Target(ElementType.METHOD)
Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/AfterRenderTemplate.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/AfterRenderTemplate.java?view=diff&rev=509372&r1=509371&r2=509372
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/AfterRenderTemplate.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/AfterRenderTemplate.java Mon Feb 19 15:08:46 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,23 +12,23 @@
// 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;
-
-/**
- * Corresponds to {@link BeforeRenderTemplate}, allowing additional markup after rendering the
- * component's template. Returning false is the default, which progress to the {@link AfterRender}
- * phase. Return true to return to the {@link BeforeRenderTemplate} phase.
- */
-@Target(ElementType.METHOD)
-@Retention(RUNTIME)
-@Documented
-public @interface AfterRenderTemplate {
-
-}
+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;
+
+/**
+ * Corresponds to {@link BeforeRenderTemplate}, allowing additional markup after rendering the
+ * component's template. Returning true (the default), will progress to the {@link AfterRender}
+ * phase. Return false to return to the {@link BeforeRenderTemplate} phase.
+ */
+@Target(ElementType.METHOD)
+@Retention(RUNTIME)
+@Documented
+public @interface AfterRenderTemplate {
+
+}
Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/CleanupRender.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/CleanupRender.java?view=diff&rev=509372&r1=509371&r2=509372
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/CleanupRender.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/annotations/CleanupRender.java Mon Feb 19 15:08:46 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.
@@ -25,9 +25,9 @@
* Marker annotation for component methods associated with the terminal phase for the component
* rendering state machine. Methods may optionally take a {@link org.apache.tapestry.MarkupWriter}
* annotation. Generally, methods marked with this annotation are used to perform post-render
- * cleanup. In addition, a method may return true to return to the
- * {@link org.apache.tapestry.annotations.SetupRender} phase. Returning false, or void, is the
- * normal course.
+ * cleanup. In addition, a method may return false to return to the
+ * {@link org.apache.tapestry.annotations.SetupRender} phase. Returning void or true (the default),
+ * is the normal course.
*/
@Target(ElementType.METHOD)
@Retention(RUNTIME)
Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/ActionLink.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/ActionLink.java?view=diff&rev=509372&r1=509371&r2=509372
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/ActionLink.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/ActionLink.java Mon Feb 19 15:08:46 2007
@@ -21,8 +21,6 @@
import org.apache.tapestry.ComponentResources;
import org.apache.tapestry.Link;
import org.apache.tapestry.MarkupWriter;
-import org.apache.tapestry.annotations.AfterRender;
-import org.apache.tapestry.annotations.BeginRender;
import org.apache.tapestry.annotations.Environmental;
import org.apache.tapestry.annotations.Inject;
import org.apache.tapestry.annotations.Mixin;
@@ -60,8 +58,7 @@
@Parameter("false")
private boolean _disabled;
- @BeginRender
- void begin(MarkupWriter writer)
+ void beginRender(MarkupWriter writer)
{
if (_disabled)
return;
@@ -77,8 +74,7 @@
_resources.renderInformalParameters(writer);
}
- @AfterRender
- void end(MarkupWriter writer)
+ void afterRender(MarkupWriter writer)
{
if (_disabled)
return;
Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Form.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Form.java?view=diff&rev=509372&r1=509371&r2=509372
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Form.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Form.java Mon Feb 19 15:08:46 2007
@@ -28,16 +28,11 @@
import org.apache.tapestry.TapestryConstants;
import org.apache.tapestry.ValidationTracker;
import org.apache.tapestry.ValidationTrackerImpl;
-import org.apache.tapestry.annotations.AfterRender;
-import org.apache.tapestry.annotations.BeginRender;
-import org.apache.tapestry.annotations.CleanupRender;
import org.apache.tapestry.annotations.Environmental;
import org.apache.tapestry.annotations.Inject;
import org.apache.tapestry.annotations.Mixin;
-import org.apache.tapestry.annotations.OnEvent;
import org.apache.tapestry.annotations.Parameter;
import org.apache.tapestry.annotations.Persist;
-import org.apache.tapestry.annotations.SetupRender;
import org.apache.tapestry.corelib.mixins.RenderInformals;
import org.apache.tapestry.dom.Element;
import org.apache.tapestry.internal.services.FormParameterLookup;
@@ -171,8 +166,7 @@
_defaultTracker = defaultTracker;
}
- @SetupRender
- void setup()
+ void setupRender()
{
try
{
@@ -195,8 +189,7 @@
private Element _div;
- @BeginRender
- void begin(MarkupWriter writer)
+ void beginRender(MarkupWriter writer)
{
// Now that the environment is setup, inform the component or other listeners that the form
// is about to
@@ -230,8 +223,7 @@
}
- @AfterRender
- void after(MarkupWriter writer)
+ void afterRender(MarkupWriter writer)
{
_environment.peek(Heartbeat.class).end();
@@ -253,8 +245,7 @@
_div.element("input", "type", "hidden", "name", FORM_DATA, "value", _actions.toBase64());
}
- @CleanupRender
- void cleanup()
+ void cleanupRender()
{
_environment.pop(FormSupport.class);
@@ -269,8 +260,7 @@
private ComponentEventResultProcessor _eventResultProcessor;
@SuppressWarnings("unchecked")
- @OnEvent("action")
- Object onSubmit(Object[] context)
+ Object onAction(Object[] context)
{
_tracker.clear();
Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/GridRows.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/GridRows.java?view=diff&rev=509372&r1=509371&r2=509372
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/GridRows.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/GridRows.java Mon Feb 19 15:08:46 2007
@@ -102,7 +102,7 @@
{
_rowIndex++;
- return _rowIndex <= _endRow;
+ return _rowIndex > _endRow;
}
public List<String> getPropertyNames()
Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Loop.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Loop.java?view=diff&rev=509372&r1=509371&r2=509372
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Loop.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Loop.java Mon Feb 19 15:08:46 2007
@@ -326,7 +326,7 @@
if (_formSupport != null)
_formSupport.store(this, END_HEARTBEAT);
- return _iterator.hasNext();
+ return ! _iterator.hasNext();
}
private void endHeartbeat()
Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/PageLink.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/PageLink.java?view=diff&rev=509372&r1=509371&r2=509372
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/PageLink.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/PageLink.java Mon Feb 19 15:08:46 2007
@@ -17,8 +17,6 @@
import org.apache.tapestry.ComponentResources;
import org.apache.tapestry.Link;
import org.apache.tapestry.MarkupWriter;
-import org.apache.tapestry.annotations.AfterRender;
-import org.apache.tapestry.annotations.BeginRender;
import org.apache.tapestry.annotations.Environmental;
import org.apache.tapestry.annotations.Inject;
import org.apache.tapestry.annotations.Parameter;
@@ -39,8 +37,7 @@
@Environmental
private PageRenderSupport _support;
- @BeginRender
- void begin(MarkupWriter writer)
+ void beginRender(MarkupWriter writer)
{
String clientId = _support.allocateClientId(_resources.getId());
@@ -51,8 +48,7 @@
_resources.renderInformalParameters(writer);
}
- @AfterRender
- void end(MarkupWriter writer)
+ void afterRender(MarkupWriter writer)
{
writer.end(); // <a>
}
Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Select.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Select.java?view=diff&rev=509372&r1=509371&r2=509372
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Select.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/components/Select.java Mon Feb 19 15:08:46 2007
@@ -28,7 +28,6 @@
import org.apache.tapestry.ValidationException;
import org.apache.tapestry.ValidationTracker;
import org.apache.tapestry.ValueEncoder;
-import org.apache.tapestry.annotations.AfterRender;
import org.apache.tapestry.annotations.BeforeRenderTemplate;
import org.apache.tapestry.annotations.Environmental;
import org.apache.tapestry.annotations.Inject;
@@ -228,7 +227,6 @@
writer.attributes(e.getKey(), e.getValue());
}
- @AfterRender
void afterRender(MarkupWriter writer)
{
writer.end();
Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/mixins/RenderDisabled.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/mixins/RenderDisabled.java?view=diff&rev=509372&r1=509371&r2=509372
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/mixins/RenderDisabled.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/mixins/RenderDisabled.java Mon Feb 19 15:08:46 2007
@@ -16,18 +16,19 @@
import org.apache.tapestry.Field;
import org.apache.tapestry.MarkupWriter;
-import org.apache.tapestry.annotations.BeginRender;
import org.apache.tapestry.annotations.InjectComponent;
-
import org.apache.tapestry.annotations.MixinAfter;
+
+/**
+ * Renders an "disabled" attribute if the containing {@link Field#isDisabled() is disabled}.
+ */
@MixinAfter
public class RenderDisabled
{
@InjectComponent
private Field _field;
- @BeginRender
- void begin(MarkupWriter writer)
+ void beginRender(MarkupWriter writer)
{
if (_field.isDisabled())
writer.attributes("disabled", "disabled");
Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/mixins/RenderInformals.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/mixins/RenderInformals.java?view=diff&rev=509372&r1=509371&r2=509372
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/mixins/RenderInformals.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/corelib/mixins/RenderInformals.java Mon Feb 19 15:08:46 2007
@@ -43,8 +43,7 @@
@Inject
private ComponentResources _resources;
- @BeginRender
- void write(MarkupWriter writer)
+ void beginRender(MarkupWriter writer)
{
_resources.renderInformalParameters(writer);
}
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=509372&r1=509371&r2=509372
==============================================================================
--- 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 Mon Feb 19 15:08:46 2007
@@ -117,15 +117,10 @@
private static class RenderPhaseEventHandler implements ComponentEventHandler
{
- private boolean _result;
+ private boolean _result = true;
private List<RenderCommand> _commands;
- public RenderPhaseEventHandler(boolean defaultResult)
- {
- _result = defaultResult;
- }
-
boolean getResult()
{
return _result;
@@ -175,7 +170,7 @@
{
public void render(final MarkupWriter writer, RenderQueue queue)
{
- RenderPhaseEventHandler handler = new RenderPhaseEventHandler(false);
+ RenderPhaseEventHandler handler = new RenderPhaseEventHandler();
final Event event = new EventImpl(handler);
ComponentCallback callback = new ComponentCallback()
@@ -188,7 +183,7 @@
invoke(true, callback);
- if (handler.getResult())
+ if (!handler.getResult())
queue.push(_beginRender);
handler.queueCommands(queue);
@@ -205,7 +200,7 @@
{
public void render(final MarkupWriter writer, RenderQueue queue)
{
- RenderPhaseEventHandler handler = new RenderPhaseEventHandler(false);
+ RenderPhaseEventHandler handler = new RenderPhaseEventHandler();
final Event event = new EventImpl(handler);
ComponentCallback callback = new ComponentCallback()
@@ -218,7 +213,7 @@
invoke(true, callback);
- if (handler.getResult())
+ if (!handler.getResult())
queue.push(_beforeRenderBody);
handler.queueCommands(queue);
@@ -235,7 +230,7 @@
{
public void render(final MarkupWriter writer, final RenderQueue queue)
{
- RenderPhaseEventHandler handler = new RenderPhaseEventHandler(false);
+ RenderPhaseEventHandler handler = new RenderPhaseEventHandler();
final Event event = new EventImpl(handler);
ComponentCallback callback = new ComponentCallback()
@@ -248,7 +243,7 @@
invoke(true, callback);
- if (handler.getResult())
+ if (!handler.getResult())
queue.push(_beforeRenderTemplate);
handler.queueCommands(queue);
@@ -265,7 +260,7 @@
{
public void render(final MarkupWriter writer, RenderQueue queue)
{
- RenderPhaseEventHandler handler = new RenderPhaseEventHandler(true);
+ RenderPhaseEventHandler handler = new RenderPhaseEventHandler();
final Event event = new EventImpl(handler);
ComponentCallback callback = new ComponentCallback()
@@ -297,7 +292,7 @@
{
public void render(final MarkupWriter writer, final RenderQueue queue)
{
- final RenderPhaseEventHandler handler = new RenderPhaseEventHandler(true);
+ final RenderPhaseEventHandler handler = new RenderPhaseEventHandler();
final Event event = new EventImpl(handler);
ComponentCallback callback = new ComponentCallback()
@@ -329,7 +324,7 @@
{
public void render(final MarkupWriter writer, final RenderQueue queue)
{
- RenderPhaseEventHandler handler = new RenderPhaseEventHandler(true);
+ RenderPhaseEventHandler handler = new RenderPhaseEventHandler();
final Event event = new EventImpl(handler);
ComponentCallback callback = new ComponentCallback()
@@ -374,7 +369,7 @@
{
public void render(final MarkupWriter writer, RenderQueue queue)
{
- RenderPhaseEventHandler handler = new RenderPhaseEventHandler(false);
+ RenderPhaseEventHandler handler = new RenderPhaseEventHandler();
final Event event = new EventImpl(handler);
ComponentCallback callback = new ComponentCallback()
@@ -389,10 +384,6 @@
if (handler.getResult())
{
- queue.push(_setupRender);
- }
- else
- {
_rendering = false;
Element current = writer.getElement();
@@ -411,6 +402,10 @@
_page.decrementDirtyCount();
}
+ else
+ {
+ queue.push(_setupRender);
+ }
handler.queueCommands(queue);
}
@@ -466,7 +461,7 @@
_elementAtSetup = writer.getElement();
- RenderPhaseEventHandler handler = new RenderPhaseEventHandler(true);
+ RenderPhaseEventHandler handler = new RenderPhaseEventHandler();
final Event event = new EventImpl(handler);
ComponentCallback callback = new ComponentCallback()
Modified: tapestry/tapestry5/tapestry-core/trunk/src/site/apt/guide/parameters.apt
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/site/apt/guide/parameters.apt?view=diff&rev=509372&r1=509371&r2=509372
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/site/apt/guide/parameters.apt (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/site/apt/guide/parameters.apt Mon Feb 19 15:08:46 2007
@@ -58,7 +58,7 @@
if (newValue <= _end)
{
_value = newValue;
- return true;
+ return false;
}
}
else
@@ -68,11 +68,11 @@
if (newValue >= _end)
{
_value = newValue;
- return true;
+ return false;
}
}
- return false;
+ return true;
}
}
+---+
Modified: tapestry/tapestry5/tapestry-core/trunk/src/site/apt/guide/rendering.apt
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/site/apt/guide/rendering.apt?view=diff&rev=509372&r1=509371&r2=509372
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/site/apt/guide/rendering.apt (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/site/apt/guide/rendering.apt Mon Feb 19 15:08:46 2007
@@ -40,12 +40,12 @@
Your methods may be void, or return a boolean value. Returning a value can force
phases to be skipped, or even be re-visited. In the diagram, solid lines
show the normal processing path. Dashed lines are alternate flows that are triggered
- when your render phase methods return specific values.
+ when your render phase methods return false instead of true (or void).
Render phase methods may take no parameters, or may take
a parameter of type {{{dom.html}MarkupWriter}}. The methods can have any visibility
you like ... typically, package private is used, as this visibility
- makes it possible to test your code (from within the same Java package)
+ makes it possible to unit test your code (from within the same Java package)
without making the methods part of the component's
<public> API.
@@ -100,7 +100,7 @@
if (newValue <= _end)
{
_value = newValue;
- return true;
+ return false;
}
}
else
@@ -110,18 +110,18 @@
if (newValue >= _end)
{
_value = newValue;
- return true;
+ return false;
}
}
- return false;
+ return true;
}
}
+---+
- Returning true from next() causes Tapestry to re-run the BeginRender phase,
+ Returning false from next() causes Tapestry to re-run the BeginRender phase,
and from there, re-render the component's body (this component does not have a template).
- Returning false transitions to the CleanupRender phase.
+ Returning true transitions to the CleanupRender phase.
Notice how Tapestry adapts to your methods, as marked with the annotations. It also
adapts in terms of parameters; the two annotated methods here did not perform any
@@ -144,10 +144,10 @@
can also prevent the template and/or body from being rendered by returning false.
Components may or may not have a template. If a component has a template,
- and the template includes a \<render-body\> element, then the BeforeRenderBody phase
+ and the template includes a \<body\> element, then the BeforeRenderBody phase
will be triggered (giving the component the option of rendering its body or not).
- If a component does not have a \<render-body\> element in its template, then
+ If a component does not have a \<body\> element in its template, then
the BeforeRenderBody phase is not triggered.
If a component does not have a template, but does have a body, the BeforeRenderBody
@@ -170,7 +170,7 @@
to skip the body, while still rendering the rest of the component's template (if any).
If no methods are annotated with BeforeRenderBody, then the body will be rendered by
- default. Again, this occurs when the \<render-body\> element of the component's template
+ default. Again, this occurs when the \<body\> element of the component's template
is reached, or automatically if the component has no template (but the component does
have a body).
@@ -235,7 +235,7 @@
if (newValue <= _end)
{
_value = newValue;
- return true;
+ return false;
}
}
else
@@ -245,11 +245,11 @@
if (newValue >= _end)
{
_value = newValue;
- return true;
+ return false;
}
}
- return false;
+ return true;
}
}
+---+
Modified: tapestry/tapestry5/tapestry-core/trunk/src/site/apt/index.apt
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/site/apt/index.apt?view=diff&rev=509372&r1=509371&r2=509372
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/site/apt/index.apt (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/site/apt/index.apt Mon Feb 19 15:08:46 2007
@@ -38,6 +38,12 @@
Progress on Tapestry 5 is really taking off. This space lists some cool new features that have been added
recently.
+ * {{{component-parameters.html}Component Reference Documentation}}, generated via a Maven plugin, is now available.
+
+ * The return values for the "after" set of {{{guide/rendering.html}render phase methods}} have changed: all render phase
+ methods return true (or void) to progress down the default path, and return false to either skip stages or return to earlier
+ stages. This may break some existing code.
+
* Component event handlers may now return a {{{apidocs/org/apache/tapestry/StreamResponse.html}StreamResponse}}
to directly send a stream to the client web browser (this is intended for components that need to render
images, PDF, or other non-page oriented content).
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=509372&r1=509371&r2=509372
==============================================================================
--- 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 Mon Feb 19 15:08:46 2007
@@ -87,7 +87,7 @@
</dict>
<dict>
<key>Bounds</key>
- <string>{{282.666, 648.779}, {31, 14}}</string>
+ <string>{{280.166, 648.779}, {36, 14}}</string>
<key>Class</key>
<string>ShapedGraphic</string>
<key>FitText</key>
@@ -138,12 +138,12 @@
{\colortbl;\red255\green255\blue255;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-\f0\fs24 \cf0 true}</string>
+\f0\fs24 \cf0 false}</string>
</dict>
</dict>
<dict>
<key>Bounds</key>
- <string>{{519.166, 890.223}, {36, 14}}</string>
+ <string>{{521.666, 890.223}, {31, 14}}</string>
<key>Class</key>
<string>ShapedGraphic</string>
<key>FitText</key>
@@ -194,12 +194,12 @@
{\colortbl;\red255\green255\blue255;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-\f0\fs24 \cf0 false}</string>
+\f0\fs24 \cf0 true}</string>
</dict>
</dict>
<dict>
<key>Bounds</key>
- <string>{{418.762, 828.757}, {31, 14}}</string>
+ <string>{{416.262, 828.757}, {36, 14}}</string>
<key>Class</key>
<string>ShapedGraphic</string>
<key>FitText</key>
@@ -250,12 +250,12 @@
{\colortbl;\red255\green255\blue255;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-\f0\fs24 \cf0 true}</string>
+\f0\fs24 \cf0 false}</string>
</dict>
</dict>
<dict>
<key>Bounds</key>
- <string>{{486.945, 176.879}, {36, 14}}</string>
+ <string>{{486.944, 176.879}, {36, 14}}</string>
<key>Class</key>
<string>ShapedGraphic</string>
<key>FitText</key>
@@ -311,7 +311,7 @@
</dict>
<dict>
<key>Bounds</key>
- <string>{{347.26, 760.704}, {31, 14}}</string>
+ <string>{{344.76, 760.704}, {36, 14}}</string>
<key>Class</key>
<string>ShapedGraphic</string>
<key>FitText</key>
@@ -362,12 +362,12 @@
{\colortbl;\red255\green255\blue255;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-\f0\fs24 \cf0 true}</string>
+\f0\fs24 \cf0 false}</string>
</dict>
</dict>
<dict>
<key>Bounds</key>
- <string>{{467.794, 803.739}, {36, 14}}</string>
+ <string>{{470.294, 803.739}, {31, 14}}</string>
<key>Class</key>
<string>ShapedGraphic</string>
<key>FitText</key>
@@ -418,12 +418,12 @@
{\colortbl;\red255\green255\blue255;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-\f0\fs24 \cf0 false}</string>
+\f0\fs24 \cf0 true}</string>
</dict>
</dict>
<dict>
<key>Bounds</key>
- <string>{{396.771, 695.173}, {36, 14}}</string>
+ <string>{{399.272, 695.173}, {31, 14}}</string>
<key>Class</key>
<string>ShapedGraphic</string>
<key>FitText</key>
@@ -474,12 +474,12 @@
{\colortbl;\red255\green255\blue255;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-\f0\fs24 \cf0 false}</string>
+\f0\fs24 \cf0 true}</string>
</dict>
</dict>
<dict>
<key>Bounds</key>
- <string>{{372.111, 645.651}, {36, 14}}</string>
+ <string>{{374.611, 645.65}, {31, 14}}</string>
<key>Class</key>
<string>ShapedGraphic</string>
<key>FitText</key>
@@ -530,12 +530,12 @@
{\colortbl;\red255\green255\blue255;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-\f0\fs24 \cf0 false}</string>
+\f0\fs24 \cf0 true}</string>
</dict>
</dict>
<dict>
<key>Bounds</key>
- <string>{{406.172, 500.591}, {36, 14}}</string>
+ <string>{{406.172, 500.59}, {36, 14}}</string>
<key>Class</key>
<string>ShapedGraphic</string>
<key>FitText</key>
@@ -591,7 +591,7 @@
</dict>
<dict>
<key>Bounds</key>
- <string>{{357.74, 573.112}, {31, 14}}</string>
+ <string>{{355.24, 573.112}, {36, 14}}</string>
<key>Class</key>
<string>ShapedGraphic</string>
<key>FitText</key>
@@ -642,12 +642,12 @@
{\colortbl;\red255\green255\blue255;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-\f0\fs24 \cf0 true}</string>
+\f0\fs24 \cf0 false}</string>
</dict>
</dict>
<dict>
<key>Bounds</key>
- <string>{{243.006, 351.061}, {36, 14}}</string>
+ <string>{{243.006, 351.06}, {36, 14}}</string>
<key>Class</key>
<string>ShapedGraphic</string>
<key>FitText</key>
@@ -759,7 +759,7 @@
</dict>
<dict>
<key>Bounds</key>
- <string>{{354.692, 261.686}, {31, 14}}</string>
+ <string>{{354.693, 261.686}, {31, 14}}</string>
<key>Class</key>
<string>ShapedGraphic</string>
<key>FitText</key>
@@ -940,7 +940,7 @@
<string>{394.959, 775.836}</string>
<string>{176, 695.173}</string>
<string>{198, 249}</string>
- <string>{379.307, 241.526}</string>
+ <string>{379.306, 241.526}</string>
</array>
<key>Style</key>
<dict>
@@ -955,7 +955,7 @@
<key>LineType</key>
<integer>1</integer>
<key>Pattern</key>
- <integer>2</integer>
+ <integer>1</integer>
<key>TailArrow</key>
<string>0</string>
</dict>
@@ -980,9 +980,9 @@
<integer>39</integer>
<key>Points</key>
<array>
- <string>{379.084, 598.326}</string>
+ <string>{379.084, 598.325}</string>
<string>{365.685, 539.16}</string>
- <string>{407.965, 488.709}</string>
+ <string>{407.965, 488.708}</string>
</array>
<key>Style</key>
<dict>
@@ -997,7 +997,7 @@
<key>LineType</key>
<integer>1</integer>
<key>Pattern</key>
- <integer>2</integer>
+ <integer>1</integer>
<key>TailArrow</key>
<string>0</string>
</dict>
@@ -1038,7 +1038,7 @@
<key>LineType</key>
<integer>1</integer>
<key>Pattern</key>
- <integer>2</integer>
+ <integer>1</integer>
<key>TailArrow</key>
<string>0</string>
</dict>
@@ -1079,7 +1079,7 @@
<key>LineType</key>
<integer>1</integer>
<key>Pattern</key>
- <integer>2</integer>
+ <integer>1</integer>
<key>TailArrow</key>
<string>0</string>
</dict>
@@ -1104,10 +1104,10 @@
<integer>36</integer>
<key>Points</key>
<array>
- <string>{294.97, 340.638}</string>
+ <string>{294.969, 340.637}</string>
<string>{239.077, 385.325}</string>
<string>{239.077, 530.325}</string>
- <string>{239.979, 672.325}</string>
+ <string>{239.98, 672.325}</string>
</array>
<key>Style</key>
<dict>
@@ -1122,7 +1122,7 @@
<key>LineType</key>
<integer>1</integer>
<key>Pattern</key>
- <integer>2</integer>
+ <integer>1</integer>
<key>TailArrow</key>
<string>0</string>
</dict>
@@ -1145,10 +1145,10 @@
<integer>67</integer>
<key>Points</key>
<array>
- <string>{479.796, 253.125}</string>
+ <string>{479.795, 253.125}</string>
<string>{604, 329}</string>
<string>{625.997, 582}</string>
- <string>{583.357, 840.009}</string>
+ <string>{583.358, 840.009}</string>
</array>
<key>Style</key>
<dict>
@@ -1163,7 +1163,7 @@
<key>LineType</key>
<integer>1</integer>
<key>Pattern</key>
- <integer>2</integer>
+ <integer>1</integer>
<key>TailArrow</key>
<string>0</string>
</dict>
@@ -1193,7 +1193,7 @@
<string>{483.224, 166.21}</string>
<string>{626.438, 299.939}</string>
<string>{648, 614}</string>
- <string>{611.202, 841.292}</string>
+ <string>{611.203, 841.292}</string>
</array>
<key>Style</key>
<dict>
@@ -1208,7 +1208,7 @@
<key>LineType</key>
<integer>1</integer>
<key>Pattern</key>
- <integer>2</integer>
+ <integer>1</integer>
<key>TailArrow</key>
<string>0</string>
</dict>
@@ -1220,436 +1220,453 @@
</dict>
</dict>
<dict>
+ <key>Bounds</key>
+ <string>{{488.217, 915.347}, {98, 38}}</string>
<key>Class</key>
- <string>LineGraphic</string>
- <key>Head</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
<dict>
- <key>ID</key>
- <integer>14</integer>
+ <key>Color</key>
+ <dict>
+ <key>w</key>
+ <string>1</string>
+ </dict>
+ <key>Font</key>
+ <string>TrebuchetMS-Bold</string>
+ <key>Size</key>
+ <real>12</real>
</dict>
<key>ID</key>
- <integer>32</integer>
- <key>Points</key>
- <array>
- <string>{537.141, 879.002}</string>
- <string>{537.19, 914.847}</string>
- </array>
+ <integer>14</integer>
+ <key>Shape</key>
+ <string>RoundRect</string>
<key>Style</key>
<dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ <key>GradientColor</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0.501961</string>
+ <key>r</key>
+ <string>0</string>
+ </dict>
+ <key>MiddleFraction</key>
+ <real>0.0</real>
+ </dict>
<key>stroke</key>
<dict>
- <key>HeadArrow</key>
- <string>FilledArrow</string>
- <key>HopLines</key>
- <true/>
- <key>HopType</key>
- <integer>1</integer>
- <key>LineType</key>
- <integer>1</integer>
- <key>TailArrow</key>
- <string>0</string>
+ <key>CornerRadius</key>
+ <real>5</real>
</dict>
</dict>
- <key>Tail</key>
+ <key>Text</key>
<dict>
- <key>ID</key>
- <integer>13</integer>
+ <key>Text</key>
+ <string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
+{\fonttbl\f0\fnil\fcharset77 TrebuchetMS-Bold;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\b\fs24 \cf1 End}</string>
</dict>
</dict>
<dict>
+ <key>Bounds</key>
+ <string>{{447.901, 840.502}, {180.5, 38}}</string>
<key>Class</key>
- <string>LineGraphic</string>
- <key>Head</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
<dict>
- <key>ID</key>
- <integer>13</integer>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>TrebuchetMS-Bold</string>
+ <key>Size</key>
+ <real>12</real>
</dict>
<key>ID</key>
- <integer>31</integer>
- <key>Points</key>
+ <integer>13</integer>
+ <key>Magnets</key>
<array>
- <string>{485.209, 794.836}</string>
- <string>{486.889, 840.502}</string>
+ <string>{-0.281146, -0.13158}</string>
+ <string>{0.25, -0.5}</string>
+ <string>{-0.00563669, 0.368422}</string>
+ <string>{0.433564, -0.5}</string>
</array>
+ <key>Shape</key>
+ <string>RoundRect</string>
<key>Style</key>
<dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0.8</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ <key>GradientColor</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0.501961</string>
+ <key>r</key>
+ <string>0</string>
+ </dict>
+ <key>MiddleFraction</key>
+ <real>0.0</real>
+ </dict>
<key>stroke</key>
<dict>
- <key>HeadArrow</key>
- <string>FilledArrow</string>
- <key>HopLines</key>
- <true/>
- <key>HopType</key>
- <integer>1</integer>
- <key>LineType</key>
- <integer>1</integer>
- <key>TailArrow</key>
- <string>0</string>
+ <key>CornerRadius</key>
+ <real>5</real>
</dict>
</dict>
- <key>Tail</key>
+ <key>Text</key>
<dict>
- <key>ID</key>
- <integer>12</integer>
+ <key>Text</key>
+ <string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
+{\fonttbl\f0\fnil\fcharset77 TrebuchetMS-Bold;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\b\fs24 \cf0 CleanupRender}</string>
</dict>
</dict>
<dict>
+ <key>Bounds</key>
+ <string>{{394.959, 756.836}, {180.5, 38}}</string>
<key>Class</key>
- <string>LineGraphic</string>
- <key>Head</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
<dict>
- <key>ID</key>
- <integer>12</integer>
- <key>Info</key>
- <integer>3</integer>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>TrebuchetMS-Bold</string>
+ <key>Size</key>
+ <real>12</real>
</dict>
<key>ID</key>
- <integer>30</integer>
- <key>Points</key>
+ <integer>12</integer>
+ <key>Magnets</key>
<array>
- <string>{388.868, 690.48}</string>
- <string>{463, 726}</string>
- <string>{485.209, 756.836}</string>
+ <string>{-0.5, 0}</string>
+ <string>{0, 0.5}</string>
+ <string>{0, -0.5}</string>
</array>
+ <key>Shape</key>
+ <string>RoundRect</string>
<key>Style</key>
<dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0.8</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ <key>GradientColor</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0.501961</string>
+ <key>r</key>
+ <string>0</string>
+ </dict>
+ <key>MiddleFraction</key>
+ <real>0.0</real>
+ </dict>
<key>stroke</key>
<dict>
- <key>HeadArrow</key>
- <string>FilledArrow</string>
- <key>HopLines</key>
- <true/>
- <key>HopType</key>
- <integer>1</integer>
- <key>LineType</key>
- <integer>1</integer>
- <key>TailArrow</key>
- <string>0</string>
+ <key>CornerRadius</key>
+ <real>5</real>
</dict>
</dict>
- <key>Tail</key>
+ <key>Text</key>
<dict>
- <key>ID</key>
- <integer>11</integer>
- </dict>
- </dict>
+ <key>Text</key>
+ <string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
+{\fonttbl\f0\fnil\fcharset77 TrebuchetMS-Bold;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\b\fs24 \cf0 AfterRender}</string>
+ </dict>
+ </dict>
<dict>
+ <key>Bounds</key>
+ <string>{{207.959, 672.325}, {180.5, 38}}</string>
<key>Class</key>
- <string>LineGraphic</string>
- <key>Head</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
<dict>
- <key>ID</key>
- <integer>11</integer>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>TrebuchetMS-Bold</string>
+ <key>Size</key>
+ <real>12</real>
</dict>
<key>ID</key>
- <integer>29</integer>
- <key>Points</key>
+ <integer>11</integer>
+ <key>Magnets</key>
<array>
- <string>{422.134, 636.55}</string>
- <string>{350.979, 672.325}</string>
+ <string>{-0.322601, -0.5}</string>
+ <string>{-5.96046e-08, -0.5}</string>
+ <string>{-5.96046e-08, 0.5}</string>
+ <string>{0.292358, -0.5}</string>
</array>
+ <key>Shape</key>
+ <string>RoundRect</string>
<key>Style</key>
<dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0.8</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ <key>GradientColor</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0.501961</string>
+ <key>r</key>
+ <string>0</string>
+ </dict>
+ <key>MiddleFraction</key>
+ <real>0.0</real>
+ </dict>
<key>stroke</key>
<dict>
- <key>HeadArrow</key>
- <string>FilledArrow</string>
- <key>HopLines</key>
- <true/>
- <key>HopType</key>
- <integer>1</integer>
- <key>LineType</key>
- <integer>1</integer>
- <key>TailArrow</key>
- <string>0</string>
+ <key>CornerRadius</key>
+ <real>5</real>
</dict>
</dict>
- <key>Tail</key>
+ <key>Text</key>
<dict>
- <key>ID</key>
- <integer>9</integer>
+ <key>Text</key>
+ <string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
+{\fonttbl\f0\fnil\fcharset77 TrebuchetMS-Bold;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\b\fs24 \cf0 AfterRenderTemplate}</string>
</dict>
</dict>
<dict>
+ <key>Bounds</key>
+ <string>{{445.497, 529.727}, {180.5, 38}}</string>
<key>Class</key>
- <string>LineGraphic</string>
- <key>Head</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
<dict>
- <key>ID</key>
- <integer>9</integer>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>TrebuchetMS-Bold</string>
+ <key>Size</key>
+ <real>12</real>
</dict>
<key>ID</key>
- <integer>28</integer>
- <key>Points</key>
- <array>
- <string>{504.428, 567.989}</string>
- <string>{461.524, 598.039}</string>
- </array>
+ <integer>10</integer>
+ <key>Shape</key>
+ <string>Parallelogram</string>
<key>Style</key>
<dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0.4</string>
+ <key>g</key>
+ <string>1</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ <key>GradientColor</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0.501961</string>
+ <key>r</key>
+ <string>0</string>
+ </dict>
+ <key>MiddleFraction</key>
+ <real>0.0</real>
+ </dict>
<key>stroke</key>
<dict>
- <key>HeadArrow</key>
- <string>FilledArrow</string>
- <key>HopLines</key>
- <true/>
- <key>HopType</key>
- <integer>1</integer>
- <key>LineType</key>
- <integer>1</integer>
- <key>TailArrow</key>
- <string>0</string>
+ <key>CornerRadius</key>
+ <real>5</real>
</dict>
</dict>
- <key>Tail</key>
+ <key>Text</key>
<dict>
- <key>ID</key>
- <integer>10</integer>
+ <key>Text</key>
+ <string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
+{\fonttbl\f0\fnil\fcharset77 TrebuchetMS-Bold;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\b\fs24 \cf0 Render Body}</string>
</dict>
</dict>
<dict>
+ <key>Bounds</key>
+ <string>{{333.959, 598.325}, {180.5, 38}}</string>
<key>Class</key>
- <string>LineGraphic</string>
- <key>Head</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
<dict>
- <key>ID</key>
- <integer>10</integer>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0</string>
+ <key>r</key>
+ <string>0</string>
+ </dict>
+ <key>Font</key>
+ <string>TrebuchetMS-Bold</string>
+ <key>Size</key>
+ <real>12</real>
</dict>
<key>ID</key>
- <integer>27</integer>
- <key>Points</key>
+ <integer>9</integer>
+ <key>Magnets</key>
<array>
- <string>{499.152, 486.714}</string>
- <string>{531.959, 494.325}</string>
- <string>{534.389, 529.229}</string>
+ <string>{-0.00127089, -0.281658}</string>
+ <string>{-0.25, -0.499999}</string>
+ <string>{-0.00127089, 0.481501}</string>
+ <string>{0.170474, -0.386921}</string>
</array>
+ <key>Shape</key>
+ <string>RoundRect</string>
<key>Style</key>
<dict>
+ <key>fill</key>
+ <dict>
+ <key>Color</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0.8</string>
+ <key>r</key>
+ <string>1</string>
+ </dict>
+ <key>GradientColor</key>
+ <dict>
+ <key>b</key>
+ <string>0</string>
+ <key>g</key>
+ <string>0.501961</string>
+ <key>r</key>
+ <string>0</string>
+ </dict>
+ <key>MiddleFraction</key>
+ <real>0.0</real>
+ </dict>
<key>stroke</key>
<dict>
- <key>HeadArrow</key>
- <string>FilledArrow</string>
- <key>HopLines</key>
- <true/>
- <key>HopType</key>
- <integer>1</integer>
- <key>LineType</key>
- <integer>1</integer>
- <key>TailArrow</key>
- <string>0</string>
+ <key>CornerRadius</key>
+ <real>5</real>
</dict>
</dict>
- <key>Tail</key>
+ <key>Text</key>
<dict>
- <key>ID</key>
- <integer>8</integer>
+ <key>Text</key>
+ <string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
+{\fonttbl\f0\fnil\fcharset77 TrebuchetMS-Bold;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\b\fs24 \cf0 AfterRenderBody}</string>
</dict>
</dict>
<dict>
+ <key>Bounds</key>
+ <string>{{333.959, 450.325}, {180.5, 38}}</string>
<key>Class</key>
- <string>LineGraphic</string>
- <key>Head</key>
+ <string>ShapedGraphic</string>
+ <key>FontInfo</key>
<dict>
- <key>ID</key>
- <integer>8</integer>
- </dict>
- <key>ID</key>
- <integer>26</integer>
- <key>Points</key>
- <array>
- <string>{424.209, 411.79}</string>
- <string>{424.209, 449.825}</string>
- </array>
- <key>Style</key>
- <dict>
- <key>stroke</key>
- <dict>
- <key>HeadArrow</key>
- <string>FilledArrow</string>
- <key>HopLines</key>
- <true/>
- <key>HopType</key>
- <integer>1</integer>
- <key>LineType</key>
- <integer>1</integer>
- <key>TailArrow</key>
- <string>0</string>
- </dict>
- </dict>
- <key>Tail</key>
- <dict>
- <key>ID</key>
- <integer>7</integer>
- </dict>
- </dict>
- <dict>
- <key>Class</key>
- <string>LineGraphic</string>
- <key>Head</key>
- <dict>
- <key>ID</key>
- <integer>7</integer>
- </dict>
- <key>ID</key>
- <integer>25</integer>
- <key>Points</key>
- <array>
- <string>{362.891, 340.648}</string>
- <string>{401.267, 372.968}</string>
- </array>
- <key>Style</key>
- <dict>
- <key>stroke</key>
- <dict>
- <key>HeadArrow</key>
- <string>FilledArrow</string>
- <key>HopLines</key>
- <true/>
- <key>HopType</key>
- <integer>1</integer>
- <key>LineType</key>
- <integer>1</integer>
- <key>TailArrow</key>
- <string>0</string>
- </dict>
- </dict>
- <key>Tail</key>
- <dict>
- <key>ID</key>
- <integer>6</integer>
- </dict>
- </dict>
- <dict>
- <key>Class</key>
- <string>LineGraphic</string>
- <key>Head</key>
- <dict>
- <key>ID</key>
- <integer>6</integer>
- </dict>
- <key>ID</key>
- <integer>71</integer>
- <key>Points</key>
- <array>
- <string>{393.365, 258.464}</string>
- <string>{357.74, 276}</string>
- <string>{338.051, 301.927}</string>
- </array>
- <key>Style</key>
- <dict>
- <key>stroke</key>
+ <key>Color</key>
<dict>
- <key>HeadArrow</key>
- <string>FilledArrow</string>
- <key>HopLines</key>
- <true/>
- <key>HopType</key>
- <integer>1</integer>
- <key>LineType</key>
- <integer>1</integer>
- <key>TailArrow</key>
+ <key>b</key>
<string>0</string>
- </dict>
- </dict>
- <key>Tail</key>
- <dict>
- <key>ID</key>
- <integer>66</integer>
- </dict>
- </dict>
- <dict>
- <key>Class</key>
- <string>LineGraphic</string>
- <key>Head</key>
- <dict>
- <key>ID</key>
- <integer>66</integer>
- </dict>
- <key>ID</key>
- <integer>69</integer>
- <key>Points</key>
- <array>
- <string>{432.419, 176.439}</string>
- <string>{432.27, 220.345}</string>
- </array>
- <key>Style</key>
- <dict>
- <key>stroke</key>
- <dict>
- <key>HeadArrow</key>
- <string>FilledArrow</string>
- <key>HopLines</key>
- <true/>
- <key>HopType</key>
- <integer>1</integer>
- <key>LineType</key>
- <integer>1</integer>
- <key>TailArrow</key>
+ <key>g</key>
<string>0</string>
- </dict>
- </dict>
- <key>Tail</key>
- <dict>
- <key>ID</key>
- <integer>4</integer>
- </dict>
- </dict>
- <dict>
- <key>Class</key>
- <string>LineGraphic</string>
- <key>Head</key>
- <dict>
- <key>ID</key>
- <integer>4</integer>
- </dict>
- <key>ID</key>
- <integer>22</integer>
- <key>Points</key>
- <array>
- <string>{431.478, 106.061}</string>
- <string>{432.205, 137.939}</string>
- </array>
- <key>Style</key>
- <dict>
- <key>stroke</key>
- <dict>
- <key>HeadArrow</key>
- <string>FilledArrow</string>
- <key>HopLines</key>
- <true/>
- <key>HopType</key>
- <integer>1</integer>
- <key>LineType</key>
- <integer>1</integer>
- <key>TailArrow</key>
+ <key>r</key>
<string>0</string>
</dict>
- </dict>
- <key>Tail</key>
- <dict>
- <key>ID</key>
- <integer>3</integer>
- </dict>
- </dict>
- <dict>
- <key>Bounds</key>
- <string>{{488.217, 915.347}, {98, 38}}</string>
- <key>Class</key>
- <string>ShapedGraphic</string>
- <key>FontInfo</key>
- <dict>
- <key>Color</key>
- <dict>
- <key>w</key>
- <string>1</string>
- </dict>
<key>Font</key>
<string>TrebuchetMS-Bold</string>
<key>Size</key>
<real>12</real>
</dict>
<key>ID</key>
- <integer>14</integer>
+ <integer>8</integer>
<key>Shape</key>
<string>RoundRect</string>
<key>Style</key>
@@ -1661,7 +1678,7 @@
<key>b</key>
<string>0</string>
<key>g</key>
- <string>0</string>
+ <string>0.8</string>
<key>r</key>
<string>1</string>
</dict>
@@ -1691,12 +1708,12 @@
{\colortbl;\red255\green255\blue255;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-\f0\b\fs24 \cf1 End}</string>
+\f0\b\fs24 \cf0 BeforeRenderBody}</string>
</dict>
</dict>
<dict>
<key>Bounds</key>
- <string>{{447.901, 840.502}, {180.5, 38}}</string>
+ <string>{{333.959, 373.29}, {180.5, 38}}</string>
<key>Class</key>
<string>ShapedGraphic</string>
<key>FontInfo</key>
@@ -1716,16 +1733,9 @@
<real>12</real>
</dict>
<key>ID</key>
- <integer>13</integer>
- <key>Magnets</key>
- <array>
- <string>{-0.281146, -0.13158}</string>
- <string>{0.25, -0.5}</string>
- <string>{-0.00563669, 0.368422}</string>
- <string>{0.433564, -0.5}</string>
- </array>
+ <integer>7</integer>
<key>Shape</key>
- <string>RoundRect</string>
+ <string>Parallelogram</string>
<key>Style</key>
<dict>
<key>fill</key>
@@ -1733,9 +1743,9 @@
<key>Color</key>
<dict>
<key>b</key>
- <string>0</string>
+ <string>0.4</string>
<key>g</key>
- <string>0.8</string>
+ <string>1</string>
<key>r</key>
<string>1</string>
</dict>
@@ -1765,12 +1775,12 @@
{\colortbl;\red255\green255\blue255;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-\f0\b\fs24 \cf0 CleanupRender}</string>
+\f0\b\fs24 \cf0 Render Template}</string>
</dict>
</dict>
<dict>
<key>Bounds</key>
- <string>{{394.959, 756.836}, {180.5, 38}}</string>
+ <string>{{235.205, 302.325}, {180.5, 38}}</string>
<key>Class</key>
<string>ShapedGraphic</string>
<key>FontInfo</key>
@@ -1790,12 +1800,10 @@
<real>12</real>
</dict>
<key>ID</key>
- <integer>12</integer>
+ <integer>6</integer>
<key>Magnets</key>
<array>
- <string>{-0.5, 0}</string>
- <string>{0, 0.5}</string>
- <string>{0, -0.5}</string>
+ <string>{0.0241081, -0.224772}</string>
</array>
<key>Shape</key>
<string>RoundRect</string>
@@ -1838,12 +1846,12 @@
{\colortbl;\red255\green255\blue255;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-\f0\b\fs24 \cf0 AfterRender}</string>
+\f0\b\fs24 \cf0 BeforeRenderTemplate}</string>
</dict>
</dict>
<dict>
<key>Bounds</key>
- <string>{{207.959, 672.325}, {180.5, 38}}</string>
+ <string>{{379.705, 220.345}, {105, 38}}</string>
<key>Class</key>
<string>ShapedGraphic</string>
<key>FontInfo</key>
@@ -1863,13 +1871,13 @@
<real>12</real>
</dict>
<key>ID</key>
- <integer>11</integer>
+ <integer>66</integer>
<key>Magnets</key>
<array>
- <string>{-0.322601, -0.5}</string>
- <string>{-5.96046e-08, -0.5}</string>
- <string>{-5.96046e-08, 0.5}</string>
- <string>{0.292358, -0.5}</string>
+ <string>{0, 0}</string>
+ <string>{-0.5, 0}</string>
+ <string>{0.453242, 0.362622}</string>
+ <string>{0.25, 0.25}</string>
</array>
<key>Shape</key>
<string>RoundRect</string>
@@ -1912,12 +1920,12 @@
{\colortbl;\red255\green255\blue255;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-\f0\b\fs24 \cf0 AfterRenderTemplate}</string>
+\f0\b\fs24 \cf0 BeginRender}</string>
</dict>
</dict>
<dict>
<key>Bounds</key>
- <string>{{445.497, 529.727}, {180.5, 38}}</string>
+ <string>{{379.705, 137.939}, {105, 38}}</string>
<key>Class</key>
<string>ShapedGraphic</string>
<key>FontInfo</key>
@@ -1937,9 +1945,16 @@
<real>12</real>
</dict>
<key>ID</key>
- <integer>10</integer>
+ <integer>4</integer>
+ <key>Magnets</key>
+ <array>
+ <string>{0.411739, 0.0526314}</string>
+ <string>{0.00221539, 0.368421}</string>
+ <string>{0, -0.5}</string>
+ <string>{-0.445207, 0.0526316}</string>
+ </array>
<key>Shape</key>
- <string>Parallelogram</string>
+ <string>RoundRect</string>
<key>Style</key>
<dict>
<key>fill</key>
@@ -1947,9 +1962,9 @@
<key>Color</key>
<dict>
<key>b</key>
- <string>0.4</string>
+ <string>0</string>
<key>g</key>
- <string>1</string>
+ <string>0.8</string>
<key>r</key>
<string>1</string>
</dict>
@@ -1979,24 +1994,20 @@
{\colortbl;\red255\green255\blue255;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-\f0\b\fs24 \cf0 Render Body}</string>
+\f0\b\fs24 \cf0 SetupRender}</string>
</dict>
</dict>
<dict>
<key>Bounds</key>
- <string>{{333.959, 598.325}, {180.5, 38}}</string>
+ <string>{{382.2, 67.5615}, {98, 38}}</string>
<key>Class</key>
<string>ShapedGraphic</string>
<key>FontInfo</key>
<dict>
<key>Color</key>
<dict>
- <key>b</key>
- <string>0</string>
- <key>g</key>
- <string>0</string>
- <key>r</key>
- <string>0</string>
+ <key>w</key>
+ <string>1</string>
</dict>
<key>Font</key>
<string>TrebuchetMS-Bold</string>
@@ -2004,14 +2015,7 @@
<real>12</real>
</dict>
<key>ID</key>
- <integer>9</integer>
- <key>Magnets</key>
- <array>
- <string>{-0.00127089, -0.281658}</string>
- <string>{-0.25, -0.499999}</string>
- <string>{-0.00127089, 0.481501}</string>
- <string>{0.170474, -0.386921}</string>
- </array>
+ <integer>3</integer>
<key>Shape</key>
<string>RoundRect</string>
<key>Style</key>
@@ -2023,9 +2027,9 @@
<key>b</key>
<string>0</string>
<key>g</key>
- <string>0.8</string>
+ <string>0.501961</string>
<key>r</key>
- <string>1</string>
+ <string>0</string>
</dict>
<key>GradientColor</key>
<dict>
@@ -2053,423 +2057,443 @@
{\colortbl;\red255\green255\blue255;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-\f0\b\fs24 \cf0 AfterRenderBody}</string>
+\f0\b\fs24 \cf1 Start}</string>
</dict>
</dict>
<dict>
- <key>Bounds</key>
- <string>{{333.959, 450.325}, {180.5, 38}}</string>
<key>Class</key>
- <string>ShapedGraphic</string>
- <key>FontInfo</key>
+ <string>LineGraphic</string>
+ <key>Head</key>
<dict>
- <key>Color</key>
+ <key>ID</key>
+ <integer>4</integer>
+ </dict>
+ <key>ID</key>
+ <integer>41</integer>
+ <key>Points</key>
+ <array>
+ <string>{458.994, 843.755}</string>
+ <string>{153, 728}</string>
+ <string>{146, 242}</string>
+ <string>{379.562, 160.984}</string>
+ </array>
+ <key>Style</key>
+ <dict>
+ <key>stroke</key>
<dict>
- <key>b</key>
- <string>0</string>
- <key>g</key>
- <string>0</string>
- <key>r</key>
+ <key>HeadArrow</key>
+ <string>FilledArrow</string>
+ <key>HopLines</key>
+ <true/>
+ <key>HopType</key>
+ <integer>2</integer>
+ <key>LineType</key>
+ <integer>1</integer>
+ <key>Pattern</key>
+ <integer>1</integer>
+ <key>TailArrow</key>
<string>0</string>
</dict>
- <key>Font</key>
- <string>TrebuchetMS-Bold</string>
- <key>Size</key>
- <real>12</real>
+ </dict>
+ <key>Tail</key>
+ <dict>
+ <key>ID</key>
+ <integer>13</integer>
+ </dict>
+ </dict>
+ <dict>
+ <key>Class</key>
+ <string>LineGraphic</string>
+ <key>Head</key>
+ <dict>
+ <key>ID</key>
+ <integer>14</integer>
</dict>
<key>ID</key>
- <integer>8</integer>
- <key>Shape</key>
- <string>RoundRect</string>
+ <integer>32</integer>
+ <key>Points</key>
+ <array>
+ <string>{537.141, 879.002}</string>
+ <string>{537.19, 914.847}</string>
+ </array>
<key>Style</key>
<dict>
- <key>fill</key>
- <dict>
- <key>Color</key>
- <dict>
- <key>b</key>
- <string>0</string>
- <key>g</key>
- <string>0.8</string>
- <key>r</key>
- <string>1</string>
- </dict>
- <key>GradientColor</key>
- <dict>
- <key>b</key>
- <string>0</string>
- <key>g</key>
- <string>0.501961</string>
- <key>r</key>
- <string>0</string>
- </dict>
- <key>MiddleFraction</key>
- <real>0.0</real>
- </dict>
<key>stroke</key>
<dict>
- <key>CornerRadius</key>
- <real>5</real>
+ <key>HeadArrow</key>
+ <string>FilledArrow</string>
+ <key>HopLines</key>
+ <true/>
+ <key>HopType</key>
+ <integer>1</integer>
+ <key>LineType</key>
+ <integer>1</integer>
+ <key>TailArrow</key>
+ <string>0</string>
+ <key>Width</key>
+ <real>2</real>
</dict>
</dict>
- <key>Text</key>
+ <key>Tail</key>
<dict>
- <key>Text</key>
- <string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
-{\fonttbl\f0\fnil\fcharset77 TrebuchetMS-Bold;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\b\fs24 \cf0 BeforeRenderBody}</string>
+ <key>ID</key>
+ <integer>13</integer>
</dict>
</dict>
<dict>
- <key>Bounds</key>
- <string>{{333.959, 373.29}, {180.5, 38}}</string>
<key>Class</key>
- <string>ShapedGraphic</string>
- <key>FontInfo</key>
+ <string>LineGraphic</string>
+ <key>Head</key>
<dict>
- <key>Color</key>
+ <key>ID</key>
+ <integer>13</integer>
+ </dict>
+ <key>ID</key>
+ <integer>31</integer>
+ <key>Points</key>
+ <array>
+ <string>{485.209, 794.836}</string>
+ <string>{486.889, 840.502}</string>
+ </array>
+ <key>Style</key>
+ <dict>
+ <key>stroke</key>
<dict>
- <key>b</key>
- <string>0</string>
- <key>g</key>
- <string>0</string>
- <key>r</key>
+ <key>HeadArrow</key>
+ <string>FilledArrow</string>
+ <key>HopLines</key>
+ <true/>
+ <key>HopType</key>
+ <integer>1</integer>
+ <key>LineType</key>
+ <integer>1</integer>
+ <key>TailArrow</key>
<string>0</string>
+ <key>Width</key>
+ <real>2</real>
</dict>
- <key>Font</key>
- <string>TrebuchetMS-Bold</string>
- <key>Size</key>
- <real>12</real>
+ </dict>
+ <key>Tail</key>
+ <dict>
+ <key>ID</key>
+ <integer>12</integer>
+ </dict>
+ </dict>
+ <dict>
+ <key>Class</key>
+ <string>LineGraphic</string>
+ <key>Head</key>
+ <dict>
+ <key>ID</key>
+ <integer>12</integer>
+ <key>Info</key>
+ <integer>3</integer>
</dict>
<key>ID</key>
- <integer>7</integer>
- <key>Shape</key>
- <string>Parallelogram</string>
+ <integer>30</integer>
+ <key>Points</key>
+ <array>
+ <string>{388.868, 690.479}</string>
+ <string>{463, 726}</string>
+ <string>{485.209, 756.836}</string>
+ </array>
<key>Style</key>
<dict>
- <key>fill</key>
+ <key>stroke</key>
<dict>
- <key>Color</key>
- <dict>
- <key>b</key>
- <string>0.4</string>
- <key>g</key>
- <string>1</string>
- <key>r</key>
- <string>1</string>
- </dict>
- <key>GradientColor</key>
- <dict>
- <key>b</key>
- <string>0</string>
- <key>g</key>
- <string>0.501961</string>
- <key>r</key>
- <string>0</string>
- </dict>
- <key>MiddleFraction</key>
- <real>0.0</real>
+ <key>HeadArrow</key>
+ <string>FilledArrow</string>
+ <key>HopLines</key>
+ <true/>
+ <key>HopType</key>
+ <integer>1</integer>
+ <key>LineType</key>
+ <integer>1</integer>
+ <key>TailArrow</key>
+ <string>0</string>
+ <key>Width</key>
+ <real>2</real>
</dict>
+ </dict>
+ <key>Tail</key>
+ <dict>
+ <key>ID</key>
+ <integer>11</integer>
+ </dict>
+ </dict>
+ <dict>
+ <key>Class</key>
+ <string>LineGraphic</string>
+ <key>Head</key>
+ <dict>
+ <key>ID</key>
+ <integer>11</integer>
+ </dict>
+ <key>ID</key>
+ <integer>29</integer>
+ <key>Points</key>
+ <array>
+ <string>{422.135, 636.55}</string>
+ <string>{350.98, 672.325}</string>
+ </array>
+ <key>Style</key>
+ <dict>
<key>stroke</key>
<dict>
- <key>CornerRadius</key>
- <real>5</real>
+ <key>HeadArrow</key>
+ <string>FilledArrow</string>
+ <key>HopLines</key>
+ <true/>
+ <key>HopType</key>
+ <integer>1</integer>
+ <key>LineType</key>
+ <integer>1</integer>
+ <key>TailArrow</key>
+ <string>0</string>
+ <key>Width</key>
+ <real>2</real>
</dict>
</dict>
- <key>Text</key>
+ <key>Tail</key>
<dict>
- <key>Text</key>
- <string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
-{\fonttbl\f0\fnil\fcharset77 TrebuchetMS-Bold;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\b\fs24 \cf0 Render Template}</string>
+ <key>ID</key>
+ <integer>9</integer>
</dict>
</dict>
<dict>
- <key>Bounds</key>
- <string>{{235.205, 302.325}, {180.5, 38}}</string>
<key>Class</key>
- <string>ShapedGraphic</string>
- <key>FontInfo</key>
+ <string>LineGraphic</string>
+ <key>Head</key>
<dict>
- <key>Color</key>
+ <key>ID</key>
+ <integer>9</integer>
+ </dict>
+ <key>ID</key>
+ <integer>28</integer>
+ <key>Points</key>
+ <array>
+ <string>{504.428, 567.989}</string>
+ <string>{461.524, 598.038}</string>
+ </array>
+ <key>Style</key>
+ <dict>
+ <key>stroke</key>
<dict>
- <key>b</key>
- <string>0</string>
- <key>g</key>
- <string>0</string>
- <key>r</key>
+ <key>HeadArrow</key>
+ <string>FilledArrow</string>
+ <key>HopLines</key>
+ <true/>
+ <key>HopType</key>
+ <integer>1</integer>
+ <key>LineType</key>
+ <integer>1</integer>
+ <key>TailArrow</key>
<string>0</string>
+ <key>Width</key>
+ <real>2</real>
</dict>
- <key>Font</key>
- <string>TrebuchetMS-Bold</string>
- <key>Size</key>
- <real>12</real>
+ </dict>
+ <key>Tail</key>
+ <dict>
+ <key>ID</key>
+ <integer>10</integer>
+ </dict>
+ </dict>
+ <dict>
+ <key>Class</key>
+ <string>LineGraphic</string>
+ <key>Head</key>
+ <dict>
+ <key>ID</key>
+ <integer>10</integer>
</dict>
<key>ID</key>
- <integer>6</integer>
- <key>Magnets</key>
+ <integer>27</integer>
+ <key>Points</key>
<array>
- <string>{0.0241081, -0.224772}</string>
+ <string>{499.152, 486.713}</string>
+ <string>{531.959, 494.325}</string>
+ <string>{534.389, 529.228}</string>
</array>
- <key>Shape</key>
- <string>RoundRect</string>
<key>Style</key>
<dict>
- <key>fill</key>
+ <key>stroke</key>
<dict>
- <key>Color</key>
- <dict>
- <key>b</key>
- <string>0</string>
- <key>g</key>
- <string>0.8</string>
- <key>r</key>
- <string>1</string>
- </dict>
- <key>GradientColor</key>
- <dict>
- <key>b</key>
- <string>0</string>
- <key>g</key>
- <string>0.501961</string>
- <key>r</key>
- <string>0</string>
- </dict>
- <key>MiddleFraction</key>
- <real>0.0</real>
+ <key>HeadArrow</key>
+ <string>FilledArrow</string>
+ <key>HopLines</key>
+ <true/>
+ <key>HopType</key>
+ <integer>1</integer>
+ <key>LineType</key>
+ <integer>1</integer>
+ <key>TailArrow</key>
+ <string>0</string>
+ <key>Width</key>
+ <real>2</real>
</dict>
+ </dict>
+ <key>Tail</key>
+ <dict>
+ <key>ID</key>
+ <integer>8</integer>
+ </dict>
+ </dict>
+ <dict>
+ <key>Class</key>
+ <string>LineGraphic</string>
+ <key>Head</key>
+ <dict>
+ <key>ID</key>
+ <integer>8</integer>
+ </dict>
+ <key>ID</key>
+ <integer>26</integer>
+ <key>Points</key>
+ <array>
+ <string>{424.209, 411.79}</string>
+ <string>{424.209, 449.825}</string>
+ </array>
+ <key>Style</key>
+ <dict>
<key>stroke</key>
<dict>
- <key>CornerRadius</key>
- <real>5</real>
+ <key>HeadArrow</key>
+ <string>FilledArrow</string>
+ <key>HopLines</key>
+ <true/>
+ <key>HopType</key>
+ <integer>1</integer>
+ <key>LineType</key>
+ <integer>1</integer>
+ <key>TailArrow</key>
+ <string>0</string>
+ <key>Width</key>
+ <real>2</real>
</dict>
</dict>
- <key>Text</key>
+ <key>Tail</key>
<dict>
- <key>Text</key>
- <string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
-{\fonttbl\f0\fnil\fcharset77 TrebuchetMS-Bold;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\b\fs24 \cf0 BeforeRenderTemplate}</string>
+ <key>ID</key>
+ <integer>7</integer>
</dict>
</dict>
<dict>
- <key>Bounds</key>
- <string>{{379.705, 220.345}, {105, 38}}</string>
<key>Class</key>
- <string>ShapedGraphic</string>
- <key>FontInfo</key>
+ <string>LineGraphic</string>
+ <key>Head</key>
<dict>
- <key>Color</key>
- <dict>
- <key>b</key>
- <string>0</string>
- <key>g</key>
- <string>0</string>
- <key>r</key>
- <string>0</string>
- </dict>
- <key>Font</key>
- <string>TrebuchetMS-Bold</string>
- <key>Size</key>
- <real>12</real>
+ <key>ID</key>
+ <integer>7</integer>
</dict>
<key>ID</key>
- <integer>66</integer>
- <key>Magnets</key>
+ <integer>25</integer>
+ <key>Points</key>
<array>
- <string>{0, 0}</string>
- <string>{-0.5, 0}</string>
- <string>{0.453242, 0.362622}</string>
- <string>{0.25, 0.25}</string>
+ <string>{362.89, 340.647}</string>
+ <string>{401.267, 372.968}</string>
</array>
- <key>Shape</key>
- <string>RoundRect</string>
<key>Style</key>
<dict>
- <key>fill</key>
- <dict>
- <key>Color</key>
- <dict>
- <key>b</key>
- <string>0</string>
- <key>g</key>
- <string>0.8</string>
- <key>r</key>
- <string>1</string>
- </dict>
- <key>GradientColor</key>
- <dict>
- <key>b</key>
- <string>0</string>
- <key>g</key>
- <string>0.501961</string>
- <key>r</key>
- <string>0</string>
- </dict>
- <key>MiddleFraction</key>
- <real>0.0</real>
- </dict>
<key>stroke</key>
<dict>
- <key>CornerRadius</key>
- <real>5</real>
+ <key>HeadArrow</key>
+ <string>FilledArrow</string>
+ <key>HopLines</key>
+ <true/>
+ <key>HopType</key>
+ <integer>1</integer>
+ <key>LineType</key>
+ <integer>1</integer>
+ <key>TailArrow</key>
+ <string>0</string>
+ <key>Width</key>
+ <real>2</real>
</dict>
</dict>
- <key>Text</key>
+ <key>Tail</key>
<dict>
- <key>Text</key>
- <string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
-{\fonttbl\f0\fnil\fcharset77 TrebuchetMS-Bold;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\b\fs24 \cf0 BeginRender}</string>
+ <key>ID</key>
+ <integer>6</integer>
</dict>
</dict>
<dict>
- <key>Bounds</key>
- <string>{{379.705, 137.939}, {105, 38}}</string>
<key>Class</key>
- <string>ShapedGraphic</string>
- <key>FontInfo</key>
+ <string>LineGraphic</string>
+ <key>Head</key>
<dict>
- <key>Color</key>
- <dict>
- <key>b</key>
- <string>0</string>
- <key>g</key>
- <string>0</string>
- <key>r</key>
- <string>0</string>
- </dict>
- <key>Font</key>
- <string>TrebuchetMS-Bold</string>
- <key>Size</key>
- <real>12</real>
+ <key>ID</key>
+ <integer>6</integer>
</dict>
<key>ID</key>
- <integer>4</integer>
- <key>Magnets</key>
+ <integer>71</integer>
+ <key>Points</key>
<array>
- <string>{0.411739, 0.0526314}</string>
- <string>{0.00221539, 0.368421}</string>
- <string>{0, -0.5}</string>
- <string>{-0.445207, 0.0526316}</string>
+ <string>{393.365, 258.464}</string>
+ <string>{357.74, 276}</string>
+ <string>{338.051, 301.927}</string>
</array>
- <key>Shape</key>
- <string>RoundRect</string>
<key>Style</key>
<dict>
- <key>fill</key>
- <dict>
- <key>Color</key>
- <dict>
- <key>b</key>
- <string>0</string>
- <key>g</key>
- <string>0.8</string>
- <key>r</key>
- <string>1</string>
- </dict>
- <key>GradientColor</key>
- <dict>
- <key>b</key>
- <string>0</string>
- <key>g</key>
- <string>0.501961</string>
- <key>r</key>
- <string>0</string>
- </dict>
- <key>MiddleFraction</key>
- <real>0.0</real>
- </dict>
<key>stroke</key>
<dict>
- <key>CornerRadius</key>
- <real>5</real>
+ <key>HeadArrow</key>
+ <string>FilledArrow</string>
+ <key>HopLines</key>
+ <true/>
+ <key>HopType</key>
+ <integer>1</integer>
+ <key>LineType</key>
+ <integer>1</integer>
+ <key>TailArrow</key>
+ <string>0</string>
+ <key>Width</key>
+ <real>2</real>
</dict>
</dict>
- <key>Text</key>
+ <key>Tail</key>
<dict>
- <key>Text</key>
- <string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
-{\fonttbl\f0\fnil\fcharset77 TrebuchetMS-Bold;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\b\fs24 \cf0 SetupRender}</string>
+ <key>ID</key>
+ <integer>66</integer>
</dict>
</dict>
<dict>
- <key>Bounds</key>
- <string>{{382.2, 67.5615}, {98, 38}}</string>
<key>Class</key>
- <string>ShapedGraphic</string>
- <key>FontInfo</key>
+ <string>LineGraphic</string>
+ <key>Head</key>
<dict>
- <key>Color</key>
- <dict>
- <key>w</key>
- <string>1</string>
- </dict>
- <key>Font</key>
- <string>TrebuchetMS-Bold</string>
- <key>Size</key>
- <real>12</real>
+ <key>ID</key>
+ <integer>66</integer>
</dict>
<key>ID</key>
- <integer>3</integer>
- <key>Shape</key>
- <string>RoundRect</string>
+ <integer>69</integer>
+ <key>Points</key>
+ <array>
+ <string>{432.419, 176.439}</string>
+ <string>{432.27, 220.345}</string>
+ </array>
<key>Style</key>
<dict>
- <key>fill</key>
- <dict>
- <key>Color</key>
- <dict>
- <key>b</key>
- <string>0</string>
- <key>g</key>
- <string>0.501961</string>
- <key>r</key>
- <string>0</string>
- </dict>
- <key>GradientColor</key>
- <dict>
- <key>b</key>
- <string>0</string>
- <key>g</key>
- <string>0.501961</string>
- <key>r</key>
- <string>0</string>
- </dict>
- <key>MiddleFraction</key>
- <real>0.0</real>
- </dict>
<key>stroke</key>
<dict>
- <key>CornerRadius</key>
- <real>5</real>
+ <key>HeadArrow</key>
+ <string>FilledArrow</string>
+ <key>HopLines</key>
+ <true/>
+ <key>HopType</key>
+ <integer>1</integer>
+ <key>LineType</key>
+ <integer>1</integer>
+ <key>TailArrow</key>
+ <string>0</string>
+ <key>Width</key>
+ <real>2</real>
</dict>
</dict>
- <key>Text</key>
+ <key>Tail</key>
<dict>
- <key>Text</key>
- <string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
-{\fonttbl\f0\fnil\fcharset77 TrebuchetMS-Bold;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\b\fs24 \cf1 Start}</string>
+ <key>ID</key>
+ <integer>4</integer>
</dict>
</dict>
<dict>
@@ -2481,13 +2505,11 @@
<integer>4</integer>
</dict>
<key>ID</key>
- <integer>41</integer>
+ <integer>22</integer>
<key>Points</key>
<array>
- <string>{458.994, 843.755}</string>
- <string>{153, 728}</string>
- <string>{146, 242}</string>
- <string>{379.562, 160.984}</string>
+ <string>{431.478, 106.061}</string>
+ <string>{432.205, 137.939}</string>
</array>
<key>Style</key>
<dict>
@@ -2498,19 +2520,19 @@
<key>HopLines</key>
<true/>
<key>HopType</key>
- <integer>2</integer>
+ <integer>1</integer>
<key>LineType</key>
<integer>1</integer>
- <key>Pattern</key>
- <integer>2</integer>
<key>TailArrow</key>
<string>0</string>
+ <key>Width</key>
+ <real>2</real>
</dict>
</dict>
<key>Tail</key>
<dict>
<key>ID</key>
- <integer>13</integer>
+ <integer>3</integer>
</dict>
</dict>
</array>
@@ -2613,7 +2635,7 @@
</dict>
</array>
<key>ModificationDate</key>
- <string>2006-12-20 14:05:51 -0800</string>
+ <string>2007-02-19 13:13:13 -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=509372&r1=509371&r2=509372
==============================================================================
Binary files - no diff available.
Modified: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/corelib/components/LoopTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/corelib/components/LoopTest.java?view=diff&rev=509372&r1=509371&r2=509372
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/corelib/components/LoopTest.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/corelib/components/LoopTest.java Mon Feb 19 15:08:46 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.
@@ -52,17 +52,17 @@
assertEquals(loop.getValue(), "alpha");
assertEquals(loop.getIndex(), 0);
- assertTrue(loop.after());
+ assertFalse(loop.after());
loop.begin();
assertEquals(loop.getValue(), "beta");
assertEquals(loop.getIndex(), 1);
- assertTrue(loop.after());
+ assertFalse(loop.after());
loop.begin();
assertEquals(loop.getValue(), "gamma");
assertEquals(loop.getIndex(), 2);
- assertFalse(loop.after());
+ assertTrue(loop.after());
verify();
}
Modified: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app1/components/Count.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app1/components/Count.java?view=diff&rev=509372&r1=509371&r2=509372
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app1/components/Count.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/integration/app1/components/Count.java Mon Feb 19 15:08:46 2007
@@ -56,7 +56,7 @@
if (newValue <= _end)
{
_value = newValue;
- return true; // re-render body
+ return false; // re-render body
}
}
else
@@ -66,10 +66,10 @@
if (newValue >= _end)
{
_value = newValue;
- return true; // re-render body
+ return false; // re-render body
}
}
- return false;
+ return true;
}
}