Caused by: java.util.NoSuchElementException: No value present
at java.base/java.util.Optional.get(Optional.java:143)
at jakarta.faces.impl@4.0.6.redhat-00001//com.sun.faces.util.Util.getResponseEncoding(Util.java:1680)
at jakarta.faces.impl@4.0.6.redhat-00001//com.sun.faces.util.Util.getResponseEncoding(Util.java:1629)
at jakarta.faces.impl@4.0.6.redhat-00001//com.sun.faces.context.ExternalContextImpl.encodeBookmarkableURL(ExternalContextImpl.java:976)
at jakarta.faces.impl@4.0.6.redhat-00001//com.sun.faces.application.view.MultiViewHandler.getBookmarkableURL(MultiViewHandler.java:327)
at jakarta.faces.impl@4.0.6.redhat-00001//jakarta.faces.application.ViewHandlerWrapper.getBookmarkableURL(ViewHandlerWrapper.java:293)
at org.jboss.as.jsf-injection//org.jboss.weld.module.jsf.ConversationAwareViewHandler.getBookmarkableURL(ConversationAwareViewHandler.java:138)
at jakarta.faces.impl@4.0.6.redhat-00001//jakarta.faces.application.NavigationCase.getBookmarkableURL(NavigationCase.java:189)
at com.sun.ts//com.sun.ts.tests.jsf.api.jakarta_faces.application.navigationcase.TestServlet.navigationCaseGetBookmarkableURLTest(TestServlet.java:150)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at com.sun.ts//com.sun.ts.tests.jsf.common.servlets.HttpTCKServlet.invokeTest(HttpTCKServlet.java:163)
... 45 more
Describe the bug
PR https://github.com/eclipse-ee4j/mojarra/pull/5385 introduced a problem in Util.java class: https://github.com/eclipse-ee4j/mojarra/pull/5385/files#diff-6e59848a7dc34c64f4c25e5afc623099e1262d1161223a33eec9570569242aebR1680
In the method
getResponseEncoding(FacesContext context, Optional<String> defaultEncoding)
the defaultEncodingOptional.get()
is called without checking its non-emptiness, while in the same PR a code is introduced that is calling this method with an empty Optional (https://github.com/eclipse-ee4j/mojarra/pull/5385/files#diff-6e59848a7dc34c64f4c25e5afc623099e1262d1161223a33eec9570569242aebR1629).To Reproduce
Causes TCK failures on Wildfly: