You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Edward Scanzano <es...@yahoo.com> on 2005/11/22 18:13:29 UTC

Problems with contrib:Table ... help

Hi All,

I have a situtation where I create a table component
as follows:

<table jwcid="groupSearchTable@lrn:Table" 
       	 source="ognl:searchResults" 
        columns="literal:!select, id,
name:Name:getName(),description:Description:getDescription()"
        rowsClass="ognl:beans.evenOdd.next"
        pageSize="20"
        objectIds="ognl:objectIds"	
checkboxLabels="literal:editButtonLabel,deleteButtonLabel,copyButtonLabel">
</table>

I have created a custom Table component that has a few
additional parameters. The table displays correctly,
however, when I go to click on a sort header, I get
this exception.

Either the tableModel parameter or both source and
columns parameters must be specified by component
adUserGroupsManagement/groupSearchTable.tableView


org.apache.tapestry.contrib.table.components.TableView.getTableModel(TableView.java:220)

org.apache.tapestry.contrib.table.components.inserted.SimpleTableColumnComponent.columnSelected(SimpleTableColumnComponent.java:149)

sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method) 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)


*************************************************

I have set tableSessionStateManager =
org.apache.tapestry.contrib.table.model.common.FullTableSessionStateManager()

and I still get the above error. What I think is
happening is that once the page is rendered, Tapestry
puts the page in the pool and nullifies all of my
property variables. So when I click on the sort the
page comes out of the pool and it attempts to use the
now null source and columns parameters. Why is this
happening and how do I fix it?

Thanks
Ed





---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org


Re: Problems with contrib:Table

Posted by Edward Scanzano <es...@yahoo.com>.
I am doing option number 2 already, however, it is not
saving the SimpleTableModel generated from the source
attribute (List) according to the persist="client"
setting. Therefore when the page renders and then I
click on the sort header it blows up since source is
now null and no table model can be retrieved from the
store. I think there is a bug here.

Thanks
E

--- Mind Bridge <mi...@yahoo.com> wrote:

> Hi,
> 
> The Table component does not store the data its
> passed by default. You 
> have to do either of the following:
> - store the data yourself (e.g. by storing it in a
> persistent property)
> - force the Table component to store the data (e.g.
> by providing a 
> SessionStateManager)
> - obtain the data in each request (e.g. by
> performing a database query 
> upon request. This can be very efficient -- see
> IBasicTableModel for 
> example)
> 
> Which strategy is best depends greatly on your
> specific situation. The 
> first option is the simplest, however.
> 
> Edward Scanzano wrote:
> > More information:
> >
> > After going through the TableView code with a
> debugger
> > I have verified that in the circumstance where a
> model
> > is not supplied and a source and column list is
> > supplied, the default generated table model is not
> > saved through the saveSessionState method. The
> > FullTableSessionStateManager class is being used
> in
> > the tableSessionStateManager binding. Is this a
> bug?
> > How can I fix this?
> >
> > Thanks
> > Ed
> >
> > --- Edward Scanzano <es...@yahoo.com> wrote:
> >
> >   
> >> Hi All,
> >>
> >> I have a situtation where I create a table
> component
> >> as follows:
> >>
> >> <table jwcid="groupSearchTable@lrn:Table" 
> >>        	 source="ognl:searchResults" 
> >>         columns="literal:!select, id,
> >>
> >>     
> >
>
name:Name:getName(),description:Description:getDescription()"
> >   
> >>         rowsClass="ognl:beans.evenOdd.next"
> >>         pageSize="20"
> >>         objectIds="ognl:objectIds"	
> >>
> >>     
> >
>
checkboxLabels="literal:editButtonLabel,deleteButtonLabel,copyButtonLabel">
> >   
> >> </table>
> >>
> >> I have created a custom Table component that has
> a
> >> few
> >> additional parameters. The table displays
> correctly,
> >> however, when I go to click on a sort header, I
> get
> >> this exception.
> >>
> >> Either the tableModel parameter or both source
> and
> >> columns parameters must be specified by component
> >> adUserGroupsManagement/groupSearchTable.tableView
> >>
> >>
> >>
> >>     
> >
>
org.apache.tapestry.contrib.table.components.TableView.getTableModel(TableView.java:220)
> >   
> >>     
> >
>
org.apache.tapestry.contrib.table.components.inserted.SimpleTableColumnComponent.columnSelected(SimpleTableColumnComponent.java:149)
> >   
> >>
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> >> Method) 
> >>
> >>     
> >
>
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >   
> >>     
> >
>
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >   
> >> *************************************************
> >>
> >> I have set tableSessionStateManager =
> >>
> >>     
> >
>
org.apache.tapestry.contrib.table.model.common.FullTableSessionStateManager()
> >   
> >> and I still get the above error. What I think is
> >> happening is that once the page is rendered,
> >> Tapestry
> >> puts the page in the pool and nullifies all of my
> >> property variables. So when I click on the sort
> the
> >> page comes out of the pool and it attempts to use
> >> the
> >> now null source and columns parameters. Why is
> this
> >> happening and how do I fix it?
> >>
> >> Thanks
> >> Ed
> >>
> >>
> >>
> >>
> >>
> >>
> >>     
> >
>
---------------------------------------------------------------------
> >   
> >> To unsubscribe, e-mail:
> >> tapestry-user-unsubscribe@jakarta.apache.org
> >> For additional commands, e-mail:
> >> tapestry-user-help@jakarta.apache.org
> >>
> >>
> >>     
> >
> >
> >
> >
> >
>
---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> tapestry-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail:
> tapestry-user-help@jakarta.apache.org
> >
> >
> >   
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail:
> tapestry-user-help@jakarta.apache.org
> 
> 




