Menu

Error java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 3

2023-06-30
2023-08-23
  • Francisco Alcántara

    Buenos días.

    Trabajo con XavaPro 7.1.1 y la aplicación me funciona bien pero tengo este error en la consola del tomcat y no entiendo el motivo. ¿Alguna pista? Gracias por vuestro tiempo:

    GRAVE: ¡ADVERTENCIA! No existe valor posible para índice -1

    java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 3

    at java.base/jdk.internal.util.Preconditions.outOfBounds(Unknown Source)

    at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Unknown Source)

    at java.base/jdk.internal.util.Preconditions.checkIndex(Unknown Source)

    at java.base/java.util.Objects.checkIndex(Unknown Source)

    at java.base/java.util.ArrayList.get(Unknown Source)

    at org.openxava.model.meta.MetaProperty.getValidValue(MetaProperty.java:86)

    at org.openxava.model.meta.MetaProperty.getValidValueLabel(MetaProperty.java:133)

    at org.openxava.model.meta.MetaProperty.getValidValueLabel(MetaProperty.java:103)

    at org.openxava.model.meta.MetaProperty.getValidValueLabel(MetaProperty.java:112)

    at org.apache.jsp.xava.editors.radioButtonEditor_jsp._jspService(radioButtonEditor_jsp.java:180)

    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)

    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466)

    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379)

    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)

    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:661)

    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:537)

    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:480)

    at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:994)

    at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:479)

    at org.openxava.web.taglib.EditorTag.doStartTag(EditorTag.java:163)

    at org.apache.jsp.xava.editor_jsp._jspService(editor_jsp.java:344)

    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)

    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466)

    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379)

    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)

    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:661)

    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:537)

    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:480)

    at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:994)

    at org.apache.jsp.xava.detail_jsp._jspService(detail_jsp.java:338)

    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)

    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466)

    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379)

    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)

    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:661)

    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:537)

    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:480)

    at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:994)

    at org.apache.jsp.xava.detail_jsp._jspService(detail_jsp.java:700)

    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)

    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466)

    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379)

    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)

    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:661)

    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:537)

    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:480)

    at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:994)

    at org.apache.jsp.xava.core_jsp._jspService(core_jsp.java:323)

    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)

    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466)

    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379)

    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)

    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:661)

    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:425)

    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:357)

    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:294)

    at org.openxava.web.servlets.Servlets.getURIAsString(Servlets.java:126)

    at org.openxava.web.servlets.Servlets.getURIAsString(Servlets.java:105)

    at org.openxava.web.dwr.Module.getURIAsString(Module.java:266)

    at org.openxava.web.dwr.Module.fillResult(Module.java:291)

    at org.openxava.web.dwr.Module.request(Module.java:94)

    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

    at java.base/java.lang.reflect.Method.invoke(Unknown Source)

    at org.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilter.java:34)

    at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428)

    at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:431)

    at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:283)

    at org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandler.java:52)

    at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101)

    at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:555)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)

    at org.openxava.web.filters.ContentSecurityPolicyFilter.doFilter(ContentSecurityPolicyFilter.java:29)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)

    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)

    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)

    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)

    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926)

    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791)

    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)

    at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)

    at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)

    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

    at java.base/java.lang.Thread.run(Unknown Source)

     
  • Javier Paniza

    Javier Paniza - 2023-07-03

    Hola Francisco:

    Según esto:

    at org.apache.jsp.xava.editors.radioButtonEdito
    

    El problema está en un radiobutton. Revisa los enums de tu aplicación, especialmente aquellos anotados con @Editor("ValidValuesRadioButton"). Cuando encuentres la propiedad sospechosa, mira los valores en la base de datos, quita el @Editor (solo para probar), etc.


    Ayuda a otros en este foro como yo te ayudo a ti.

     
  • Francisco Alcántara

    Hola.

    El atributo es cuestión es el siguiente. Si quito @Editor se muestra en formato lista y no da error

    @Editor( value="ValidValuesRadioButton")
    @Required
    @Column(length=30)
    

    // @Enumerated(EnumType.STRING)
    private Estamento estamento;
    public enum Estamento { Facultativo, SanitarioNoFacultativo, NoSanitario };

     
  • Javier Paniza

    Javier Paniza - 2023-07-06

    Hola Francisco:

    Tienes razón. He probado tu código tal cual y saca la ArrayIndexOutOfBoundsException en el log. El editor funciona perfectamente, guarda y recupera los datos bien, pero pone la excepción en el log. Lo hace después de graba y cuando se le da a Nuevo desde modo lista, al menos.

    Añádelo como bug y lo arreglaramos.


    Ayuda a otros en este foro como yo te ayudo a ti.

     
  • Javier Paniza

    Javier Paniza - 2023-08-23

    Hola Francisco:

    El bug ya está resuelto y el arreglo se incluirá en la versión 7.1.5, disponible pronto.

     

Log in to post a comment.