9 Replies Latest reply on Dec 8, 2008 7:58 AM by Dirk Schnelle-Walka

    NullPointerException with SuggestionBox

    Dirk Schnelle-Walka Newbie

      Hi all,

      I have a strange problem using the suggestion box that I am not able to solve.

      I have the following code on my page:

       <f:view>
       <h:form id="testForm">
       <h:inputText value="#{bean.property}" id="property" />
       <rich:suggestionbox id="suggestion" for="property"
       suggestionAction="#{bean.autocomplete}" ignoreDupResponses="true"
       usingSuggestObjects="true" fetchValue="#{suggest.id}"
       var="suggest" width="200" height="200">
       <h:column>
       <h:outputText value="#{suggest.id}" />
       </h:column>
       <h:column>
       <h:outputText value="#{suggest.text}" />
       </h:column>
       </rich:suggestionbox>
       </h:form>
       </f:view>
      


      Bean is a simple Test class:
      public class Bean {
       private String property;
      
       public Collection<?> autocomplete(Object event) {
      
       List<SuggestItem> result = new java.util.ArrayList<SuggestItem>();
      
       result.add(new SuggestItem("1", "Horst"));
       result.add(new SuggestItem("2", "Paul"));
      
       return result;
      
       }
      
       /**
       * @return the property
       */
       public String getProperty() {
       return property;
       }
      
       /**
       * @param property the property to set
       */
       public void setProperty(String property) {
       this.property = property;
       }
      }
      


      Everything is fine and it pops up the suggestion box as soon as I start typing.

      My goal is to immitate a combo box as I saw at
      http://livedemo.exadel.com/richfaces-demo/richfaces/suggestionBox.jsf?c=suggestionBox&tab=usage

      So I added a shmall graphic right after the input field:
       <h:inputText value="#{bean.property}" id="property" />
       <h:graphicImage value="cmb-down.png"
       onclick="#{rich:component('suggestion')}.callSuggestion(true)"/>
       <rich:suggestionbox id="suggestion" for="property"
      ...
      


      Now, when I start typing I get a NullPointerException. I could verify that my method autocomplete gets called.

      type Exception report
      
      message
      
      description The server encountered an internal error () that prevented it from fulfilling this request.
      
      exception
      
      javax.servlet.ServletException
       javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
       org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:177)
       org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
       org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380)
       org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507)
       org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      
      root cause
      
      java.lang.NullPointerException
       org.apache.el.lang.FunctionMapperImpl$Function.writeExternal(FunctionMapperImpl.java:123)
       java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1421)
       java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1390)
       java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
       java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
       java.util.HashMap.writeObject(HashMap.java:1001)
       sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       java.lang.reflect.Method.invoke(Method.java:597)
       java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
       java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
       java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
       java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
       java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
       org.apache.el.lang.FunctionMapperImpl.writeExternal(FunctionMapperImpl.java:74)
       java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1421)
       java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1390)
       java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
       java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
       org.apache.el.ValueExpressionImpl.writeExternal(ValueExpressionImpl.java:256)
       java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1421)
       java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1390)
       java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
       java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
       org.apache.jasper.el.JspValueExpression.writeExternal(JspValueExpression.java:129)
       java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1421)
       java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1390)
       java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
       java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
       java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
       java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
       java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
       java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
       java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
       java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
       java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
       java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
       java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
       java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
       java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
       java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
       java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
       java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
       java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
       java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
       java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
       java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
       java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
       java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
       java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
       java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
       java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
       java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
       java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
       java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
       com.sun.faces.renderkit.ResponseStateManagerImpl.writeState(ResponseStateManagerImpl.java:244)
       javax.faces.render.ResponseStateManager.writeState(ResponseStateManager.java:155)
       org.ajax4jsf.application.AjaxStateManager.writeState(AjaxStateManager.java:294)
       org.ajax4jsf.application.AjaxStateManager.writeState(AjaxStateManager.java:230)
       com.sun.faces.application.ViewHandlerImpl$WriteBehindStateWriter.flushToWriter(ViewHandlerImpl.java:897)
       com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:184)
       org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
       org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:196)
       com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
       com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
       com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
       javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
       org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:177)
       org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
       org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380)
       org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507)
       org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      


      The same thing happens if I simply do an alert in the onclick event using the rich:component fragment. Doing an alert('Hi') in the onclick results in a popup of the suggestionbox.

      I even tried to update to richfaces-ui-3.2.2.SR1 had the same effect.

      I am using JBoss 4.2.2.GA.

      Any help is welcome.

        • 1. Re: NullPointerException with SuggestionBox
          Ilya Shaikovsky Master

          could you please provide sample war file.. We've tried the same code in almost all possible configs.. jsp, facelets, on tomcat, jboss.. And still can't reproduce :(

          • 2. Re: NullPointerException with SuggestionBox
            Dirk Schnelle-Walka Newbie

            Hi,

            I sent you an email with my eclipse project.
            Hope this helps to find the error.

            ~dirk

            • 4. Re: NullPointerException with SuggestionBox
              Dirk Schnelle-Walka Newbie

              Well, it would be good to have a solution here.

              I continued with my investigation of the problem. My autocomplete method is called twice. The first time with the entered value, the second time with a null value.

              The log says

              16:05:28,214 DEBUG [BaseXMLFilter] XML filter service start processing request
              16:05:28,214 DEBUG [AjaxPhaseListener] Process before phase RESTORE_VIEW 1
              16:05:28,245 DEBUG [AjaxRegionBrige] Restore State of UIAjaxComponent with Id j_id_jsp_1117428609_0
              16:05:28,245 DEBUG [AjaxPhaseListener] Process after phase RESTORE_VIEW 1
              16:05:28,245 DEBUG [AjaxPhaseListener] Process before phase APPLY_REQUEST_VALUES 2
              16:05:28,245 DEBUG [RendererBase] Start decoding of component j_id_jsp_1117428609_0 with class org.ajax4jsf.component.AjaxViewRoot
              16:05:28,245 DEBUG [AjaxContainerRenderer] Decode ajax request status for j_id_jsp_1117428609_0
              16:05:28,245 DEBUG [AjaxRegionBrige] Submitted AJAX request - Queue Event to AjaxListeners
              16:05:28,245 DEBUG [RendererBase] Start decoding of component testForm:suggestion with class org.richfaces.component.html.HtmlSuggestionBox
              16:05:28,245 DEBUG [AjaxPhaseListener] Process after phase APPLY_REQUEST_VALUES 2
              16:05:28,245 DEBUG [AjaxPhaseListener] Process before phase PROCESS_VALIDATIONS 3
              16:05:28,245 DEBUG [AjaxPhaseListener] Process after phase PROCESS_VALIDATIONS 3
              16:05:28,245 DEBUG [AjaxPhaseListener] Process before phase UPDATE_MODEL_VALUES 4
              16:05:28,245 DEBUG [AjaxPhaseListener] Process after phase UPDATE_MODEL_VALUES 4
              16:05:28,245 DEBUG [AjaxPhaseListener] Process before phase INVOKE_APPLICATION 5
              16:05:28,245 DEBUG [AjaxPhaseListener] Process after phase INVOKE_APPLICATION 5
              16:05:28,245 DEBUG [AjaxPhaseListener] Process before phase RENDER_RESPONSE 6
              16:05:28,245 DEBUG [AjaxPhaseListener] PhaseListener enter Before RenderView Phase with ViewId /index.jsp and RenderKitId HTML_BASIC
              16:05:28,245 DEBUG [AjaxViewHandler] Process AJAX events to calculate areas.
              16:05:28,245 DEBUG [AjaxRegionBrige] Send Event to AjaxListeners from AjaxContainer with Id j_id_jsp_1117428609_0
              


              • 5. Re: NullPointerException with SuggestionBox
                Ilya Shaikovsky Master

                also a a temporary workaround please try to define usingSuggestionObjects to false.

                • 6. Re: NullPointerException with SuggestionBox
                  Dirk Schnelle-Walka Newbie

                  Hi Ilya,

                  unfortunately this did not help.

                  The difference is: My autocomplete method is called only once.

                  I added a log to see what happens on the browser side. This is what I get with usingSuggestObjects=false

                  I typed the letter 'a' in both cases.

                  debug[15:23:43,320]: set timeout for request suggestion
                  debug[15:23:43,334]: Observer event occurs
                  debug[15:23:43,334]: Call data for update choices
                  debug[15:23:43,335]: Have Event [object Object] with properties: target: [object HTMLInputElement], srcElement: undefined, type: keydown
                  debug[15:23:43,335]: NEW AJAX REQUEST !!! with form :testForm
                  debug[15:23:43,336]: Append hidden control testForm with value [testForm] and value attribute [testForm]
                  debug[15:23:43,336]: Append text control testForm:property with value [a] and value attribute []
                  debug[15:23:43,336]: Append hidden control testForm:suggestion_selection with value [] and value attribute [null]
                  debug[15:23:43,337]: Append hidden control javax.faces.ViewState with value [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] and value attribute [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]
                  debug[15:23:43,337]: parameter ajaxSingle with value testForm:suggestion
                  debug[15:23:43,338]: parameter testForm:suggestion with value testForm:suggestion
                  debug[15:23:43,338]: parameter inputvalue with value a
                  debug[15:23:43,339]: Start XmlHttpRequest
                  debug[15:23:43,340]: Reqest state : 1
                  debug[15:23:43,341]: QueryString: AJAXREQUEST=j_id_jsp_1117428609_0&testForm=testForm&testForm%3Aproperty=a&testForm%3Asuggestion_selection=&javax.faces.ViewState=H4sIAAAAAAAAAL1YW2wUVRg%2Bu23thQq9IMVIydYW2mKZbum9xZRe6TbblnRLFUgs09nT3SmzM%2BPMmc4AgoVEiRIVoyQaMRA18QVe4EXfVBI1JJhIog8%2BEGJMjIlgYkjwkqjnnNm57c7SconzcHrmzH%2F%2B81%2B%2B%2Fzv%2F9vxNUKAqYIukJBh2gTXaFtR5hpVlgedYxEsiM61AGEOKxiFNgRNSHB5%2F47d3Ls%2FXFpcCYMiHAAieBbWe3ZyUkiURiojpx0szPNSnJAmBxxZm%2BfjsgirPtrS0dLZt6%2BoId8%2BGgfkEQe0Cu8gazDzLQdWlIolSAjOKhxFJSYEiBFVEZ%2BaTZxqu8Fwy58aIKGtoGhoIFMmKJEMFHQTW89Qyh%2B5UWDnJc5EUm4D%2BDrTauphlLYlpiQS2H0d1QDJAiWq%2F2kHY6G%2FP7sigJGgp0d%2BE9vT2AGhcxp1JDVmx8NXUYTtzX4Z0PjRDumxDckGLqiL4ikoJfx3dlgpDU0DlvigxiRFYMcFMzi1ADvWe%2BubZs2VqoxAkQCbh154HR3ES3LM8e1bkzHC9lFNtGuKxP6yaHGflgsIfPr%2B8bv%2B3eSA4AkoEiY2PsBySlAgoRkkFqklJiBty3w5q0iN6EVFEjkKgzh0sHc7h6mMGd09NDU9Mz85Ehp%2BZnZqcnCaHlyAQ8pOdHN81OUGkI0MxbFulY1u%2ForAHo7yKjGPXqt%2F9in0%2FDwQiIF%2FlD0HTZT0fjyHkFFaOhHQbhpyrhIlpZXZMaIQHJEmArHg1pCx9d%2BavW0EQ2AsKFllBw8cGVLKhHMhYYcno9Hh0dqA%2FFhnEL828GIcGg%2FVjbWWOF1GJYwV49I%2Fy%2FWfCf%2F4aBPkRUJTEUecwG0VBISdpIlIOIlBBc9xMLGjGlMWLid4oKCKvGq5fcmoVFl9kFZ4VEX015H%2Fxg0BwaBgPcYgA8DoSERFMQKXix3Mf3Tl2oitIwpd2xDKRyk1oqTmovHz%2BdPWqt2%2BctBCFfaTOlpKioKEOYPWb%2FYsjhlgERzFKoBJjF6Gy58qlp986c3U8CIJRUMwJrKpOsCnLjRIVy8TpHgTWmY7zUnMMYucE%2FhA7J8BeQyaBDHt5CS6Sw6YgDrWyC0cRDloWEJxAESrXm17cn%2Frywm3qhWHDvoBMKukgO9Ms%2F8h7iArUGT4F5czWuQqKzIqyaiNAllfZJ%2BTZYLV4PAciW5GbXDFyiYbV9lBBDUdm%2Bqw8EOzLMsFkjev2aza26rq%2BdR5%2F3KopAhQJ5OJy5uNDF46fNfZstR%2BtyK4tGTyVxvCFazM%2F%2F1J9eKeFqgBKQ9DeaUUdZ7ue8qXMcknILLAqDhMDBWZMlWfIjmFDxlSkYs%2FYPTevh9d%2Bsp3c4gpYb4YCS2aI6SVL%2B2589s%2BbQSpWaYs5Eh%2B%2B9Grs973XtlPr9M2gzqnihm3tTR0tjaH62sNzmA0YK21H6rGhNS5Ds8%2BNpGShpmXs1Af88SAxkfi3Q68DZZmq3EVo8rosG%2FhaKbcIrccSJSqYnPkndxHOpANsF9Ddo6PAXJQ9m9L1vmEJJ8X5bj8ZZeMVs7MJfEBU5bPmgQ6Z9ZjgKJREDgP4QDY8yJ8%2BfQyMunPU2dTZSnNEOKLH5qOGeqeE6huPMJiCXQ1MA%2B4IYWM91Tioj4K2%2B9nuzp2JdYyLTV5c0I8jmsiRbfiaxakk2LA6DdqEeuijlNJHmRmK1V6jsHpmRerrrKXhi6d3H4%2Fxt%2Bg5ej%2FIJwoxG1sazf7EYdf59D5mCi9ZSlzy7jxleW9gqiLY3Whj15fdiIpmN5DL3UCmvSqmsVIuNbc1Lum4VsREBkjlbFhGfAA2YM%2BK75Wr7cbCv2PNsd5pZF4Z6VCVzEPEJWf8Sc9EdS2ocaG6taWpo52iOg1Dho8fseBaAx71rOfikEo7Dw6WiYawO%2FhPeAHg6fHTbACsMjdfScvh9yEbwYA0XYXpw51D%2FbNJ%2Bc3pnKg3Q5KGG4GlS1%2BMNR74Ox93L0NW90Kkq60qSruSty0c9hIgPa8iB3Z8OCxT0LmXGnLdS%2BMQJaW4w%2Fx9qw6z31cpr5kX0%2BP2jZMpd7H5ysmf7rS9HkzfDv36FtDgiwB6YbAakkgVChBBev886SWCTPWEBU6c6%2Fv0uY9vT1oX0At6A1jrpy8bQDnq3EFXdvS8QTdshHxNP9y1lVphUQbuWpQdtMVv9MG8Lw21E63zblA6leln4nK9jx0wMtm%2BwipvbWrrftAqX7HHHUTvK94GYMRCvV2ZOdn0oSSp696S1Em0Jv7vJG0Cte4kdTS1t3iShHCvZaepFqzJ%2BPLAieoimt%2B770RVuXynQmvswSL99Z7%2FSkSlhPl7Ciqy%2BRsirz8a9ev7KhDYoPNxlOwJdYXDstEbSkI%2BkUQ9oVb6alkl%2FwceNpRElxMAAA%3D%3D&ajaxSingle=testForm%3Asuggestion&testForm%3Asuggestion=testForm%3Asuggestion&inputvalue=a&
                  debug[15:23:43,342]: Reqest state : 1
                  



                  And this is what I get with usingSuggestObjets=true:
                  debug[15:28:59,425]: set timeout for request suggestion
                  debug[15:28:59,439]: Observer event occurs
                  debug[15:28:59,439]: Call data for update choices
                  debug[15:28:59,439]: Have Event [object Object] with properties: target: [object HTMLInputElement], srcElement: undefined, type: keydown
                  debug[15:28:59,440]: NEW AJAX REQUEST !!! with form :testForm
                  debug[15:28:59,440]: Append hidden control testForm with value [testForm] and value attribute [testForm]
                  debug[15:28:59,440]: Append text control testForm:property with value [a] and value attribute []
                  debug[15:28:59,440]: Append hidden control testForm:suggestion_selection with value [] and value attribute [null]
                  debug[15:28:59,441]: Append hidden control javax.faces.ViewState with value [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] and value attribute [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]
                  debug[15:28:59,441]: parameter ajaxSingle with value testForm:suggestion
                  debug[15:28:59,441]: parameter testForm:suggestion with value testForm:suggestion
                  debug[15:28:59,441]: parameter inputvalue with value a
                  debug[15:28:59,441]: parameter inputvaluerequest with value null
                  debug[15:28:59,442]: Start XmlHttpRequest
                  debug[15:28:59,443]: Reqest state : 1
                  debug[15:28:59,443]: QueryString: AJAXREQUEST=j_id_jsp_1117428609_0&testForm=testForm&testForm%3Aproperty=a&testForm%3Asuggestion_selection=&javax.faces.ViewState=H4sIAAAAAAAAAL1YW2wUVRg%2Bu23thQq9IMVIydYW2mKZbum9xZRe6TbblnRLFUgs09nT3SmzM%2BPMmc4AgoVEiRIVoyQaMRA18QVe4EXfVBI1JJhIog8%2BEGJMjIlgYkjwkqjnnNm57c7SconzcHrmzH%2F%2B81%2B%2B%2Fzv%2F9vxNUKAqYIukJBh2gTXaFtR5hpVlgedYxEsiM61AGEOKxiFNgRNSHB5%2F47d3Ls%2FXFpcCYMiHAAieBbWe3ZyUkiURiojpx0szPNSnJAmBxxZm%2BfjsgirPtrS0dLZt6%2BoId8%2BGgfkEQe0Cu8gazDzLQdWlIolSAjOKhxFJSYEiBFVEZ%2BaTZxqu8Fwy58aIKGtoGhoIFMmKJEMFHQTW89Qyh%2B5UWDnJc5EUm4D%2BDrTauphlLYlpiQS2H0d1QDJAiWq%2F2kHY6G%2FP7sigJGgp0d%2BE9vT2AGhcxp1JDVmx8NXUYTtzX4Z0PjRDumxDckGLqiL4ikoJfx3dlgpDU0DlvigxiRFYMcFMzi1ADvWe%2BubZs2VqoxAkQCbh154HR3ES3LM8e1bkzHC9lFNtGuKxP6yaHGflgsIfPr%2B8bv%2B3eSA4AkoEiY2PsBySlAgoRkkFqklJiBty3w5q0iN6EVFEjkKgzh0sHc7h6mMGd09NDU9Mz85Ehp%2BZnZqcnCaHlyAQ8pOdHN81OUGkI0MxbFulY1u%2ForAHo7yKjGPXqt%2F9in0%2FDwQiIF%2FlD0HTZT0fjyHkFFaOhHQbhpyrhIlpZXZMaIQHJEmArHg1pCx9d%2BavW0EQ2AsKFllBw8cGVLKhHMhYYcno9Hh0dqA%2FFhnEL828GIcGg%2FVjbWWOF1GJYwV49I%2Fy%2FWfCf%2F4aBPkRUJTEUecwG0VBISdpIlIOIlBBc9xMLGjGlMWLid4oKCKvGq5fcmoVFl9kFZ4VEX015H%2Fxg0BwaBgPcYgA8DoSERFMQKXix3Mf3Tl2oitIwpd2xDKRyk1oqTmovHz%2BdPWqt2%2BctBCFfaTOlpKioKEOYPWb%2FYsjhlgERzFKoBJjF6Gy58qlp986c3U8CIJRUMwJrKpOsCnLjRIVy8TpHgTWmY7zUnMMYucE%2FhA7J8BeQyaBDHt5CS6Sw6YgDrWyC0cRDloWEJxAESrXm17cn%2Frywm3qhWHDvoBMKukgO9Ms%2F8h7iArUGT4F5czWuQqKzIqyaiNAllfZJ%2BTZYLV4PAciW5GbXDFyiYbV9lBBDUdm%2Bqw8EOzLMsFkjev2aza26rq%2BdR5%2F3KopAhQJ5OJy5uNDF46fNfZstR%2BtyK4tGTyVxvCFazM%2F%2F1J9eKeFqgBKQ9DeaUUdZ7ue8qXMcknILLAqDhMDBWZMlWfIjmFDxlSkYs%2FYPTevh9d%2Bsp3c4gpYb4YCS2aI6SVL%2B2589s%2BbQSpWaYs5Eh%2B%2B9Grs973XtlPr9M2gzqnihm3tTR0tjaH62sNzmA0YK21H6rGhNS5Ds8%2BNpGShpmXs1Af88SAxkfi3Q68DZZmq3EVo8rosG%2FhaKbcIrccSJSqYnPkndxHOpANsF9Ddo6PAXJQ9m9L1vmEJJ8X5bj8ZZeMVs7MJfEBU5bPmgQ6Z9ZjgKJREDgP4QDY8yJ8%2BfQyMunPU2dTZSnNEOKLH5qOGeqeE6huPMJiCXQ1MA%2B4IYWM91Tioj4K2%2B9nuzp2JdYyLTV5c0I8jmsiRbfiaxakk2LA6DdqEeuijlNJHmRmK1V6jsHpmRerrrKXhi6d3H4%2Fxt%2Bg5ej%2FIJwoxG1sazf7EYdf59D5mCi9ZSlzy7jxleW9gqiLY3Whj15fdiIpmN5DL3UCmvSqmsVIuNbc1Lum4VsREBkjlbFhGfAA2YM%2BK75Wr7cbCv2PNsd5pZF4Z6VCVzEPEJWf8Sc9EdS2ocaG6taWpo52iOg1Dho8fseBaAx71rOfikEo7Dw6WiYawO%2FhPeAHg6fHTbACsMjdfScvh9yEbwYA0XYXpw51D%2FbNJ%2Bc3pnKg3Q5KGG4GlS1%2BMNR74Ox93L0NW90Kkq60qSruSty0c9hIgPa8iB3Z8OCxT0LmXGnLdS%2BMQJaW4w%2Fx9qw6z31cpr5kX0%2BP2jZMpd7H5ysmf7rS9HkzfDv36FtDgiwB6YbAakkgVChBBev886SWCTPWEBU6c6%2Fv0uY9vT1oX0At6A1jrpy8bQDnq3EFXdvSceJPBsBHyNf1%2B11ZqhUUZuGtRdtAWv9EH87401E60zrtB6VSmn4nL9T52wMhk%2BwqrvLWprftBq3zFHncQva94G4ARC%2FV2ZeZk04eSpK57S1In0Zr4v5O0CdS6k9TR1N7iSRLCvZadplqwJuPLAyeqi2h%2B774TVeXynQqtsQeL9Nd7%2FisRlRLm7ymoyOZviLz%2BaNSv76tAYIPOx1GyJ9QVDstGbygJ%2BUQS9YRa6atllfwfQ4rxRJcTAAA%3D&ajaxSingle=testForm%3Asuggestion&testForm%3Asuggestion=testForm%3Asuggestion&inputvalue=a&inputvaluerequest=null&
                  debug[15:28:59,444]: Reqest state : 1
                  debug[15:29:00,330]: set timeout for request suggestion
                  debug[15:29:00,345]: Observer event occurs
                  debug[15:29:00,346]: Call data for update choices
                  


                  hth to find the cause of the error.

                  ~dirk

                  • 8. Re: NullPointerException with SuggestionBox
                    Dirk Schnelle-Walka Newbie

                    I tried the workaround as it is described in the referred post.

                    I get the same error:

                    javax.servlet.ServletException: /index.jsp(28,73) '#{rich:component('suggestion')}.callSuggestion(true)' Function 'rich:component' not found
                     javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
                     org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:177)
                     org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
                     org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380)
                     org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507)
                     org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
                    


                    This is comparable to what the author of that posting said. Unfortunately I am not able to follow his solution:
                    My solution was to combine the new EL-API code with my existing the jbossweb 4.2.3 code.


                    Any help to understand that would be good.
                    ~dirk

                    • 9. Re: NullPointerException with SuggestionBox
                      Dirk Schnelle-Walka Newbie

                      This is indeed a JBoss bug as it is already mentioned in the other thread. I tested with the new JBoss 5.0.0 without any problems.

                      Unfortunately I have to stick to JBoss 4.2.2.

                      The following solved my problems:

                      <f:view>
                       <h:form id="testForm">
                       <h:inputText value="#{bean.property}" id="property" />
                       <h:graphicImage value="cmb-down.png"
                       onclick="document.getElementById('testForm:suggestion').component.callSuggestion(true)"/>
                       <rich:suggestionbox id="suggestion" for="property"
                       suggestionAction="#{bean.autocomplete}"
                       usingSuggestObjects="true" fetchValue="#{suggest.id}"
                       var="suggest" width="200" height="200" immediate="true">
                       <h:column>
                       <h:outputText value="#{suggest.id}" />
                       </h:column>
                       <h:column>
                       <h:outputText value="#{suggest.text}" />
                       </h:column>
                       </rich:suggestionbox>
                       </h:form>


                      The curious thing about it is:
                      What I have written into the onclick attribute is copied from the web page. So JBoss keeps it as it is somewhere else by mistake.

                      ~dirk