You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Andrea Chiumenti <ki...@gmail.com> on 2007/07/14 11:07:04 UTC

T4 Help with parameters binding

Hello I'm having a problem with T4.1.2

I' have a component with
<parameter name="startRow" required="no" default-value="ognl:0">
        <description>
            When you have a scrollable table, this is the index of the first
row displayed.
        </description>
</parameter>

and its listener:
public void addNewListener(IRequestCycle cycle) {
        callSubmitBeforeListener(cycle, getAddNewAction());
        if (!CommonUtils.nullOrEmpty(getSource())) {
            if (getDisplayRowCount() > 0) {
                setStartRow(Math.max(0, getSource().size() -
getDisplayRowCount()));
            }
        }
    }


When trying to call setStartRow this exception is thrown:

Binding with value 0 (ExpressionBinding[Home/tableForm 0]) may not be
updated. org.apache.tapestry.BindingException  Binding with value 0
(ExpressionBinding[Home/tableForm 0]) may not be updated.  binding:
ExpressionBinding[Home/tableForm
0]  location: classpath:/org/jfly/web/components/edittable/EditTable.jwc,
line 30, column 69
25 <description> 26 If it's a sized table (a table that can display only a
limited amount of rows a time) this 27 is number of the entire source
displayed. It's needed for scrollbar creation 28 </description> 29</parameter>
30 <parameter name="startRow" required="no" default-value="ognl:0">
31<description>
32 When you have a scrollable table, this is the index of the first row
displayed. 33 </description> 34 </parameter> 35 <parameter
name="displayRowCount" required="no" default-value="ognl:0">  Stack Trace:

   -
   org.apache.tapestry.binding.AbstractBinding.createReadOnlyBindingException
   (AbstractBinding.java:115)
   - org.apache.tapestry.binding.ExpressionBinding.setObject(
   ExpressionBinding.java:196)
   - $EditTable_16.setStartRow($EditTable_16.java)
   - org.jfly.web.components.edittable.EditTable.rewindFormComponent(
   EditTable.java:429)
   - org.apache.tapestry.form.AbstractFormComponent.renderComponent(
   AbstractFormComponent.java:94)
   - org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:725)

   - org.apache.tapestry.services.impl.DojoAjaxResponseBuilder.render(
   DojoAjaxResponseBuilder.java:625)
   - org.apache.tapestry.AbstractComponent.renderBody(
   AbstractComponent.java:539)
   - org.apache.tapestry.form.FormSupportImpl.rewind(FormSupportImpl.java:615)

   - org.apache.tapestry.form.Form.renderComponent(Form.java:196)
   - org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:725)

   - org.apache.tapestry.services.impl.DojoAjaxResponseBuilder.render(
   DojoAjaxResponseBuilder.java:625)
   - org.apache.tapestry.form.Form.rewind(Form.java:269)
   - org.apache.tapestry.engine.RequestCycle.rewindForm(RequestCycle.java:453)

   - org.apache.tapestry.form.Form.trigger(Form.java:280)
   - org.apache.tapestry.engine.DirectService.triggerComponent(
   DirectService.java:166)
   - org.apache.tapestry.engine.DirectService.service(DirectService.java:142)

   - $IEngineService_113c3a6ae71.service($IEngineService_113c3a6ae71.java)

   - org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(
   EngineServiceOuterProxy.java:72)
   - org.apache.tapestry.engine.AbstractEngine.service(
   AbstractEngine.java:237)
   - org.apache.tapestry.services.impl.InvokeEngineTerminator.service(
   InvokeEngineTerminator.java:54)
   - $WebRequestServicer_113c3a6ae42.service($WebRequestServicer_113c3a6ae42.java)

   - $WebRequestServicer_113c3a6ae3e.service($WebRequestServicer_113c3a6ae3e.java)

   -
   org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service
   (WebRequestServicerPipelineBridge.java:61)
   - $ServletRequestServicer_113c3a6ae24.service($ServletRequestServicer_113c3a6ae24.java)

   - org.apache.tapestry.request.DecodedRequestInjector.service(
   DecodedRequestInjector.java:55)
   - $ServletRequestServicerFilter_113c3a6ae20.service($ServletRequestServicerFilter_113c3a6ae20.java)

   - $ServletRequestServicer_113c3a6ae26.service($ServletRequestServicer_113c3a6ae26.java)

   - org.apache.tapestry.multipart.MultipartDecoderFilter.service(
   MultipartDecoderFilter.java:52)
   - $ServletRequestServicerFilter_113c3a6ae1e.service($ServletRequestServicerFilter_113c3a6ae1e.java)

   - $ServletRequestServicer_113c3a6ae26.service($ServletRequestServicer_113c3a6ae26.java)



