Classification: Confidential Hi Team,
We are in process of migration our Web application from Wicket 6.30 to Wicket 8.11.0. As a first step, placed below jars in the classpath. wicket-auth-roles-8.11.0.jar wicket-core-8.11.0.jar wicket-datetime-8.0.0-M7.jar wicket-extensions-8.11.0.jar wicket-request-8.11.0.jar wicket-util-8.11.0.jar wicketstuff-inmethod-grid-8.11.0.jar Addressed the compilation issues related to AjaxFallBackLink onClick() method . Changed the method signature to public void onClick(Optional<AjaxRequestTarget> target). We have a Html page SettingsPanel.html <?xml version="1.0" encoding="UTF-8"?> <html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" lang="en"> <wicket:panel> <a href="#" wicket:id="saveSettingsLink"><img wicket:id="saveIcon" /></a> </wicket:panel> </html> SettingsPanel.java AjaxFallbackLink<Serializable> settingsLink = new AjaxFallbackLink<Serializable>("saveSettingsLink") { private static final long serialVersionUID = 1L; @Override public void onClick(Optional<AjaxRequestTarget> target) { //some logic target.get().add(feedback); } }; Image img = new Image("saveIcon", new Model<Serializable>() { private static final long serialVersionUID = 1L; @Override public Serializable getObject() { return new PackageResourceReference(SettingsPanel.class,"save.png"); } }); img.add(new AttributeModifier("title", new StringResourceModel("saveTitle", ColumnSettingsLinkPanel.this, new Model<String>()))); settingsLink.add(img); With the above code, in Wicket 6.30, save image (save.png) gets displayed on the page and when user clicks on the image link, onlick(AjaxRequestTarget target) gets triggered. Post migrating to Wicket 8.11.0, image is not displaying on the page and when user clicks on the image link, onClick(Optional<AjaxRequestTarget> target) getting triggered, but the target value is always Empty. Below is the stack trace ERROR - DefaultExceptionMapper - Unexpected error occurred java.util.NoSuchElementException: No value present at java.base/java.util.Optional.get(Optional.java:148) at com.csc.pts.web.ui.ColumnSettingsLinkPanel$3.onClick(SettingsPanel.java:98) at org.apache.wicket.ajax.markup.html.AjaxFallbackLink.onClick(AjaxFallbackLink.java:122) at org.apache.wicket.markup.html.link.Link.onRequest(Link.java:189) at org.apache.wicket.core.request.handler.ListenerRequestHandler.internalInvoke(ListenerRequestHandler.java:306) at org.apache.wicket.core.request.handler.ListenerRequestHandler.invoke(ListenerRequestHandler.java:255) at org.apache.wicket.core.request.handler.ListenerRequestHandler.invokeListener(ListenerRequestHandler.java:215) at org.apache.wicket.core.request.handler.ListenerRequestHandler.respond(ListenerRequestHandler.java:208) at org.apache.wicket.core.request.handler.RequestSettingRequestHandler.respond(RequestSettingRequestHandler.java:78) at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:912) at org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65) at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:283) at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253) at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221) at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:262) at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:204) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:286) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:834) Can you please advise on the changes required to make this functionality work with Wicket 8.11.0 version. Thanks, Satya ::DISCLAIMER:: ________________________________ The contents of this e-mail and any attachment(s) are confidential and intended for the named recipient(s) only. E-mail transmission is not guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or may contain viruses in transmission. The e mail and its contents (with or without referred errors) shall therefore not attach any liability on the originator or HCL or its affiliates. Views or opinions, if any, presented in this email are solely those of the author and may not necessarily reflect the views or opinions of HCL or its affiliates. Any form of reproduction, dissemination, copying, disclosure, modification, distribution and / or publication of this message without the prior written consent of authorized representative of HCL is strictly prohibited. If you have received this email in error please delete it and notify the sender immediately. Before opening any email and/or attachments, please check them for viruses and other defects. ________________________________