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