........................

What can I do ?

It seems to me that in previous T4.1.2-SNAPSHOT this didn't appear.

Please help!

Thanks in advance,
kiuma

Re: T4 Help with parameters binding

Posted by Andrea Chiumenti <ki...@gmail.com>.
ok, I'll try to put a non working example on it these days

On 7/14/07, Jesse Kuhnert <jk...@gmail.com> wrote:
>
> Nothing is coming to me off the top of my head.  I'll be happy to take a
> look of course when I'm ready if someone logs it in the Tapestry JIRA.
>
> On 7/14/07, Andrea Chiumenti <ki...@gmail.com> wrote:
> >
> > This can be solved is in jwc definition I put:
> > <parameter name="startRow" required="no"
> > default-value="ognl:startRowProp">
> >         <description>
> >             When you have a scrollable table, this is the index of the
> > first
> > row displayed.
> >         </description>
> > </parameter>
> > <property name="startRowProp" initial-value="ognl:0"/>
> >
> > This behaviour seems to be changed.
> > Doesn't the default-value create a property by itself if I pass an
> > expression like ognl:0 ?
> >
> > Please let me know if the solution is the one I have to adopt by now.
> >
> > again,
> > kiuma
> >
> > On 7/14/07, Andrea Chiumenti <ki...@gmail.com> wrote:
> > >
> > > Hello I'm having a problem with T4.1.2
> > >
> > > I' have a component with
> > > <parameter name="startRow" required="no" default-value="ognl:0">
> > >         <description>
> > >             When you have a scrollable table, this is the index of the
> > > first row displayed.
> > >         </description>
> > > </parameter>
> > >
> > > and its listener:
> > > public void addNewListener(IRequestCycle cycle) {
> > >         callSubmitBeforeListener(cycle, getAddNewAction());
> > >         if (!CommonUtils.nullOrEmpty(getSource())) {
> > >             if (getDisplayRowCount() > 0) {
> > >                 setStartRow(Math.max(0, getSource().size() -
> > > getDisplayRowCount()));
> > >             }
> > >         }
> > >     }
> > >
> > >
> > > When trying to call setStartRow this exception is thrown:
> > >
> > > Binding with value 0 (ExpressionBinding[Home/tableForm 0]) may not be
> > > updated. org.apache.tapestry.BindingException  Binding with value 0
> > > (ExpressionBinding[Home/tableForm 0]) may not be updated.  binding:
> > ExpressionBinding[Home/tableForm
> > > 0]  location:
> > classpath:/org/jfly/web/components/edittable/EditTable.jwc,
> > > line 30, column 69
> > > 25 <description> 26 If it's a sized table (a table that can display
> only
> > a
> > > limited amount of rows a time) this 27 is number of the entire source
> > > displayed. It's needed for scrollbar creation 28 </description>
> > 29</parameter>
> > > 30 <parameter name="startRow" required="no" default-value="ognl:0">
> > 31<description>
> > > 32 When you have a scrollable table, this is the index of the first
> row
> > > displayed. 33 </description> 34 </parameter> 35 <parameter
> > > name="displayRowCount" required="no" default-value="ognl:0">  Stack
> > Trace:
> > >
> > >    -
> > >
> >
> org.apache.tapestry.binding.AbstractBinding.createReadOnlyBindingException
> > >    (AbstractBinding.java:115)
> > >    - org.apache.tapestry.binding.ExpressionBinding.setObject(
> > >    ExpressionBinding.java:196)
> > >    - $EditTable_16.setStartRow($EditTable_16.java)
> > >    - org.jfly.web.components.edittable.EditTable.rewindFormComponent(
> > >    EditTable.java:429)
> > >    - org.apache.tapestry.form.AbstractFormComponent.renderComponent(
> > >    AbstractFormComponent.java:94)
> > >    - org.apache.tapestry.AbstractComponent.render(
> > >    AbstractComponent.java:725)
> > >    - org.apache.tapestry.services.impl.DojoAjaxResponseBuilder.render(
> > >    DojoAjaxResponseBuilder.java:625)
> > >    - org.apache.tapestry.AbstractComponent.renderBody(
> > >    AbstractComponent.java:539)
> > >    - org.apache.tapestry.form.FormSupportImpl.rewind(
> > >    FormSupportImpl.java:615)
> > >    - org.apache.tapestry.form.Form.renderComponent(Form.java:196)
> > >    - org.apache.tapestry.AbstractComponent.render(
> > >    AbstractComponent.java:725)
> > >    - org.apache.tapestry.services.impl.DojoAjaxResponseBuilder.render(
> > >    DojoAjaxResponseBuilder.java:625)
> > >    - org.apache.tapestry.form.Form.rewind(Form.java:269)
> > >    - org.apache.tapestry.engine.RequestCycle.rewindForm(
> > >    RequestCycle.java:453)
> > >    - org.apache.tapestry.form.Form.trigger(Form.java:280)
> > >    - org.apache.tapestry.engine.DirectService.triggerComponent(
> > >    DirectService.java:166)
> > >    - org.apache.tapestry.engine.DirectService.service(
> > >    DirectService.java:142)
> > >    -
> > $IEngineService_113c3a6ae71.service($IEngineService_113c3a6ae71.java)
> > >
> > >    - org.apache.tapestry.services.impl.EngineServiceOuterProxy.service
> (
> > >    EngineServiceOuterProxy.java:72)
> > >    - org.apache.tapestry.engine.AbstractEngine.service(
> > >    AbstractEngine.java:237)
> > >    - org.apache.tapestry.services.impl.InvokeEngineTerminator.service(
> > >    InvokeEngineTerminator.java:54)
> > >    -
> >
> $WebRequestServicer_113c3a6ae42.service($WebRequestServicer_113c3a6ae42.java)
> > >
> > >    -
> >
> $WebRequestServicer_113c3a6ae3e.service($WebRequestServicer_113c3a6ae3e.java)
> > >
> > >    -
> > >
> >
> org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service
> > >    (WebRequestServicerPipelineBridge.java:61)
> > >    -
> >
> $ServletRequestServicer_113c3a6ae24.service($ServletRequestServicer_113c3a6ae24.java)
> > >
> > >    - org.apache.tapestry.request.DecodedRequestInjector.service(
> > >    DecodedRequestInjector.java:55)
> > >    -
> >
> $ServletRequestServicerFilter_113c3a6ae20.service($ServletRequestServicerFilter_113c3a6ae20.java)
> > >
> > >    -
> >
> $ServletRequestServicer_113c3a6ae26.service($ServletRequestServicer_113c3a6ae26.java)
> > >
> > >    - org.apache.tapestry.multipart.MultipartDecoderFilter.service(
> > >    MultipartDecoderFilter.java:52)
> > >    -
> >
> $ServletRequestServicerFilter_113c3a6ae1e.service($ServletRequestServicerFilter_113c3a6ae1e.java)
> > >
> > >    -
> >
> $ServletRequestServicer_113c3a6ae26.service($ServletRequestServicer_113c3a6ae26.java)
> > >
> > >
> > >
> > > ........................
> > >
> > > What can I do ?
> > >
> > > It seems to me that in previous T4.1.2-SNAPSHOT this didn't appear.
> > >
> > > Please help!
> > >
> > > Thanks in advance,
> > > kiuma
> > >
> >
>
>
>
> --
> Jesse Kuhnert
> Tapestry/Dojo team member/developer
>
> Open source based consulting work centered around
> dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
>

