Uploaded image for project: 'MyFaces Tobago'
  1. MyFaces Tobago
  2. TOBAGO-1453

SelectManyRendererBase should support Collection

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0.7
    • 2.0.8, 3.0.0-alpha-1
    • Core
    • None

    Description

      Currently an IllegalArgumentException is thrown when trying to use selectMany with Collection.

      There is a code comment that UISelectMany expects List but this is no longer valid: https://docs.oracle.com/javaee/6/api/javax/faces/component/UISelectMany.html

      Caused by: java.lang.IllegalArgumentException: ValueBinding for UISelectMany must be of type List or Array
      	at org.apache.myfaces.tobago.renderkit.SelectManyRendererBase.getConvertedUISelectManyValue(SelectManyRendererBase.java:182)
      	at org.apache.myfaces.tobago.renderkit.SelectManyRendererBase.getConvertedValue(SelectManyRendererBase.java:88)
      	at org.apache.myfaces.tobago.renderkit.AbstractRendererBaseWrapper.getConvertedValue(AbstractRendererBaseWrapper.java:90)
      	at javax.faces.component.UISelectMany.getConvertedValue(UISelectMany.java:388)
      	at javax.faces.component.UIInput.validate(UIInput.java:598)
      	at javax.faces.component.UIInput.processValidators(UIInput.java:274)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1457)
      	at org.apache.myfaces.tobago.internal.component.AbstractUIBox.processValidators(AbstractUIBox.java:38)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1457)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1457)
      	at org.apache.myfaces.tobago.internal.component.AbstractUIForm.processValidators(AbstractUIForm.java:83)
      	at org.apache.myfaces.tobago.internal.component.AbstractUIPage.processValidators(AbstractUIPage.java:214)
      	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1457)
      	at javax.faces.component.UIViewRoot._processValidatorsDefault(UIViewRoot.java:1697)
      	at javax.faces.component.UIViewRoot.access$600(UIViewRoot.java:77)
      	at javax.faces.component.UIViewRoot$ProcessValidatorPhaseProcessor.process(UIViewRoot.java:1804)
      	at javax.faces.component.UIViewRoot._process(UIViewRoot.java:1653)
      	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:909)
      	at org.apache.myfaces.lifecycle.ProcessValidationsExecutor.execute(ProcessValidationsExecutor.java:38)
      	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:196)
      	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:143)
      	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
      	... 63 more
      

      Attachments

        Activity

          People

            bommel Bernd Bohmann
            deki Dennis Kieselhorst
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: