Your always free to commit whatever you like.  I do hope the emphasis will
stay on documentation for the next few weeks, however. That's what I intend
to do, before launching into active 5.3 development.

On Mon, Dec 20, 2010 at 1:58 PM, Josh Canfield <[email protected]>wrote:

> Cool. I'd love to start checking in generics support. Does this mean
> I'm free to do that?
>
> On Mon, Dec 20, 2010 at 1:36 PM, Howard Lewis Ship <[email protected]>
> wrote:
> > I think it is time to update the version numbers for trunk to
> 5.3.0-SNAPSHOT
> >
> > On Mon, Dec 20, 2010 at 1:12 PM, <[email protected]> wrote:
> >
> >> Author: dadams
> >> Date: Mon Dec 20 21:12:29 2010
> >> New Revision: 1051293
> >>
> >> URL: http://svn.apache.org/viewvc?rev=1051293&view=rev
> >> Log:
> >> (closed TAP5-1378) Allow Delegate component to be used for creating
> >> in-template components
> >>
> >> Added:
> >>
>  tapestry/tapestry5/trunk/tapestry-core/src/test/app1/DelegateInline.tml
> >>
> >>
>  
> tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/DelegateInline.java
> >> Modified:
> >>
> >>
>  
> tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Delegate.java
> >>    tapestry/tapestry5/trunk/tapestry-core/src/test/conf/   (props
> changed)
> >>
> >>
>  
> tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/GeneralComponentTests.java
> >>
> >>
>  
> tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Index.java
> >>
> >> Modified:
> >>
> tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Delegate.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Delegate.java?rev=1051293&r1=1051292&r2=1051293&view=diff
> >>
> >>
> ==============================================================================
> >> ---
> >>
> tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Delegate.java
> >> (original)
> >> +++
> >>
> tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Delegate.java
> >> Mon Dec 20 21:12:29 2010
> >> @@ -15,12 +15,25 @@
> >>  package org.apache.tapestry5.corelib.components;
> >>
> >>  import org.apache.tapestry5.Block;
> >> +import org.apache.tapestry5.ComponentResources;
> >> +import org.apache.tapestry5.annotations.InjectContainer;
> >>  import org.apache.tapestry5.annotations.Parameter;
> >> +import org.apache.tapestry5.annotations.SupportsInformalParameters;
> >> +import org.apache.tapestry5.ioc.annotations.Inject;
> >> +import org.apache.tapestry5.runtime.Component;
> >>
> >>  /**
> >>  * A component that does not do any rendering of its own, but will
> delegate
> >> to some other object that can do rendering.
> >>  * This other object may be a component or a {...@link Block} (among other
> >> things).
> >> + * <p>
> >> + * This component may also be used to create inline components. For
> each
> >> informal parameter the value will be stored as a
> >> + * render variable. To create an inline component, create a block
> >> + * and use Delegate multiple times in the template to render the block
> >> passing parameters to Delegate. In the block body
> >> + * reference the render variables using the "var:" binding prefix and
> the
> >> name of the parameter.
> >> + * <p>
> >> + * Note that the default binding prefix for parameter values is
> "literal".
> >>  */
> >> +...@supportsinformalparameters
> >>  public class Delegate
> >>  {
> >>     /**
> >> @@ -30,8 +43,16 @@ public class Delegate
> >>     @Parameter(required = true)
> >>     private Object to;
> >>
> >> -    Object beginRender()
> >> -    {
> >> +       @Inject private ComponentResources resources;
> >> +       @InjectContainer private Component container;
> >> +
> >> +       Object beginRender()
> >> +       {
> >> +       for(String name : resources.getInformalParameterNames()) {
> >> +               Object value = resources.getInformalParameter(name,
> >> Object.class);
> >> +
> container.getComponentResources().storeRenderVariable(name,
> >> value);
> >> +       }
> >> +
> >>         return to;
> >>     }
> >>  }
> >>
> >> Added:
> >> tapestry/tapestry5/trunk/tapestry-core/src/test/app1/DelegateInline.tml
> >> URL:
> >>
> http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/DelegateInline.tml?rev=1051293&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> tapestry/tapestry5/trunk/tapestry-core/src/test/app1/DelegateInline.tml
> >> (added)
> >> +++
> tapestry/tapestry5/trunk/tapestry-core/src/test/app1/DelegateInline.tml
> >> Mon Dec 20 21:12:29 2010
> >> @@ -0,0 +1,11 @@
> >> +<t:border xmlns:t="
> http://tapestry.apache.org/schema/tapestry_5_1_0.xsd";
> >> xmlns:p="tapestry:parameter">
> >> +       <h1>Inline Components using Delegate</h1>
> >> +
> >> +       <t:delegate to="block:block1" />
> >> +       <t:delegate to="block:block2" firstName="Steve"
> lastName="Rogers"
> >> />
> >> +       <t:delegate to="block:block2" firstName="Bruce"
> lastName="Banner"
> >> />
> >> +
> >> +       <t:block id="block1"><span id="block1">block 1</span></t:block>
> >> +       <t:block id="block2"><p class="superhero">${var:firstName}
> >> ${var:lastName}</p></t:block>
> >> +</t:border>
> >> +
> >>
> >> Propchange: tapestry/tapestry5/trunk/tapestry-core/src/test/conf/
> >>
> >>
> ------------------------------------------------------------------------------
> >> --- svn:ignore (added)
> >> +++ svn:ignore Mon Dec 20 21:12:29 2010
> >> @@ -0,0 +1 @@
> >> +testng-custom.xml
> >>
> >> Modified:
> >>
> tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/GeneralComponentTests.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/GeneralComponentTests.java?rev=1051293&r1=1051292&r2=1051293&view=diff
> >>
> >>
> ==============================================================================
> >> ---
> >>
> tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/GeneralComponentTests.java
> >> (original)
> >> +++
> >>
> tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/GeneralComponentTests.java
> >> Mon Dec 20 21:12:29 2010
> >> @@ -81,4 +81,16 @@ public class GeneralComponentTests exten
> >>
> >>         assertText("//t...@class='t-location-content
> t-location-current']",
> >> "<t:unavailablecomponent/>");
> >>     }
> >> +
> >> +    /** TAP5-1378 */
> >> +    @Test public void using_delegate_for_inline_components() {
> >> +       clickThru("Inline Delegate");
> >> +
> >> +       // no params
> >> +       assertText("block1", "block 1");
> >> +
> >> +       // multiple renders w/ multiple parameters
> >> +       assertText("xpath=(//p...@class='superhero'])[1]", "Steve
> Rogers");
> >> +       assertText("xpath=(//p...@class='superhero'])[2]", "Bruce
> Banner");
> >> +    }
> >>  }
> >>
> >> Added:
> >>
> tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/DelegateInline.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/DelegateInline.java?rev=1051293&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/DelegateInline.java
> >> (added)
> >> +++
> >>
> tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/DelegateInline.java
> >> Mon Dec 20 21:12:29 2010
> >> @@ -0,0 +1,19 @@
> >> +// Copyright 2006, 2007, 2008, 2009, 2010 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.
> >> +// You may obtain a copy of the License at
> >> +//
> >> +// http://www.apache.org/licenses/LICENSE-2.0
> >> +//
> >> +// Unless required by applicable law or agreed to in writing, software
> >> +// distributed under the License is distributed on an "AS IS" BASIS,
> >> +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> >> implied.
> >> +// See the License for the specific language governing permissions and
> >> +// limitations under the License.
> >> +
> >> +package org.apache.tapestry5.integration.app1.pages;
> >> +
> >> +public class DelegateInline {
> >> +
> >> +}
> >>
> >> Modified:
> >>
> tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Index.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Index.java?rev=1051293&r1=1051292&r2=1051293&view=diff
> >>
> >>
> ==============================================================================
> >> ---
> >>
> tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Index.java
> >> (original)
> >> +++
> >>
> tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Index.java
> >> Mon Dec 20 21:12:29 2010
> >> @@ -356,6 +356,8 @@ public class Index
> >>                             "Actions can exist on pages other than the
> >> active page, via Blocks."),
> >>
> >>                     new Item("unlessdemo", "Unless Demo", "use of the
> >> Unless component"),
> >> +
> >> +                    new Item("delegateinline", "Inline Delegate",
> "Using
> >> the delegate component to create inline components"),
> >>
> >>                     new Item("MagicValueEncoder", "Magic ValueEncoder
> >> Demo",
> >>                             "Automatic creation of ValueEncoder using
> the
> >> TypeCoercer"),
> >>
> >>
> >>
> >
> >
> > --
> > Howard M. Lewis Ship
> >
> > Creator of Apache Tapestry
> >
> > The source for Tapestry training, mentoring and support. Contact me to
> learn
> > how I can get you up and productive in Tapestry fast!
> >
> > (971) 678-5210
> > http://howardlewisship.com
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>


-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to learn
how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

Reply via email to