Re: T4 Help with parameters binding

Posted by Jesse Kuhnert <jk...@gmail.com>.
Nothing is coming to me off the top of my head.  I'll be happy to take a
look of course when I'm ready if someone logs it in the Tapestry JIRA.

On 7/14/07, Andrea Chiumenti <ki...@gmail.com> wrote:
>
> This can be solved is in jwc definition I put:
> <parameter name="startRow" required="no"
> default-value="ognl:startRowProp">
>         <description>
>             When you have a scrollable table, this is the index of the
> first
> row displayed.
>         </description>
> </parameter>
> <property name="startRowProp" initial-value="ognl:0"/>
>
> This behaviour seems to be changed.
> Doesn't the default-value create a property by itself if I pass an
> expression like ognl:0 ?
>
> Please let me know if the solution is the one I have to adopt by now.
>
> again,
> kiuma
>
> On 7/14/07, Andrea Chiumenti <ki...@gmail.com> wrote:
> >
> > Hello I'm having a problem with T4.1.2
> >
> > I' have a component with
> > <parameter name="startRow" required="no" default-value="ognl:0">
> >         <description>
> >             When you have a scrollable table, this is the index of the
> > first row displayed.
> >         </description>
> > </parameter>
> >
> > and its listener:
> > public void addNewListener(IRequestCycle cycle) {
> >         callSubmitBeforeListener(cycle, getAddNewAction());
> >         if (!CommonUtils.nullOrEmpty(getSource())) {
> >             if (getDisplayRowCount() > 0) {
> >                 setStartRow(Math.max(0, getSource().size() -
> > getDisplayRowCount()));
> >             }
> >         }
> >     }
> >
> >
> > When trying to call setStartRow this exception is thrown:
> >
> > Binding with value 0 (ExpressionBinding[Home/tableForm 0]) may not be
> > updated. org.apache.tapestry.BindingException  Binding with value 0
> > (ExpressionBinding[Home/tableForm 0]) may not be updated.  binding:
> ExpressionBinding[Home/tableForm
> > 0]  location:
> classpath:/org/jfly/web/components/edittable/EditTable.jwc,
> > line 30, column 69
> > 25 <description> 26 If it's a sized table (a table that can display only
> a
> > limited amount of rows a time) this 27 is number of the entire source
> > displayed. It's needed for scrollbar creation 28 </description>
> 29</parameter>
> > 30 <parameter name="startRow" required="no" default-value="ognl:0">
> 31<description>
> > 32 When you have a scrollable table, this is the index of the first row
> > displayed. 33 </description> 34 </parameter> 35 <parameter
> > name="displayRowCount" required="no" default-value="ognl:0">  Stack
> Trace:
> >
> >    -
> >
> org.apache.tapestry.binding.AbstractBinding.createReadOnlyBindingException
> >    (AbstractBinding.java:115)
> >    - org.apache.tapestry.binding.ExpressionBinding.setObject(
> >    ExpressionBinding.java:196)
> >    - $EditTable_16.setStartRow($EditTable_16.java)
> >    - org.jfly.web.components.edittable.EditTable.rewindFormComponent(
> >    EditTable.java:429)
> >    - org.apache.tapestry.form.AbstractFormComponent.renderComponent(
> >    AbstractFormComponent.java:94)
> >    - org.apache.tapestry.AbstractComponent.render(
> >    AbstractComponent.java:725)
> >    - org.apache.tapestry.services.impl.DojoAjaxResponseBuilder.render(
> >    DojoAjaxResponseBuilder.java:625)
> >    - org.apache.tapestry.AbstractComponent.renderBody(
> >    AbstractComponent.java:539)
> >    - org.apache.tapestry.form.FormSupportImpl.rewind(
> >    FormSupportImpl.java:615)
> >    - org.apache.tapestry.form.Form.renderComponent(Form.java:196)
> >    - org.apache.tapestry.AbstractComponent.render(
> >    AbstractComponent.java:725)
> >    - org.apache.tapestry.services.impl.DojoAjaxResponseBuilder.render(
> >    DojoAjaxResponseBuilder.java:625)
> >    - org.apache.tapestry.form.Form.rewind(Form.java:269)
> >    - org.apache.tapestry.engine.RequestCycle.rewindForm(
> >    RequestCycle.java:453)
> >    - org.apache.tapestry.form.Form.trigger(Form.java:280)
> >    - org.apache.tapestry.engine.DirectService.triggerComponent(
> >    DirectService.java:166)
> >    - org.apache.tapestry.engine.DirectService.service(
> >    DirectService.java:142)
> >    -
> $IEngineService_113c3a6ae71.service($IEngineService_113c3a6ae71.java)
> >
> >    - org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(
> >    EngineServiceOuterProxy.java:72)
> >    - org.apache.tapestry.engine.AbstractEngine.service(
> >    AbstractEngine.java:237)
> >    - org.apache.tapestry.services.impl.InvokeEngineTerminator.service(
> >    InvokeEngineTerminator.java:54)
> >    -
> $WebRequestServicer_113c3a6ae42.service($WebRequestServicer_113c3a6ae42.java)
> >
> >    -
> $WebRequestServicer_113c3a6ae3e.service($WebRequestServicer_113c3a6ae3e.java)
> >
> >    -
> >
> org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service
> >    (WebRequestServicerPipelineBridge.java:61)
> >    -
> $ServletRequestServicer_113c3a6ae24.service($ServletRequestServicer_113c3a6ae24.java)
> >
> >    - org.apache.tapestry.request.DecodedRequestInjector.service(
> >    DecodedRequestInjector.java:55)
> >    -
> $ServletRequestServicerFilter_113c3a6ae20.service($ServletRequestServicerFilter_113c3a6ae20.java)
> >
> >    -
> $ServletRequestServicer_113c3a6ae26.service($ServletRequestServicer_113c3a6ae26.java)
> >
> >    - org.apache.tapestry.multipart.MultipartDecoderFilter.service(
> >    MultipartDecoderFilter.java:52)
> >    -
> $ServletRequestServicerFilter_113c3a6ae1e.service($ServletRequestServicerFilter_113c3a6ae1e.java)
> >
> >    -
> $ServletRequestServicer_113c3a6ae26.service($ServletRequestServicer_113c3a6ae26.java)
> >
> >
> >
> > ........................
> >
> > What can I do ?
> >
> > It seems to me that in previous T4.1.2-SNAPSHOT this didn't appear.
> >
> > Please help!
> >
> > Thanks in advance,
> > kiuma
> >
>



