Re: AJAX & IllegalStateException: Components can no longer be added
Hi Sven, Hi, actually it is even more strict: Once the ART has started generating the response - including preparation of components - you can now longer add other components. This hasn't changed from 7.x to 8.x We were discussing on lifting this restriction, but this would come with some difficulties: what if a component in beforeRender() adds one of its ancestors to be updated? Thanks for the clarification! Cheers, Tobias Have fun Sven Am 25.05.2018 um 10:44 schrieb Tobias Gierke: Hi, Can someone please explain to me what's causing this exception (see end of this mail) when trying to add a component to an ART ? In http://apache-wicket.1842946.n4.nabble.com/Components-can-no-longer-be-added-td4662838.html Sven Meier said once rendering of components via Ajax has started, you cannot update components. but as can be seen from the stacktrace I'm still in the beforeRender() phase ... or is anything inside the beforeRender() code path already considered to be part of the rendering phase ? Thanks, Tobias java.lang.IllegalStateException: Components can no longer be added at org.apache.wicket.page.PartialPageUpdate.assertNotFrozen(PartialPageUpdate.java:858) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.page.PartialPageUpdate.assertComponentsNotFrozen(PartialPageUpdate.java:851) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.page.PartialPageUpdate.add(PartialPageUpdate.java:448) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.ajax.AjaxRequestHandler.add(AjaxRequestHandler.java:263) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.ajax.AjaxRequestHandler.add(AjaxRequestHandler.java:239) ~[wicket-core-8.0.0.jar:8.0.0] at com.vodecc.voipmng.boundary.wicket.xdrsearch.XDRListPanel$1.lambda$0(XDRListPanel.java:73) ~[classes/:?] at com.vodecc.voipmng.boundary.wicket.behaviors.AjaxTooltipManager.doOnAjaxRequest(AjaxTooltipManager.java:411) ~[classes/:?] at com.vodecc.voipmng.boundary.wicket.xdrsearch.XDRListPanel$1.queryFinished(XDRListPanel.java:73) ~[classes/:?] at com.vodecc.voipmng.boundary.wicket.streamsearch.AbstractSearchResultsDataProvider.invokeCallbacks(AbstractSearchResultsDataProvider.java:241) [classes/:?] at com.vodecc.voipmng.boundary.wicket.streamsearch.AbstractSearchResultsDataProvider.getSearchResults(AbstractSearchResultsDataProvider.java:230) [classes/:?] at com.vodecc.voipmng.boundary.wicket.streamsearch.AbstractSearchResultsDataProvider.getSearchResults(AbstractSearchResultsDataProvider.java:252) [classes/:?] at com.vodecc.voipmng.boundary.wicket.xdrsearch.XDRDataTable.onConfigure(XDRDataTable.java:436) [classes/:?] at org.apache.wicket.Component.configure(Component.java:984) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.Component.beforeRender(Component.java:926) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1753) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.Component.onBeforeRender(Component.java:3796) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.Component.beforeRender(Component.java:937) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.page.PartialPageUpdate.prepareComponent(PartialPageUpdate.java:322) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.page.PartialPageUpdate.writeComponents(PartialPageUpdate.java:250) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.page.PartialPageUpdate.writeTo(PartialPageUpdate.java:162) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.ajax.AjaxRequestHandler.respond(AjaxRequestHandler.java:383) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:912) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65) [wicket-request-8.0.0.jar:8.0.0] at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:283) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221) [wicket-core-8.0.0.jar:8.0.0] - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: AJAX & IllegalStateException: Components can no longer be added
Hi, actually it is even more strict: Once the ART has started generating the response - including preparation of components - you can now longer add other components. This hasn't changed from 7.x to 8.x We were discussing on lifting this restriction, but this would come with some difficulties: what if a component in beforeRender() adds one of its ancestors to be updated? Have fun Sven Am 25.05.2018 um 10:44 schrieb Tobias Gierke: Hi, Can someone please explain to me what's causing this exception (see end of this mail) when trying to add a component to an ART ? In http://apache-wicket.1842946.n4.nabble.com/Components-can-no-longer-be-added-td4662838.html Sven Meier said once rendering of components via Ajax has started, you cannot update components. but as can be seen from the stacktrace I'm still in the beforeRender() phase ... or is anything inside the beforeRender() code path already considered to be part of the rendering phase ? Thanks, Tobias java.lang.IllegalStateException: Components can no longer be added at org.apache.wicket.page.PartialPageUpdate.assertNotFrozen(PartialPageUpdate.java:858) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.page.PartialPageUpdate.assertComponentsNotFrozen(PartialPageUpdate.java:851) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.page.PartialPageUpdate.add(PartialPageUpdate.java:448) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.ajax.AjaxRequestHandler.add(AjaxRequestHandler.java:263) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.ajax.AjaxRequestHandler.add(AjaxRequestHandler.java:239) ~[wicket-core-8.0.0.jar:8.0.0] at com.vodecc.voipmng.boundary.wicket.xdrsearch.XDRListPanel$1.lambda$0(XDRListPanel.java:73) ~[classes/:?] at com.vodecc.voipmng.boundary.wicket.behaviors.AjaxTooltipManager.doOnAjaxRequest(AjaxTooltipManager.java:411) ~[classes/:?] at com.vodecc.voipmng.boundary.wicket.xdrsearch.XDRListPanel$1.queryFinished(XDRListPanel.java:73) ~[classes/:?] at com.vodecc.voipmng.boundary.wicket.streamsearch.AbstractSearchResultsDataProvider.invokeCallbacks(AbstractSearchResultsDataProvider.java:241) [classes/:?] at com.vodecc.voipmng.boundary.wicket.streamsearch.AbstractSearchResultsDataProvider.getSearchResults(AbstractSearchResultsDataProvider.java:230) [classes/:?] at com.vodecc.voipmng.boundary.wicket.streamsearch.AbstractSearchResultsDataProvider.getSearchResults(AbstractSearchResultsDataProvider.java:252) [classes/:?] at com.vodecc.voipmng.boundary.wicket.xdrsearch.XDRDataTable.onConfigure(XDRDataTable.java:436) [classes/:?] at org.apache.wicket.Component.configure(Component.java:984) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.Component.beforeRender(Component.java:926) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1753) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.Component.onBeforeRender(Component.java:3796) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.Component.beforeRender(Component.java:937) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.page.PartialPageUpdate.prepareComponent(PartialPageUpdate.java:322) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.page.PartialPageUpdate.writeComponents(PartialPageUpdate.java:250) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.page.PartialPageUpdate.writeTo(PartialPageUpdate.java:162) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.ajax.AjaxRequestHandler.respond(AjaxRequestHandler.java:383) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:912) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65) [wicket-request-8.0.0.jar:8.0.0] at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:283) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221) [wicket-core-8.0.0.jar:8.0.0] - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
AJAX & IllegalStateException: Components can no longer be added
Hi, Can someone please explain to me what's causing this exception (see end of this mail) when trying to add a component to an ART ? In http://apache-wicket.1842946.n4.nabble.com/Components-can-no-longer-be-added-td4662838.html Sven Meier said once rendering of components via Ajax has started, you cannot update components. but as can be seen from the stacktrace I'm still in the beforeRender() phase ... or is anything inside the beforeRender() code path already considered to be part of the rendering phase ? Thanks, Tobias java.lang.IllegalStateException: Components can no longer be added at org.apache.wicket.page.PartialPageUpdate.assertNotFrozen(PartialPageUpdate.java:858) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.page.PartialPageUpdate.assertComponentsNotFrozen(PartialPageUpdate.java:851) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.page.PartialPageUpdate.add(PartialPageUpdate.java:448) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.ajax.AjaxRequestHandler.add(AjaxRequestHandler.java:263) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.ajax.AjaxRequestHandler.add(AjaxRequestHandler.java:239) ~[wicket-core-8.0.0.jar:8.0.0] at com.vodecc.voipmng.boundary.wicket.xdrsearch.XDRListPanel$1.lambda$0(XDRListPanel.java:73) ~[classes/:?] at com.vodecc.voipmng.boundary.wicket.behaviors.AjaxTooltipManager.doOnAjaxRequest(AjaxTooltipManager.java:411) ~[classes/:?] at com.vodecc.voipmng.boundary.wicket.xdrsearch.XDRListPanel$1.queryFinished(XDRListPanel.java:73) ~[classes/:?] at com.vodecc.voipmng.boundary.wicket.streamsearch.AbstractSearchResultsDataProvider.invokeCallbacks(AbstractSearchResultsDataProvider.java:241) [classes/:?] at com.vodecc.voipmng.boundary.wicket.streamsearch.AbstractSearchResultsDataProvider.getSearchResults(AbstractSearchResultsDataProvider.java:230) [classes/:?] at com.vodecc.voipmng.boundary.wicket.streamsearch.AbstractSearchResultsDataProvider.getSearchResults(AbstractSearchResultsDataProvider.java:252) [classes/:?] at com.vodecc.voipmng.boundary.wicket.xdrsearch.XDRDataTable.onConfigure(XDRDataTable.java:436) [classes/:?] at org.apache.wicket.Component.configure(Component.java:984) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.Component.beforeRender(Component.java:926) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1753) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.Component.onBeforeRender(Component.java:3796) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.Component.beforeRender(Component.java:937) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.page.PartialPageUpdate.prepareComponent(PartialPageUpdate.java:322) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.page.PartialPageUpdate.writeComponents(PartialPageUpdate.java:250) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.page.PartialPageUpdate.writeTo(PartialPageUpdate.java:162) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.ajax.AjaxRequestHandler.respond(AjaxRequestHandler.java:383) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:912) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65) [wicket-request-8.0.0.jar:8.0.0] at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:283) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253) [wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221) [wicket-core-8.0.0.jar:8.0.0] - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org