Hi Sven, thanks.

The onRemove method is from the class 
com.googlecode.wicket.jquery.ui.interaction.sortable.Sortable:

@Override
public void onRemove(AjaxRequestTarget target, String item) {
    super.onRemove(target, item);
}
Why is the payload processed in this method, as it takes the target as 
parameter? Is there another way to render the other panel or rewrite the 
payload?

br, Chris


> Am 04.02.2015 um 20:41 schrieb Sven Meier <[email protected]>:
> 
> Hi,
> 
> you're using a DeleteItem as payload of the event:
> 
>       send(getPage(), Broadcast.BREADTH, new DeleteItem(target));
> 
> Yet in #onRemove() you're casting the payload to a String:
> 
>       java.lang.ClassCastException: tripplanner.mycompany.DeleteItem cannot 
> be cast to java.lang.String
>            at mycompany.panels.SuitcasePanel$1.onRemove(SuitcasePanel.java:54)
> 
> 
> Regards
> Sven
> 
> 
> On 04.02.2015 20:32, Chris wrote:
>> Hi Tobias - sorry, here it is:
>> 
>> Last cause: mycompany.DeleteItem cannot be cast to java.lang.String
>> WicketMessage: Method onRequest of interface 
>> org.apache.wicket.behavior.IBehaviorListener targeted at 
>> com.googlecode.wicket.jquery.ui.interaction.selectable.SelectableBehavior$1@127d9785
>>  on component [Sortable [Component id = sortable]] threw an exception
>> 
>> Root cause:
>> 
>> java.lang.ClassCastException: tripplanner.mycompany.DeleteItem cannot be 
>> cast to java.lang.String
>>      at mycompany.panels.SuitcasePanel$1.onRemove(SuitcasePanel.java:54)
>>      at 
>> com.googlecode.wicket.jquery.ui.interaction.sortable.Sortable.onEvent(Sortable.java:126)
>>      at 
>> org.apache.wicket.settings.def.FrameworkSettings.dispatchEvent(FrameworkSettings.java:132)
>>      at 
>> org.apache.wicket.ComponentEventSender.dispatchToComponent(ComponentEventSender.java:282)
>>      at 
>> org.apache.wicket.ComponentEventSender.access$100(ComponentEventSender.java:36)
>>      at 
>> org.apache.wicket.ComponentEventSender$ComponentEventVisitor.component(ComponentEventSender.java:329)
>>      at 
>> org.apache.wicket.ComponentEventSender$ComponentEventVisitor.component(ComponentEventSender.java:306)
>>      at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144)
>>      at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162)
>>      at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162)
>>      at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123)
>>      at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:192)
>>      at 
>> org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:875)
>>      at 
>> org.apache.wicket.ComponentEventSender.breadth(ComponentEventSender.java:160)
>>      at 
>> org.apache.wicket.ComponentEventSender.send(ComponentEventSender.java:68)
>>      at org.apache.wicket.Component.send(Component.java:4429)
>>      at mycompany.panels.SuitcasePanel$1$1.onSelect(SuitcasePanel.java:92)
>>      at 
>> com.googlecode.wicket.jquery.ui.interaction.selectable.SelectableBehavior.onAjax(SelectableBehavior.java:122)
>>      at 
>> com.googlecode.wicket.jquery.core.ajax.JQueryAjaxBehavior.respond(JQueryAjaxBehavior.java:171)
>>      at 
>> org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:633)
>>      at java.lang.reflect.Method.invoke(Method.java:483)
>>      at 
>> org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:258)
>>      at 
>> org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:241)
>>      at 
>> org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:250)
>>      at 
>> org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:236)
>>      at 
>> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:862)
>>      at 
>> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
>>      at 
>> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261)
>>      at 
>> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218)
>>      at 
>> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
>>      at 
>> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
>>      at 
>> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201)
>>      at 
>> org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:137)
>>      at javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
>>      at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
>>      at 
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
>>      at 
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>      at 
>> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
>>      at 
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
>>      at 
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>      at 
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
>>      at 
>> org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:106)
>>      at 
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
>>      at 
>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)
>>      at 
>> org.apache.catalina.core.StandardHostValve.__invoke(StandardHostValve.java:142)
>>      at 
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java)
>>      at 
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
>>      at 
>> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
>>      at 
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
>>      at 
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537)
>>      at 
>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1081)
>>      at 
>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658)
>>      at 
>> org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
>>      at 
>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
>>      at 
>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
>>      at 
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>>      at 
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>>      at 
>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>>      at java.lang.Thread.run(Thread.java:745)
>> 
>> 
>> br, Chris
>> 
>> 
>>> Am 04.02.2015 um 20:09 schrieb Tobias Soloschenko 
>>> <[email protected]>:
>>> 
>>> Hi,
>>> 
>>> would you be so kind and apply some more information like StackTrace of the 
>>> interal server error.
>>> 
>>> Thanks a lot.
>>> 
>>> kind regards
>>> 
>>> Tobias.
>>> 
>>> Am 04.02.15 um 20:05 schrieb Chris:
>>>> Sven, I have an additional situation where I am getting an internal error. 
>>>> Could you help me in figuring out the problem?
>>>> 
>>>> Panel A senses the selection of an item from a user and adds the 
>>>> „sortable“ as container to the ajax target.
>>>> In addition, Panel B should be added to the ajax target, using Wicket 
>>>> events.
>>>> 
>>>> The internal error is thrown when using Wicket events to add the 
>>>> additional panel. Without the event, just calling #target.add(sortable) it 
>>>> works.
>>>> 
>>>> Panel A
>>>> *************
>>>> @Override
>>>> public void onSelect(AjaxRequestTarget target, List<String> items) {
>>>>    sortable.onRemove(target, items.get(0));
>>>>            target.add(sortable);
>>>>            send(getPage(), Broadcast.BREADTH, new DeleteItem(target));
>>>> }
>>>> Panel B
>>>> *************
>>>> public class PoiListPanel extends Panel {
>>>>    @Override
>>>>    public void onEvent(IEvent<?> event) {
>>>>                    super.onEvent(event);
>>>> 
>>>>                    if (event.getPayload() instanceof DeleteItem) {
>>>>                    DeleteItem update = (DeleteItem) event.getPayload();
>>>>                    update.getTarget().add(this);
>>>> 
>>>>            }       
>>>> 
>>>> }
>>>> Chris
>>>> 
>>>> 
>>>>> Am 04.02.2015 um 14:32 schrieb Grün Christoph <[email protected]>:
>>>>> 
>>>>> Sven - thank you. That solved it!
>>>>> 
>>>>> 
>>>>>> Am 04.02.2015 um 14:14 schrieb Sven Meier <[email protected]>:
>>>>>> 
>>>>>> Your container has to output its markup id:
>>>>>> 
>>>>>>  container.setOutputMarkupId()
>>>>>> 
>>>>>> Regards
>>>>>> Sven
>>>>>> 
>>>>>> 
>>>>>> On 04.02.2015 14:11, Chris wrote:
>>>>>>> Hi,
>>>>>>> 
>>>>>>> When the user clicks on a certain icon, a specific part of the page 
>>>>>>> should be reloaded through ajax. The icon is part of a panel, the 
>>>>>>> specific part is a webmarkupcontainer added directly to the page. I am 
>>>>>>> using Wicket Events to push the click event. However, when adding the 
>>>>>>> web markup container as target, I am getting an internal error.
>>>>>>> 
>>>>>>> -> update.getTarget().add(container);
>>>>>>> 
>>>>>>> Can someone help me to fix this?
>>>>>>> 
>>>>>>> *********************
>>>>>>> ***** PANEL *****
>>>>>>> final WebMarkupContainer suitcaseIcon = new WebMarkupContainer("icon");
>>>>>>> icon.setOutputMarkupId(true);
>>>>>>> icon.add(new AjaxEventBehavior("onclick") {
>>>>>>>         protected void onEvent(AjaxRequestTarget target) {
>>>>>>>                 send(getPage(), Broadcast.BREADTH, new AddItem(target));
>>>>>>>         }
>>>>>>> });
>>>>>>> 
>>>>>>> *********************
>>>>>>> ***** PAGE *****
>>>>>>> ...
>>>>>>> WebMarkupContainer container;
>>>>>>> public HomePage() {
>>>>>>>         container = new WebMarkupContainer("container");
>>>>>>>         add(container);
>>>>>>> }
>>>>>>> 
>>>>>>> @Override
>>>>>>> public void onEvent(IEvent<?> event) {
>>>>>>>         super.onEvent(event);
>>>>>>>         if (event.getPayload() instanceof AddItem) {
>>>>>>>         AddItem update = (AddItem) event.getPayload();
>>>>>>>         update.getTarget().add(container);
>>>>>>>    }
>>>>>>> }
>>>>>>> 
>>>>>>> *********************
>>>>>>> ***** AddItem *****
>>>>>>> public class AddItem {
>>>>>>>    private final AjaxRequestTarget target;
>>>>>>> 
>>>>>>>    public AddItem(AjaxRequestTarget target) {
>>>>>>>        this.target = target;
>>>>>>>    }
>>>>>>> 
>>>>>>>    public AjaxRequestTarget getTarget() {
>>>>>>>        return target;
>>>>>>>    }
>>>>>>> }
>>>>>>> 
>>>>>>> Thanks.
>>>>>>> Chris
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: [email protected]
>>>>>> For additional commands, e-mail: [email protected]
>>>>>> 
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: [email protected]
>>>>> For additional commands, e-mail: [email protected]
>>>>> 
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>> 
>> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 

Reply via email to