-- 
Jesse Kuhnert
Tapestry/Dojo team member/developer

Open source based consulting work centered around
dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com

Re: T4 Help with parameters binding

Posted by Andrea Chiumenti <ki...@gmail.com>.
This can be solved is in jwc definition I put:
<parameter name="startRow" required="no" default-value="ognl:startRowProp">
        <description>
            When you have a scrollable table, this is the index of the first
row displayed.
        </description>
</parameter>
<property name="startRowProp" initial-value="ognl:0"/>

This behaviour seems to be changed.
Doesn't the default-value create a property by itself if I pass an
expression like ognl:0 ?

Please let me know if the solution is the one I have to adopt by now.

again,
kiuma

On 7/14/07, Andrea Chiumenti <ki...@gmail.com> wrote:
>
> Hello I'm having a problem with T4.1.2
>
> I' have a component with
> <parameter name="startRow" required="no" default-value="ognl:0">
>         <description>
>             When you have a scrollable table, this is the index of the
> first row displayed.
>         </description>
> </parameter>
>
> and its listener:
> public void addNewListener(IRequestCycle cycle) {
>         callSubmitBeforeListener(cycle, getAddNewAction());
>         if (!CommonUtils.nullOrEmpty(getSource())) {
>             if (getDisplayRowCount() > 0) {
>                 setStartRow(Math.max(0, getSource().size() -
> getDisplayRowCount()));
>             }
>         }
>     }
>
>
> When trying to call setStartRow this exception is thrown:
>
> Binding with value 0 (ExpressionBinding[Home/tableForm 0]) may not be
> updated. org.apache.tapestry.BindingException  Binding with value 0
> (ExpressionBinding[Home/tableForm 0]) may not be updated.  binding: ExpressionBinding[Home/tableForm
> 0]  location: classpath:/org/jfly/web/components/edittable/EditTable.jwc,
> line 30, column 69
> 25 <description> 26 If it's a sized table (a table that can display only a
> limited amount of rows a time) this 27 is number of the entire source
> displayed. It's needed for scrollbar creation 28 </description> 29</parameter>
> 30 <parameter name="startRow" required="no" default-value="ognl:0"> 31<description>
> 32 When you have a scrollable table, this is the index of the first row
> displayed. 33 </description> 34 </parameter> 35 <parameter
> name="displayRowCount" required="no" default-value="ognl:0">  Stack Trace:
>
>    -
>    org.apache.tapestry.binding.AbstractBinding.createReadOnlyBindingException
>    (AbstractBinding.java:115)
>    - org.apache.tapestry.binding.ExpressionBinding.setObject(
>    ExpressionBinding.java:196)
>    - $EditTable_16.setStartRow($EditTable_16.java)
>    - org.jfly.web.components.edittable.EditTable.rewindFormComponent(
>    EditTable.java:429)
>    - org.apache.tapestry.form.AbstractFormComponent.renderComponent(
>    AbstractFormComponent.java:94)
>    - org.apache.tapestry.AbstractComponent.render(
>    AbstractComponent.java:725)
>    - org.apache.tapestry.services.impl.DojoAjaxResponseBuilder.render(
>    DojoAjaxResponseBuilder.java:625)
>    - org.apache.tapestry.AbstractComponent.renderBody(
>    AbstractComponent.java:539)
>    - org.apache.tapestry.form.FormSupportImpl.rewind(
>    FormSupportImpl.java:615)
>    - org.apache.tapestry.form.Form.renderComponent(Form.java:196)
>    - org.apache.tapestry.AbstractComponent.render(
>    AbstractComponent.java:725)
>    - org.apache.tapestry.services.impl.DojoAjaxResponseBuilder.render(
>    DojoAjaxResponseBuilder.java:625)
>    - org.apache.tapestry.form.Form.rewind(Form.java:269)
>    - org.apache.tapestry.engine.RequestCycle.rewindForm(
>    RequestCycle.java:453)
>    - org.apache.tapestry.form.Form.trigger(Form.java:280)
>    - org.apache.tapestry.engine.DirectService.triggerComponent(
>    DirectService.java:166)
>    - org.apache.tapestry.engine.DirectService.service(
>    DirectService.java:142)
>    - $IEngineService_113c3a6ae71.service($IEngineService_113c3a6ae71.java)
>
>    - org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(
>    EngineServiceOuterProxy.java:72)
>    - org.apache.tapestry.engine.AbstractEngine.service(
>    AbstractEngine.java:237)
>    - org.apache.tapestry.services.impl.InvokeEngineTerminator.service(
>    InvokeEngineTerminator.java:54)
>    - $WebRequestServicer_113c3a6ae42.service($WebRequestServicer_113c3a6ae42.java)
>
>    - $WebRequestServicer_113c3a6ae3e.service($WebRequestServicer_113c3a6ae3e.java)
>
>    -
>    org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service
>    (WebRequestServicerPipelineBridge.java:61)
>    - $ServletRequestServicer_113c3a6ae24.service($ServletRequestServicer_113c3a6ae24.java)
>
>    - org.apache.tapestry.request.DecodedRequestInjector.service(
>    DecodedRequestInjector.java:55)
>    - $ServletRequestServicerFilter_113c3a6ae20.service($ServletRequestServicerFilter_113c3a6ae20.java)
>
>    - $ServletRequestServicer_113c3a6ae26.service($ServletRequestServicer_113c3a6ae26.java)
>
>    - org.apache.tapestry.multipart.MultipartDecoderFilter.service(
>    MultipartDecoderFilter.java:52)
>    - $ServletRequestServicerFilter_113c3a6ae1e.service($ServletRequestServicerFilter_113c3a6ae1e.java)
>
>    - $ServletRequestServicer_113c3a6ae26.service($ServletRequestServicer_113c3a6ae26.java)
>
>
>
> ........................
>
> What can I do ?
>
> It seems to me that in previous T4.1.2-SNAPSHOT this didn't appear.
>
> Please help!
>
> Thanks in advance,
> kiuma
>