ICEfaces
  1. ICEfaces
  2. ICE-8871

ice:dataPaginator - IllegalArgumentException thrown when using paginator in a portlet

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: EE-3.0.0.GA_P01, 3.2
    • Fix Version/s: 4.0.BETA, 4.0
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      Liferay 6.0.6 - Tomcat 6.0.29, Liferay Faces Bridge 3.0.0
    • Assignee Priority:
      P2
    • Workaround Exists:
      Yes
    • Workaround Description:
      Hide
      As per http://issues.liferay.com/browse/FACES-1482 there are a few potential workarounds for this problem:

      1) Use one of the following composite component tags, found in the Liferay Faces Portal dependency:
      - liferay-ui:ice-info-data-paginator
      - liferay-ui:ice-nav-data-paginator
      - liferay-ui:ice-page-iterator

      3) If possible, upgrade to use the ace:dataTable component that has a built-in paginator and works well with the latest version of the LiferayFaces Bridge.

      2) Force the component to evaluate expressions instead of binding them as literals by modifying the attribute values to look like this:
       
      <ice:dataPaginator id="paginator"
                                  fastStep="${2}"
                                  for="carTable"
                                  paginator="${true}"
                                  paginatorMaxPages="${3}">
      Show
      As per http://issues.liferay.com/browse/FACES-1482 there are a few potential workarounds for this problem: 1) Use one of the following composite component tags, found in the Liferay Faces Portal dependency: - liferay-ui:ice-info-data-paginator - liferay-ui:ice-nav-data-paginator - liferay-ui:ice-page-iterator 3) If possible, upgrade to use the ace:dataTable component that has a built-in paginator and works well with the latest version of the LiferayFaces Bridge. 2) Force the component to evaluate expressions instead of binding them as literals by modifying the attribute values to look like this:   <ice:dataPaginator id="paginator"                             fastStep="${2}"                             for="carTable"                             paginator="${true}"                             paginatorMaxPages="${3}">

      Description

      When an ice:dataPaginator is used in a Liferay portley an IllegalArgumentException is thrown. Sample of stack trace:

      java.lang.IllegalArgumentException: argument type mismatch
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at javax.faces.component.UIComponentBase$AttributesMap.put(UIComponentBase.java:2399)
              at javax.faces.component.UIComponentBase$AttributesMap.put(UIComponentBase.java:2283)
              at com.sun.faces.facelets.tag.jsf.ComponentRule$LiteralAttributeMetadata.applyMetadata(ComponentRule.java:87)
              at com.sun.faces.facelets.tag.MetadataImpl.applyMetadata(MetadataImpl.java:81)
              at javax.faces.view.facelets.MetaTagHandler.setAttributes(MetaTagHandler.java:129)
              at javax.faces.view.facelets.DelegatingMetaTagHandler.setAttributes(DelegatingMetaTagHandler.java:102)

      Removing the paginator the page renders fine. This also works fine in a non-portlet environment.

        Activity

        Arran Mccullough created issue -
        Arran Mccullough made changes -
        Field Original Value New Value
        Attachment DataPaginatorTest.zip [ 15326 ]
        Ken Fyten made changes -
        Assignee Deryk Sinotte [ deryk.sinotte ]
        Assignee Priority P1 [ 10010 ]
        Ken Fyten made changes -
        Fix Version/s 3.3 [ 10370 ]
        Deryk Sinotte made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Won't Fix [ 2 ]
        Deryk Sinotte made changes -
        Resolution Won't Fix [ 2 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Assignee Priority P1 [ 10010 ] P3 [ 10012 ]
        Deryk Sinotte made changes -
        Assignee Priority P3 [ 10012 ] P2 [ 10011 ]
        Ken Fyten made changes -
        Fix Version/s 3.4 [ 10770 ]
        Fix Version/s 3.3 [ 10370 ]
        Deryk Sinotte made changes -
        Workaround Description As per http://issues.liferay.com/browse/FACES-1482 there are a few potential workarounds for this problem:

        1) Use one of the following composite component tags, found in the Liferay Faces Portal dependency:
        - liferay-ui:ice-info-data-paginator
        - liferay-ui:ice-nav-data-paginator
        - liferay-ui:ice-page-iterator

        3) If possible, upgrade to use the ace:dataTable component that has a built-in paginator and works well with the latest version of the LiferayFaces Bridge.

        2) Force the component to evaluate expressions instead of binding them as literals by modifying the attribute values to look like this:
         
        <ice:dataPaginator id="paginator"
                                    fastStep="${2}"
                                    for="carTable"
                                    paginator="${true}"
                                    paginatorMaxPages="${3}">
        Workaround Exists Yes [ 10007 ]
        Deryk Sinotte made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Won't Fix [ 2 ]
        Ken Fyten made changes -
        Fix Version/s 4.0 [ 11382 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Deryk Sinotte
            Reporter:
            Arran Mccullough
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: