Hi,

On Tue, Mar 23, 2021 at 7:43 AM Satyavathi Iynaparthi
<satyavath...@hcl.com.invalid> wrote:

> Classification: Confidential
>

I am not sure whether I am allowed to read further.


>
> 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
>

better use
https://github.com/wicketstuff/core/tree/master/wicket-datetime-parent ,
https://search.maven.org/artifact/org.wicketstuff/wicketstuff-datetime-yui/8.11.0/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);
>

replace it with: target.ifPresent(t -> t.add(feedback));

I am not sure what is the reason to still use AjaxFallback** components but
if your users really disable JavaScript in their browsers then you have to
check that the Optional brings AjaxRequestTarget before trying to use it.


>
>                   }
>             };
>             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.
> ________________________________
>

Reply via email to