Problem with placeholder column in a  grid, when inside a form
--------------------------------------------------------------

                 Key: TAPESTRY-2451
                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2451
             Project: Tapestry
          Issue Type: Bug
    Affects Versions: 5.0.12
            Reporter: José Paumard


I put a grid in a form, and added a column in that grid, to hold special 
options about the item on the given row.

My TML looks like that : 

<t:form ... >
   <t:grid add="action" ... >
      <t:parameter name="action">
            ...
      </t:parameter>
   </t:grid>
   <t:submit ... />
</t:form>

It renders flawlessly, but when I submit it, before the event is fired in my 
class, I've got the following exception. 
Removing the placeholder column solves the problem, and adding the content of 
the placeholder column in an another, existing column, with a <parameter ...> 
element nested in the grid element does not fires the exception. 

location
   classpath:org/apache/tapestry5/corelib/components/GridColumns.tml, line 4, 
column 33
   1    <thead xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd"; 
xml:space="default">
   2    <tr>
   3    <th t:type="Loop" source="columnNames" value="columnName" 
volatile="true" class="prop:headerClass"
   4    index="columnIndex">
   5    <t:delegate to="blockForColumn"/>
   6    <t:block id="standardHeader">
   7    <a t:id="sort">${columnModel.label}</a>
   8    <t:if test="columnModel.sortable">
   9    <a t:id="sort2">



# java.util.NoSuchElementException

Stack trace

       * java.util.AbstractList$Itr.next(AbstractList.java:427)
       * 
org.apache.tapestry5.corelib.components.Loop.advanceVolatile(Loop.java:316)
       * org.apache.tapestry5.corelib.components.Loop.access$200(Loop.java:38)
       * org.apache.tapestry5.corelib.components.Loop$3.execute(Loop.java:89)
       * org.apache.tapestry5.corelib.components.Loop$3.execute(Loop.java:93)
       * 
org.apache.tapestry5.corelib.components.Form.executeStoredActions(Form.java:396)
       * 
org.apache.tapestry5.corelib.components.Form._$advised$onAction(Form.java:315)
       * 
org.apache.tapestry5.corelib.components.Form$onAction$invocation_11a5e3dd926.invokeAdvisedMethod(Form$onAction$invocation_11a5e3dd926.java)
       * 
org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:71)
       * 
org.apache.tapestry5.ioc.internal.services.LoggingAdvice.advise(LoggingAdvice.java:37)
       * 
org.apache.tapestry5.internal.transform.LogWorker$1.advise(LogWorker.java:54)
       * 
org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:80)
       * org.apache.tapestry5.corelib.components.Form.onAction(Form.java)
       * 
org.apache.tapestry5.corelib.components.Form.dispatchComponentEvent(Form.java)
       * 
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:872)
       * 
org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1025)
       * 
org.apache.tapestry5.internal.services.ComponentEventRequestHandlerImpl.handle(ComponentEventRequestHandlerImpl.java:67)
       * 
org.apache.tapestry5.internal.services.ImmediateActionRenderResponseFilter.handle(ImmediateActionRenderResponseFilter.java:42)
       * 
org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
       * 
org.apache.tapestry5.services.TapestryModule$37.handle(TapestryModule.java:1987)
       * 
org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:135)
       * 
org.apache.tapestry5.services.TapestryModule$12.service(TapestryModule.java:938)
       * org.limc.webapp.services.AppModule$3.service(AppModule.java:148)
       * org.limc.webapp.services.AppModule$1.service(AppModule.java:45)
       * 
org.apache.tapestry5.internal.services.LocalizationFilter.service(LocalizationFilter.java:42)
       * 
org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:586)
       * 
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
       * 
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:79)
       * 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:93)
       * 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:84)
       * 
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:75)
       * 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
       * 
org.apache.tapestry5.services.TapestryModule$11.service(TapestryModule.java:918)
       * 
org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
       * org.limc.webapp.services.AppModule$2.service(AppModule.java:58)
       * 
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
       * org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:168)
       * 
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
       * 
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
       * 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
       * org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
       * 
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
       * org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
       * org.mortbay.http.HttpServer.service(HttpServer.java:909)
       * org.mortbay.http.HttpConnection.service(HttpConnection.java:820)
       * org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986)
       * org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)
       * 
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245)
       * org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
       * org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534) 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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

Reply via email to