[ 
https://issues.apache.org/jira/browse/WICKET-1560?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gerolf Seitz updated WICKET-1560:
---------------------------------

    Affects Version/s: 1.4-M1

> MarkupFragmentFinder fails on transparent resolvers within Repeaters
> --------------------------------------------------------------------
>
>                 Key: WICKET-1560
>                 URL: https://issues.apache.org/jira/browse/WICKET-1560
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.3.3, 1.4-M1
>         Environment: Any
>            Reporter: Jan Kriesten
>            Assignee: Gerolf Seitz
>            Priority: Critical
>             Fix For: 1.3.4, 1.4-M2
>
>
> I extended the AjaxDataTable to be able to add Rows to certain states of the 
> rows. However, MarkupFragmentFinder fails to resolve the code under this 
> condition since it compares with the wrong components in this case:
> Markup:
> <wicket:container wicket:id="rows">
>   <tr wicket:id="row"><td wicket:id="cells"><span 
> wicket:id="cell">[cell]</span></td></tr>
>   <tr wicket:id="action-row" class="actionRow"></tr>
> </wicket:container>
> 'row' is the transparent resolver in this case to maintain the hierarchy 
> needed by the DataTable. MarkupFragmentFinder fails in the case of adding a 
> cell to an AjaxRequestTarget. 
> Fix:
> Everything works as expected, when MarkupFragmentFinder checks for the parent 
> being an AbstractRepeater and in the case compares the parent.id with the 
> supplied id (code provided by Gerolf):
> if (elem instanceof ComponentTag)
> {
>   ComponentTag tag = (ComponentTag)elem;
>   String id = tag.getId();
>   if ((id != null) && id.equals(component.getId()))
>   {
>     // Ok, found it
>     return markupStream;
>   }
>   else   
>   {   
>     Component parent = component.getParent();   
>     if (parent instanceof AbstractRepeater && id != null && 
> id.equals(parent.getId()))   
>     {   
>       return markupStream;   
>     }   
>   }
> }

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

Reply via email to