Hello,
 I am having a extremely weird problem with the sort on contrib table. It 
worked perfectly fine (as far as I can tell) until I upgraded to Tapestry 4.0.2 
from 4.0.1. When I click on sort I get an exception:
 Either the tableModel parameter or both source and columns parameters must be 
specified by component pages/jobFunctionList/table.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)
# java.lang.reflect.Method.invoke(Method.java:585)
# 
org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeTargetMethod(ListenerMethodInvokerImpl.java:214)
# 
org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod(ListenerMethodInvokerImpl.java:155)
# 
org.apache.tapestry.listener.ListenerMethodInvokerImpl.searchAndInvoke(ListenerMethodInvokerImpl.java:124)
# 
org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod(ListenerMethodInvokerImpl.java:77)
# 
org.apache.tapestry.listener.SyntheticListener.actionTriggered(SyntheticListener.java:51)
 
 ... (more)

  The snippet from the page specification:
  <component id="table" type="Contrib:Table">
        <binding name="source" value="jobFunctions"/>
        <binding name="columns" value="literal:!selected: 
:selected,name:Name:name,!description:Description:description"/>
        <binding name="rowsClass" value="beans.evenOdd.next"/>
        <binding name="columnsClass" value="literal:title"/>
    </component>

 Where is really gets weird is during debugging. I step from TableView.java 
line 249 into getSource() (abstract method) at which my debugger drops me into 
getBinding() of AbstractComponent.java line 311. It does find a binding for 
"source" which it returns. However, TableView gets a null which results in the 
exception above. 
 Any suggestions on troubleshooting? Are there any techniques for debugging 
that 'magical' layer - the dynamically generated object which calls 
getBinding(String name) on AbstractComponent as a result of a call on 
getSource(). I understand that getSource() gets converted to a string 
('source') which is passed in as the name to lookup in the binding object of 
AbstractComponent. AbstractComponent finds a 'source' in its 'binding' object 
but that layer returns null instead.

Thanks!
 -Ryan

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to