From the description of the tag http://cwiki.apache.org/WICKET/wickets-xhtml-tags.html I think the 1.4.4 behavior would be correct, and if the example Vadim provided used to work it would be due to a bug. The attribute on the tag makes it clear it is a 'child' otherwise it would have been named 'randomWicketId' :)

The tag is really a case of (limited) conditional markup which I think we want the framework to stay away from. If there was a vote to expand the behavior, then perhaps it should also move out of the core to wicket extensions (if such a thing is possible).

Igor Vaynberg wrote:
hrm, already two people stumbled into this. i was of the mind that the
way it works now is the correct behavior, but i am starting to think
maybe i was incorrect...

-igor

On Sat, Dec 12, 2009 at 12:39 PM, Vadim Tesis <vad...@hotmail.com> wrote:
all,



i just migrated to 1.4.4 from 1.4.3 and looks like enclosure functionality 
changed.  if enclosure doesn't have child element in it, it throws exception.

for example following code works in 1.4.3



   ...

  <wicket:enclosure child="link">
      <div>...</div>
  </wicket:enclosure>
  <a href="#" wicket:id="link">...</a>

   ...



but in 1.4.4 it throws exception (see below).

is 1.4.4 functionality correct or 1.4.3?



Thanks,

Vadim



[#|2009-12-12T12:54:04.546-0500|INFO|sun-appserver2.1|javax.enterprise.system.stream.out|_ThreadID=20;_ThreadName=httpSSLWorkerThread-80-0;|12:54:04,546
 ERROR org.apache.wicket.RequestCycle - Exception in rendering component: 
[MarkupContainer [Component id = enclosure-205]]
org.apache.wicket.WicketRuntimeException: Exception in rendering component: 
[MarkupContainer [Component id = enclosure-205]]
 at org.apache.wicket.Component.renderComponent(Component.java:2656)
 at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1512)
 at org.apache.wicket.Component.render(Component.java:2448)
 at org.apache.wicket.MarkupContainer.autoAdd(MarkupContainer.java:229)
 at 
org.apache.wicket.markup.resolver.EnclosureResolver.resolve(EnclosureResolver.java:61)
 at 
org.apache.wicket.markup.resolver.ComponentResolvers.resolve(ComponentResolvers.java:81)
 at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1418)
 at 
org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1577)
 at 
org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1501)
 at org.apache.wicket.Component.renderComponent(Component.java:2617)
 at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1512)
 at org.apache.wicket.Component.render(Component.java:2448)
 at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1414)
 at 
org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1577)
 at 
org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1501)
 at org.apache.wicket.markup.html.form.Form.onComponentTagBody(Form.java:1936)
 at org.apache.wicket.Component.renderComponent(Component.java:2617)
 at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1512)
 at org.apache.wicket.markup.html.form.Form.onRender(Form.java:2007)
 at org.apache.wicket.Component.render(Component.java:2448)
 at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1414)
 at 
org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1577)
 at 
org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1501)
 at org.apache.wicket.Component.renderComponent(Component.java:2617)
 at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1512)
 at org.apache.wicket.Component.render(Component.java:2448)
 at org.apache.wicket.MarkupContainer.autoAdd(MarkupContainer.java:229)
 at 
org.apache.wicket.markup.resolver.MarkupInheritanceResolver.resolve(MarkupInheritanceResolver.java:66)
 at 
org.apache.wicket.markup.resolver.ComponentResolvers.resolve(ComponentResolvers.java:81)
 at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1418)
 at 
org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1577)
 at 
org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1501)
 at org.apache.wicket.Component.renderComponent(Component.java:2617)
 at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1512)
 at org.apache.wicket.Component.render(Component.java:2448)
 at org.apache.wicket.MarkupContainer.autoAdd(MarkupContainer.java:229)
 at 
org.apache.wicket.markup.resolver.MarkupInheritanceResolver.resolve(MarkupInheritanceResolver.java:73)
 at 
org.apache.wicket.markup.resolver.ComponentResolvers.resolve(ComponentResolvers.java:81)
 at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1418)
 at 
org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1577)
 at 
org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1501)
 at org.apache.wicket.Component.renderComponent(Component.java:2617)
 at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1512)
 at org.apache.wicket.Component.render(Component.java:2448)
 at org.apache.wicket.MarkupContainer.autoAdd(MarkupContainer.java:229)
 at 
org.apache.wicket.markup.resolver.MarkupInheritanceResolver.resolve(MarkupInheritanceResolver.java:66)
 at 
org.apache.wicket.markup.resolver.ComponentResolvers.resolve(ComponentResolvers.java:81)
 at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1418)
 at 
org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1577)
 at 
org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1501)
 at org.apache.wicket.Component.renderComponent(Component.java:2617)
 at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1512)
 at org.apache.wicket.Component.render(Component.java:2448)
 at org.apache.wicket.MarkupContainer.autoAdd(MarkupContainer.java:229)
 at 
org.apache.wicket.markup.resolver.MarkupInheritanceResolver.resolve(MarkupInheritanceResolver.java:73)
 at 
org.apache.wicket.markup.resolver.ComponentResolvers.resolve(ComponentResolvers.java:81)
 at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1418)
 at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1528)
 at org.apache.wicket.Page.onRender(Page.java:1545)
 at org.apache.wicket.Component.render(Component.java:2448)
 at org.apache.wicket.Page.renderPage(Page.java:914)
 at 
org.apache.wicket.protocol.http.WebRequestCycle.redirectTo(WebRequestCycle.java:167)
 at 
org.apache.wicket.request.target.coding.HybridUrlCodingStrategy$HybridBookmarkablePageRequestTarget.respond(HybridUrlCodingStrategy.java:904)
 at 
org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:105)
 at 
org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1258)
 at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
 at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
 at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
 at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:479)
 at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:138)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
 at 
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
 at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:333)
 at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
 at 
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
 at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
 at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
 at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
 at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:313)
 at 
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
 at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
 at 
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
 at 
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
 at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
 at 
com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
 at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
 at 
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
 at 
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
 at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
 at 
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
 at 
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
 at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:288)
 at |#]

[#|2009-12-12T12:54:04.546-0500|INFO|sun-appserver2.1|javax.enterprise.system.stream.out|_ThreadID=20;_ThreadName=httpSSLWorkerThread-80-0;|com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:647)
 at 
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:579)
 at 
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:831)
 at 
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
 at 
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
 at 
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
 at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
 at 
com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
Caused by: java.lang.NullPointerException
 at 
org.apache.wicket.markup.html.internal.DirectChildTagIterator.findNext(DirectChildTagIterator.java:109)
 at 
org.apache.wicket.markup.html.internal.DirectChildTagIterator.next(DirectChildTagIterator.java:80)
 at 
org.apache.wicket.markup.html.internal.Enclosure.ensureAllChildrenPresent(Enclosure.java:236)
 at 
org.apache.wicket.markup.html.internal.Enclosure.onComponentTagBody(Enclosure.java:169)
 at org.apache.wicket.Component.renderComponent(Component.java:2617)
 ... 104 more


_________________________________________________________________
Hotmail: Trusted email with powerful SPAM protection.
http://clk.atdmt.com/GBL/go/177141665/direct/01/

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



--
Jason Lea


Reply via email to