---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org


Re: Problems with contrib:Table

Posted by Mind Bridge <mi...@yahoo.com>.
Hi,

The Table component does not store the data its passed by default. You 
have to do either of the following:
- store the data yourself (e.g. by storing it in a persistent property)
- force the Table component to store the data (e.g. by providing a 
SessionStateManager)
- obtain the data in each request (e.g. by performing a database query 
upon request. This can be very efficient -- see IBasicTableModel for 
example)

Which strategy is best depends greatly on your specific situation. The 
first option is the simplest, however.

Edward Scanzano wrote:
> More information:
>
> After going through the TableView code with a debugger
> I have verified that in the circumstance where a model
> is not supplied and a source and column list is
> supplied, the default generated table model is not
> saved through the saveSessionState method. The
> FullTableSessionStateManager class is being used in
> the tableSessionStateManager binding. Is this a bug?
> How can I fix this?
>
> Thanks
> Ed
>
> --- Edward Scanzano <es...@yahoo.com> wrote:
>
>   
>> Hi All,
>>
>> I have a situtation where I create a table component
>> as follows:
>>
>> <table jwcid="groupSearchTable@lrn:Table" 
>>        	 source="ognl:searchResults" 
>>         columns="literal:!select, id,
>>
>>     
> name:Name:getName(),description:Description:getDescription()"
>   
>>         rowsClass="ognl:beans.evenOdd.next"
>>         pageSize="20"
>>         objectIds="ognl:objectIds"	
>>
>>     
> checkboxLabels="literal:editButtonLabel,deleteButtonLabel,copyButtonLabel">
>   
>> </table>
>>
>> I have created a custom Table component that has a
>> few
>> additional parameters. The table displays correctly,
>> however, when I go to click on a sort header, I get
>> this exception.
>>
>> Either the tableModel parameter or both source and
>> columns parameters must be specified by component
>> adUserGroupsManagement/groupSearchTable.tableView
>>
>>
>>
>>     
> org.apache.tapestry.contrib.table.components.TableView.getTableModel(TableView.java:220)
>   
>>     
> org.apache.tapestry.contrib.table.components.inserted.SimpleTableColumnComponent.columnSelected(SimpleTableColumnComponent.java:149)
>   
>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>> Method) 
>>
>>     
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>   
>>     
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>   
>> *************************************************
>>
>> I have set tableSessionStateManager =
>>
>>     
> org.apache.tapestry.contrib.table.model.common.FullTableSessionStateManager()
>   
>> and I still get the above error. What I think is
>> happening is that once the page is rendered,
>> Tapestry
>> puts the page in the pool and nullifies all of my
>> property variables. So when I click on the sort the
>> page comes out of the pool and it attempts to use
>> the
>> now null source and columns parameters. Why is this
>> happening and how do I fix it?
>>
>> Thanks
>> Ed
>>
>>
>>
>>
>>
>>
>>     
> ---------------------------------------------------------------------
>   
>> To unsubscribe, e-mail:
>> tapestry-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail:
>> tapestry-user-help@jakarta.apache.org
>>
>>
>>     
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
>
>
>   

---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org


Re: Problems with contrib:Table

Posted by Edward Scanzano <es...@yahoo.com>.
More information:

After going through the TableView code with a debugger
I have verified that in the circumstance where a model
is not supplied and a source and column list is
supplied, the default generated table model is not
saved through the saveSessionState method. The
FullTableSessionStateManager class is being used in
the tableSessionStateManager binding. Is this a bug?
How can I fix this?

Thanks
Ed

--- Edward Scanzano <es...@yahoo.com> wrote:

> Hi All,
> 
> I have a situtation where I create a table component
> as follows:
> 
> <table jwcid="groupSearchTable@lrn:Table" 
>        	 source="ognl:searchResults" 
>         columns="literal:!select, id,
>
name:Name:getName(),description:Description:getDescription()"
>         rowsClass="ognl:beans.evenOdd.next"
>         pageSize="20"
>         objectIds="ognl:objectIds"	
>
checkboxLabels="literal:editButtonLabel,deleteButtonLabel,copyButtonLabel">
> </table>
> 
> I have created a custom Table component that has a
> few
> additional parameters. The table displays correctly,
> however, when I go to click on a sort header, I get
> this exception.
> 
> Either the tableModel parameter or both source and
> columns parameters must be specified by component
> adUserGroupsManagement/groupSearchTable.tableView
> 
> 
>
org.apache.tapestry.contrib.table.components.TableView.getTableModel(TableView.java:220)
> 
>
org.apache.tapestry.contrib.table.components.inserted.SimpleTableColumnComponent.columnSelected(SimpleTableColumnComponent.java:149)
> 
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method) 
>
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 
>
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 
> 
> *************************************************
> 
> I have set tableSessionStateManager =
>
org.apache.tapestry.contrib.table.model.common.FullTableSessionStateManager()
> 
> and I still get the above error. What I think is
> happening is that once the page is rendered,
> Tapestry
> puts the page in the pool and nullifies all of my
> property variables. So when I click on the sort the
> page comes out of the pool and it attempts to use
> the
> now null source and columns parameters. Why is this
> happening and how do I fix it?
> 
> Thanks
> Ed
> 
> 
> 
> 
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail:
> tapestry-user-help@jakarta.apache.org
> 
> 




---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org