It is only broken (in Tap 5.2.0 Snapshot)  if EnumSelectModel is passed to  
component FunctionInputWithSelect. It works if I use SelectModelImpl whith 
String key/value pairs. 

Shing 


--- On Sun, 8/8/10, Shing Hing Man <mat...@yahoo.com> wrote:

> From: Shing Hing Man <mat...@yahoo.com>
> Subject: inherit binding  broken after upgrade from Tap 5.1 to 5.2 snapshot
> To: "tapestry Tapestry" <tapestry-u...@jakarta.apache.org>
> Date: Sunday, 8 August, 2010, 23:45
> Hi,
>   My component below is broken after I upgrade from
> Tap 5.1 to Tap 5.2 snapshot. In the component template
> FunctionInputWithSelect.tml, there is Select component which
> gets all its parameters using inherit
> binding.   
> 
> 
>         <td> <SELECT
> t:type="select" style="width:10em"  t:id="mode" 
>                
>         blankOption="never" 
>            
>    model="model"
> value="value"   onchange="javascript:this.form.submit();">
> 
>        
>    </SELECT> 
>       
> In FunctionInputWithSelect.java,
> 
> public class FunctionInputWithSelect {
>    
> @Parameter(defaultPrefix=BindingConstants.PROP,
> required=true)
>     @Property
>     private String function;
>     
>    
> @Parameter(defaultPrefix=BindingConstants.PROP,
> required=true)
>     private SelectModel model;
>        
> 
>    
> @Parameter(defaultPrefix=BindingConstants.PROP,
> required=true)
>     private ValueEncoder encoder;
>     
>    
> @Parameter(required=false,defaultPrefix=BindingConstants.PROP,value="literal:Compute"
> )
>     private String buttonLabel;
>     
>     
>     @Parameter(required =
> true,principal=true)
>     private Object value;
>        
>     @Component(parameters =
>      { "value=inherit:value",
> "model=inherit:model", "encoder=inherit:encoder" },
> id="mode")
>     private Select select;
>     
>     @Component(parameters ={
> "function=inherit:function" }, id="functionInput")
>     private FunctionInput functionInput;
>      
>     
>     public String getButtonLabel(){
>         return buttonLabel;
>     }
>     
> }
> 
> 
> In Tap 5.2, I get a null pointer exception.
> #
> org.apache.tapestry5.util.EnumSelectModel.<init>(EnumSelectModel.java:50)
> #
> org.apache.tapestry5.util.EnumSelectModel.<init>(EnumSelectModel.java:41)
> #
> org.apache.tapestry5.corelib.components.Select.defaultModel(Select.java:254)
> #
> org.apache.tapestry5.corelib.components.Select$MethodAccess_defaultModel_12a5251dfd6.invoke(Select$MethodAccess_defaultModel_12a5251dfd6.java)
> #
> org.apache.tapestry5.internal.transform.ParameterWorker$InvokeParameterDefaultMethod.advise(ParameterWorker.java:95)
> #
> org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
> #
> org.apache.tapestry5.internal.transform.ParameterWorker$InvokeLoadOnParmeterConduit.advise(ParameterWorker.java:118)
> #
> org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
> #
> org.apache.tapestry5.internal.transform.ParameterWorker$InvokeParameterDefaultMethod.advise(ParameterWorker.java:101)
> #
> org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
> #
> org.apache.tapestry5.internal.transform.ParameterWorker$InvokeLoadOnParmeterConduit.advise(ParameterWorker.java:118)
> #
> org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
> #
> org.apache.tapestry5.internal.transform.ParameterWorker$InvokeLoadOnParmeterConduit.advise(ParameterWorker.java:118)
> #
> org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
> #
> org.apache.tapestry5.internal.transform.ParameterWorker$InvokeParameterDefaultMethod.advise(ParameterWorker.java:101)
> #
> org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
> #
> org.apache.tapestry5.internal.transform.ParameterWorker$InvokeLoadOnParmeterConduit.advise(ParameterWorker.java:118)
> #
> org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
> #
> org.apache.tapestry5.corelib.components.Select.containingPageDidLoad(Select.java)
> #
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$4.run(ComponentPageElementImpl.java:120)
> #
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:985)
> #
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.containingPageDidLoad(ComponentPageElementImpl.java:829)
> #
> org.apache.tapestry5.internal.structure.PageImpl.loaded(PageImpl.java:171)
> #
> org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:190)
> #
> org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:174)
> #
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
> #
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
> #
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1057)
> 
> 
> 
> Thanks in advance for any assistance !
> 
> Shing 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
> 
> 




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to