Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 2.0.1, EE-2.0.0.GA
-
Fix Version/s: 2.1-Beta, 3.0, EE-2.0.0.GA_P01
-
Component/s: Framework
-
Labels:None
-
Environment:ICEfaces 2 Portlet Portal
-
Assignee Priority:P3
Description
In testing the latest component-showcase-portlets example in the icefaces2/trunk, I ran into a problem with delta submit. It looks like a recent change that delta submit has been enabled by default for the component-showcase example.
<context-param>
<param-name>org.icefaces.deltaSubmit</param-name>
<param-value>true</param-value>
</context-param>
When running the example on WebSphere Portal 7 with the latest PortletFaces bridge and the ICEfaces EE extensions, I ran into the following:
java.lang.ClassCastException: com.ibm.ws.portletcontainer.core.impl.ResourceRequestImpl incompatible with javax.portlet.ActionRequest
at org.icefaces.impl.event.DeltaSubmitPhaseListener.reconstructParametersFromDeltaSubmit(DeltaSubmitPhaseListener.java:157)
at org.icefaces.impl.event.DeltaSubmitPhaseListener.beforePhase(DeltaSubmitPhaseListener.java:58)
at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:228)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:99)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at org.portletfaces.bridge.BridgeImpl.doFacesRequest(BridgeImpl.java:513)
at org.portletfaces.bridge.GenericFacesPortlet.serveResource(GenericFacesPortlet.java:131
...
The code in the phase listener is casting to an ActionRequest which, for some requests, is too specific. While the request could be an ActionRequest, it's more likely to be a ResourceRequest as that is how Ajax requests are treated.
<context-param>
<param-name>org.icefaces.deltaSubmit</param-name>
<param-value>true</param-value>
</context-param>
When running the example on WebSphere Portal 7 with the latest PortletFaces bridge and the ICEfaces EE extensions, I ran into the following:
java.lang.ClassCastException: com.ibm.ws.portletcontainer.core.impl.ResourceRequestImpl incompatible with javax.portlet.ActionRequest
at org.icefaces.impl.event.DeltaSubmitPhaseListener.reconstructParametersFromDeltaSubmit(DeltaSubmitPhaseListener.java:157)
at org.icefaces.impl.event.DeltaSubmitPhaseListener.beforePhase(DeltaSubmitPhaseListener.java:58)
at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:228)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:99)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at org.portletfaces.bridge.BridgeImpl.doFacesRequest(BridgeImpl.java:513)
at org.portletfaces.bridge.GenericFacesPortlet.serveResource(GenericFacesPortlet.java:131
...
The code in the phase listener is casting to an ActionRequest which, for some requests, is too specific. While the request could be an ActionRequest, it's more likely to be a ResourceRequest as that is how Ajax requests are treated.
Activity
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #24517 | Mon May 09 15:12:22 MDT 2011 | deryk.sinotte | |
Files Changed | ||||
MODIFY
/icefaces2/trunk/icefaces/core/src/main/java/org/icefaces/impl/event/DeltaSubmitPhaseListener.java
|
Deryk Sinotte
created issue -
Ken Fyten
made changes -
Field | Original Value | New Value |
---|---|---|
Salesforce Case | [] | |
Fix Version/s | 2.1 [ 10241 ] |
Deryk Sinotte
made changes -
Assignee | Deryk Sinotte [ deryk.sinotte ] |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #24572 | Fri May 13 14:27:21 MDT 2011 | deryk.sinotte | |
Files Changed | ||||
MODIFY
/icefaces2/branches/icefaces-2.0.x-maintenance/icefaces/core/src/main/java/org/icefaces/impl/event/DeltaSubmitPhaseListener.java
|
Ken Fyten
made changes -
Salesforce Case | [] | |
Assignee Priority | P3 |
Deryk Sinotte
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Fix Version/s | 2.1-Beta [ 10291 ] | |
Fix Version/s | 2.1 [ 10241 ] |
Ken Fyten
made changes -
Fix Version/s | 3.0 [ 10241 ] |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
Patched the trunk so that the DeltaSubmitPhaseListener wraps and casts the incoming requests as more generic PortletRequests rather than the more specific ActionRequests. Most Ajax related communication is done via ResourceRequests.