Project

General

Profile

Actions

Bug #13987

open

Unexpected empty string in WAnchor

Added by Romain Mardulyn about 20 hours ago.

Status:
InProgress
Priority:
Normal
Category:
-
Target version:
-
Start date:
09/16/2025
Due date:
% Done:

0%

Estimated time:

Description

WLink.resolveUrl(app) can return an empty String event though WLink.isNull() returns true . This should not be possible and causes an error in WAnchor.

Here is the error:

java.lang.StringIndexOutOfBoundsException: String index out of range: 0
     at java.base/java.lang.StringLatin1.charAt(StringLatin1.java:47)
     at java.base/java.lang.String.charAt(String.java:693)
     at eu.webtoolkit.jwt.WAnchor.renderHRef(WAnchor.java:383)
     at eu.webtoolkit.jwt.WAnchor.updateDom(WAnchor.java:420)
     at eu.webtoolkit.jwt.WWebWidget.createDomElement(WWebWidget.java:843)
     at eu.webtoolkit.jwt.WContainerWidget.createDomElement(WContainerWidget.java:685)
     at eu.webtoolkit.jwt.WContainerWidget.createDomElement(WContainerWidget.java:904)
     at eu.webtoolkit.jwt.WWebWidget.createActualElement(WWebWidget.java:882)
     at eu.webtoolkit.jwt.WWidget.createSDomElement(WWidget.java:1502)
     at eu.webtoolkit.jwt.WContainerWidget.createDomChildren(WContainerWidget.java:707)
     at eu.webtoolkit.jwt.WContainerWidget.createDomElement(WContainerWidget.java:687)
     at eu.webtoolkit.jwt.WContainerWidget.createDomElement(WContainerWidget.java:904)
     at eu.webtoolkit.jwt.WWebWidget.createActualElement(WWebWidget.java:882)
     at eu.webtoolkit.jwt.WWidget.createSDomElement(WWidget.java:1502)
     at eu.webtoolkit.jwt.WContainerWidget.createDomChildren(WContainerWidget.java:707)
     at eu.webtoolkit.jwt.WContainerWidget.createDomElement(WContainerWidget.java:687)
     at eu.webtoolkit.jwt.WContainerWidget.createDomElement(WContainerWidget.java:904)
     at eu.webtoolkit.jwt.WWebWidget.createActualElement(WWebWidget.java:882)
     at eu.webtoolkit.jwt.WWidget.createSDomElement(WWidget.java:1502)
     at eu.webtoolkit.jwt.WWidget.htmlText(WWidget.java:1252)
     at eu.webtoolkit.jwt.WTemplate.resolveString(WTemplate.java:780)
     at rega.genotype.ui.framework.widgets.Template.resolveString(Template.java:75)
     at eu.webtoolkit.jwt.WTemplate.renderTemplateText(WTemplate.java:1095)
     at eu.webtoolkit.jwt.WTemplate._block(WTemplate.java:164)
     at eu.webtoolkit.jwt.WTemplate$BlockFunction.evaluate(WTemplate.java:229)
     at eu.webtoolkit.jwt.WTemplate.resolveFunction(WTemplate.java:905)
     at eu.webtoolkit.jwt.WTemplate.renderTemplateText(WTemplate.java:1088)
     at eu.webtoolkit.jwt.WTemplate.renderTemplate(WTemplate.java:1008)
     at eu.webtoolkit.jwt.WTemplate.updateDom(WTemplate.java:1170)
     at eu.webtoolkit.jwt.WWebWidget.createDomElement(WWebWidget.java:843)
     at eu.webtoolkit.jwt.WWebWidget.createActualElement(WWebWidget.java:882)
     at eu.webtoolkit.jwt.WWidget.createSDomElement(WWidget.java:1502)
     at eu.webtoolkit.jwt.WContainerWidget.createDomChildren(WContainerWidget.java:707)
     at eu.webtoolkit.jwt.WContainerWidget.createDomElement(WContainerWidget.java:687)
     at eu.webtoolkit.jwt.WContainerWidget.createDomElement(WContainerWidget.java:904)
     at eu.webtoolkit.jwt.WWebWidget.createActualElement(WWebWidget.java:882)
     at eu.webtoolkit.jwt.WWidget.createSDomElement(WWidget.java:1502)
     at eu.webtoolkit.jwt.WContainerWidget.createDomChildren(WContainerWidget.java:707)
     at eu.webtoolkit.jwt.WContainerWidget.createDomElement(WContainerWidget.java:687)
     at eu.webtoolkit.jwt.WContainerWidget.createDomElement(WContainerWidget.java:904)
     at eu.webtoolkit.jwt.WWebWidget.createActualElement(WWebWidget.java:882)
     at eu.webtoolkit.jwt.WWidget.createSDomElement(WWidget.java:1502)
     at eu.webtoolkit.jwt.WContainerWidget.createDomChildren(WContainerWidget.java:707)
     at eu.webtoolkit.jwt.WContainerWidget.createDomElement(WContainerWidget.java:687)
     at eu.webtoolkit.jwt.WContainerWidget.createDomElement(WContainerWidget.java:904)
     at eu.webtoolkit.jwt.WWebWidget.createActualElement(WWebWidget.java:882)
     at eu.webtoolkit.jwt.WWidget.createSDomElement(WWidget.java:1502)
     at eu.webtoolkit.jwt.WebRenderer.serveMainpage(WebRenderer.java:719)
     at eu.webtoolkit.jwt.WebRenderer.serveResponse(WebRenderer.java:195)
     at eu.webtoolkit.jwt.WebSession.serveResponse(WebSession.java:1981)
     at eu.webtoolkit.jwt.WebSession.render(WebSession.java:1948)
     at eu.webtoolkit.jwt.WebSession.notify(WebSession.java:316)
     at eu.webtoolkit.jwt.WApplication.notify(WApplication.java:2646)
     at rega.genotype.ui.framework.DboApplication.doNotify(DboApplication.java:47)
     at rega.genotype.ui.framework.DboApplication.lambda$notify$0(DboApplication.java:37)
     at com.genomedetective.core.db.Database.inTransaction(Database.java:515)
     at rega.genotype.ui.framework.DboApplication.notify(DboApplication.java:32)
     at eu.webtoolkit.jwt.WebSession.handleRequest(WebSession.java:1458)
     at eu.webtoolkit.jwt.WtServlet.doHandleRequest(WtServlet.java:379)
     at eu.webtoolkit.jwt.ServletApi.handleRequest(ServletApi.java:213)
     at eu.webtoolkit.jwt.ServletApi$4.run(ServletApi.java:289)
     at org.apache.catalina.core.AsyncContextImpl$RunnableWrapper.run(AsyncContextImpl.java:546)
     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:829) 

No data to display

Actions

Also available in: Atom PDF