Tapestry
  1. Tapestry
  2. TAPESTRY-1074

Autocompleter breaks when submited with no value

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 4.1
    • Fix Version/s: 4.1.1
    • Component/s: tapestry-core
    • Labels:
      None
    • Environment:
      Windows XP; FF 1.5.0.6; Tapestry SNAPSHOT (4.1.1-20060822.021102-19)

      Description

      If we use a form with an Autocompleter component and submit it without selecting a value from it's list, it issues the following error.

      String index out of range: 0
      Stack Trace:

      • java.lang.String.charAt(String.java:558)
      • org.apache.tapestry.util.io.DataSqueezerImpl.unsqueeze(DataSqueezerImpl.java:164)
      • $DataSqueezer_10d37ed6ef2.unsqueeze($DataSqueezer_10d37ed6ef2.java)
      • org.apache.tapestry.data.NullDataSqueezerFilter.unsqueeze(NullDataSqueezerFilter.java:40)
      • $DataSqueezer_10d37ed6ef4.unsqueeze($DataSqueezer_10d37ed6ef4.java)
      • $DataSqueezer_10d37ed6d99.unsqueeze($DataSqueezer_10d37ed6d99.java)
      • org.apache.tapestry.dojo.form.Autocompleter.rewindFormWidget(Autocompleter.java:151)
      • org.apache.tapestry.dojo.form.AbstractFormWidget.rewindFormComponent(AbstractFormWidget.java:51)
      • org.apache.tapestry.form.AbstractFormComponent.renderComponent(AbstractFormComponent.java:118)
      • org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:676)
      • org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:131)
      • org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
      • org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:676)
      • org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:131)
      • org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:491)
      • org.apache.tapestry.components.RenderBody.renderComponent(RenderBody.java:41)
      • org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:676)
      • org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:131)
      • org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:491)
      • org.apache.tapestry.form.FormSupportImpl.rewind(FormSupportImpl.java:593)
      • org.apache.tapestry.form.Form.renderComponent(Form.java:196)
      • org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:676)
      • org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:131)
      • org.apache.tapestry.form.Form.rewind(Form.java:284)
      • org.apache.tapestry.engine.RequestCycle.rewindForm(RequestCycle.java:458)
      • org.apache.tapestry.form.Form.trigger(Form.java:295)
      • org.apache.tapestry.engine.DirectService.triggerComponent(DirectService.java:170)
      • org.apache.tapestry.engine.DirectService.service(DirectService.java:146)
      • $IEngineService_10d37ed6e23.service($IEngineService_10d37ed6e23.java)
      • org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:72)
      • org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:241)
      • org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60)
      • $WebRequestServicer_10d37ed6e01.service($WebRequestServicer_10d37ed6e01.java)
      • $WebRequestServicer_10d37ed6dfd.service($WebRequestServicer_10d37ed6dfd.java)
      • org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:56)
      • $ServletRequestServicer_10d37ed6de3.service($ServletRequestServicer_10d37ed6de3.java)
      • org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
      • $ServletRequestServicerFilter_10d37ed6ddf.service($ServletRequestServicerFilter_10d37ed6ddf.java)
      • $ServletRequestServicer_10d37ed6de5.service($ServletRequestServicer_10d37ed6de5.java)
      • org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
      • $ServletRequestServicerFilter_10d37ed6ddd.service($ServletRequestServicerFilter_10d37ed6ddd.java)
      • $ServletRequestServicer_10d37ed6de5.service($ServletRequestServicer_10d37ed6de5.java)
      • org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
      • $ServletRequestServicerFilter_10d37ed6de1.service($ServletRequestServicerFilter_10d37ed6de1.java)
      • $ServletRequestServicer_10d37ed6de5.service($ServletRequestServicer_10d37ed6de5.java)
      • $ServletRequestServicer_10d37ed6dd7.service($ServletRequestServicer_10d37ed6dd7.java)
      • org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)
      • org.apache.tapestry.ApplicationServlet.doPost(ApplicationServlet.java:168)
      • javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      • javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
      • org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
      • org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      • org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
      • org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      • org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      • org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
      • org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
      • org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
      • org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
      • org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
      • org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
      • org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
      • org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
      • org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
      • org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
      • org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
      • org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
      • org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
      • java.lang.Thread.run(Thread.java:595)

        Activity

          People

          • Assignee:
            Jesse Kuhnert
            Reporter:
            Pedro Viegas
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development