[ 
https://issues.apache.org/jira/browse/WICKET-5722?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14162785#comment-14162785
 ] 

Palancher aurélien edited comment on WICKET-5722 at 10/7/14 11:43 PM:
----------------------------------------------------------------------

ok, i may have a solution. (sorry for my english)

I noticed that the </wicket:extend> didn't close the html tag, while the 
</wicket:child> does, and while the last one occur after the first one.

In DequeueContext.class, line 195 (7.0.0-M3) : ComponentTag open = 
tag.isClose() ? tag.getOpenTag() : tag;
for the </wicket:child> tag , getOpenTag() returns null.

So I have searched where the opentag is lost and i have made a modification in 
MergedMarkup.class, line 318 :
WicketTag childCloseTag = (WicketTag)childTag.mutable();
childCloseTag.getXmlTag().setType(TagType.CLOSE);
childCloseTag.setMarkupClass(markupClass);
childCloseTag.setOpenTag(childTag);    <- the line added
addMarkupElement(childCloseTag);

In my very simple app, this works : i have the wicket:id in the html tag, and a 
component in the subpage, added with a queue.

I don't know, if there is some impacts in the framework ?

NB : this works without 5572 : the child tag is ignored during dequeueing



was (Author: darkvadaure):
ok, i may have a solution. (sorry for my english)

I noticed that the </wicket:extend> didn't close the html tag, while the 
</wicket:child> does, and while the last one occur after the first one.

In DequeueContext.class, line 195 (7.0.0-M3) : ComponentTag open = 
tag.isClose() ? tag.getOpenTag() : tag;
for the </wicket:child> tag , getOpenTag() returns null.

So I have searched where the opentag is lost and i have made a modification in 
MergedMarkup.class, line 318 :
WicketTag childCloseTag = (WicketTag)childTag.mutable();
childCloseTag.getXmlTag().setType(TagType.CLOSE);
childCloseTag.setMarkupClass(markupClass);
childCloseTag.setOpenTag(childTag);    <- the line added
addMarkupElement(childCloseTag);

In my very simple app, this works : i have the wicket:id in the html tag, and a 
component in the subpage, added with a queue.

I don't know, if there is some impacts in the framework ?


> Queueing in merged markup
> -------------------------
>
>                 Key: WICKET-5722
>                 URL: https://issues.apache.org/jira/browse/WICKET-5722
>             Project: Wicket
>          Issue Type: Test
>          Components: wicket
>    Affects Versions: 7.0.0-M3
>            Reporter: Palancher aurélien
>            Priority: Minor
>         Attachments: HelloWorldQS.zip
>
>
> When a simple component is queued in a page class that extend a web page, an 
> exception is raised : Detach called on component with id '0' while it had a 
> non-empty queue: ComponentQueue{queueSize=1, queue=[[Component id = version], 
> null, null, null, null, null, null, null]}
> Example : 
> public class HomePage extends BasePage {
>       public HomePage(final PageParameters parameters) 
>       {
>               super(parameters);
>               //add(new Label("version", 
> getApplication().getFrameworkSettings().getVersion()));
>               queue(new Label("version", 
> getApplication().getFrameworkSettings().getVersion()));
>          }
> }
> "add" -> ok
> "queue" -> not ok



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to