Uploaded image for project: 'RichFaces'
  1. RichFaces
  2. RF-2960

a4j:push and Facelets - eventProducer method won't get called

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Critical
    • Resolution: Done
    • Affects Version/s: 3.2.0
    • Fix Version/s: 3.2.0.SR1, 3.2.1
    • Component/s: None
    • Labels:
      None
    • Environment:

      Java 1.6
      JBoss 4.2.2 GA
      Facelets 1.1.14

      Description

      Push doesn't work anymore. The method to register event listener won't get called. The same code works fine with RichFaces 3.1.4

      index.xhtml

      <h:outputText id="msg" value="Test page. The method addListener won't be called."/>
      <a4j:region>
      <h:form>
      <a4j:push reRender="msg" eventProducer="#

      {messageBean.addListener}

      " interval="3000"/>
      </h:form>
      </a4j:region>

      MessageBean:

      public void addListener(EventListener listener) {
      System.out.println("MessageBean.addListener");
      }

        Gliffy Diagrams

          Issue Links

            Activity

            Hide
            alexsmirnov Alexander Smirnov added a comment -

            this is error in the generated Facelet Tag Handler. No code for assign component eventProducer property with MethodExpression value.

            Show
            alexsmirnov Alexander Smirnov added a comment - this is error in the generated Facelet Tag Handler. No code for assign component eventProducer property with MethodExpression value.
            Hide
            alexsmirnov Alexander Smirnov added a comment -

            New tag handler have been created.

            Show
            alexsmirnov Alexander Smirnov added a comment - New tag handler have been created.
            Hide
            jbehrens Jens Behrens added a comment -

            I tried your changed classes above...
            The eventProducer method is getting called, but actually rerendering of specified components is happening always and not only if an event occurs via onEvent method of the listener...
            The component has interval 3000, so every 3 seconds the msg component is rerendered instead of checking if there actually is an event in queue.

            Show
            jbehrens Jens Behrens added a comment - I tried your changed classes above... The eventProducer method is getting called, but actually rerendering of specified components is happening always and not only if an event occurs via onEvent method of the listener... The component has interval 3000, so every 3 seconds the msg component is rerendered instead of checking if there actually is an event in queue.
            Hide
            nbelaevski Nick Belaevski added a comment -

            Verified for 3.2.x

            Show
            nbelaevski Nick Belaevski added a comment - Verified for 3.2.x
            Hide
            mvitenkov Mikhail Vitenkov added a comment -

            Verified at 3.2.0.SR1

            Show
            mvitenkov Mikhail Vitenkov added a comment - Verified at 3.2.0.SR1

              People

              • Assignee:
                mvitenkov Mikhail Vitenkov
                Reporter:
                egalperin Eugen Galperin
              • Votes:
                1 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Development