Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Won't Fix
-
Affects Version/s: EE-3.0.0.GA_P01, 3.2
-
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:
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.
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
Field | Original Value | New Value |
---|---|---|
Attachment | DataPaginatorTest.zip [ 15326 ] |
Assignee | Deryk Sinotte [ deryk.sinotte ] | |
Assignee Priority | P1 [ 10010 ] |
Fix Version/s | 3.3 [ 10370 ] |
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Won't Fix [ 2 ] |
Resolution | Won't Fix [ 2 ] | |
Status | Resolved [ 5 ] | Reopened [ 4 ] |
Assignee Priority | P1 [ 10010 ] | P3 [ 10012 ] |
Assignee Priority | P3 [ 10012 ] | P2 [ 10011 ] |
Fix Version/s | 3.4 [ 10770 ] | |
Fix Version/s | 3.3 [ 10370 ] |
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 ] |
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Resolution | Won't Fix [ 2 ] |
Fix Version/s | 4.0 [ 11382 ] |
Status | Resolved [ 5 ] | Closed [ 6 ] |
Attached test case that shows issue.