Details
-
Type:
Improvement
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 3.1.0.BETA1
-
Component/s: ACE-Components
-
Labels:None
-
Environment:ACE
-
Assignee Priority:P1
-
Affects:Compatibility/Configuration
Description
Bring ace:ajax more in line with f:ajax in its ability to operate with composite components and have its properties be specified by EL expressions coming from ui:parameters.
Issue Links
Activity
| Field | Original Value | New Value |
|---|---|---|
| Salesforce Case | [] | |
| Fix Version/s | 3.1.0.RC1 [ 10337 ] | |
| Assignee | Mark Collette [ mark.collette ] |
| Salesforce Case | [] | |
| Description | Bring ace:ajax more in line with f:ajax | Bring ace:ajax more in line with f:ajax in its ability to operate with composite components and have its properties be specified by EL expressions coming from ui:parameters. |
| Repository | Revision | Date | User | Message |
| ICEsoft Public SVN Repository | #29525 | Mon Jun 18 05:18:15 MDT 2012 | mark.collette | |
| Files Changed | ||||
MODIFY
/icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/ajax/AjaxBehaviorHandler.java
MODIFY
/icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/ajax/AjaxBehaviorRenderer.java
MODIFY
/icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/ajax/AjaxBehavior.java
MODIFY
/icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/ajax/AjaxBehaviorHandlerMeta.java
ADD
/icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/ajax/AjaxBehaviorListenerImpl.java
|
| Attachment | ajax.zip [ 14583 ] |
| Status | Open [ 1 ] | Resolved [ 5 ] |
| Resolution | Fixed [ 1 ] |
| Resolution | Fixed [ 1 ] | |
| Status | Resolved [ 5 ] | Reopened [ 4 ] |
| Assignee Priority | P1 |
| Repository | Revision | Date | User | Message |
| ICEsoft Public SVN Repository | #29534 | Mon Jun 18 17:46:47 MDT 2012 | mark.collette | |
| Files Changed | ||||
MODIFY
/icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/ajax/AjaxBehaviorHandler.java
|
| Repository | Revision | Date | User | Message |
| ICEsoft Public SVN Repository | #29535 | Mon Jun 18 19:55:13 MDT 2012 | mark.collette | |
| Files Changed | ||||
MODIFY
/icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/ajax/AjaxBehaviorHandler.java
|
| Repository | Revision | Date | User | Message |
| ICEsoft Public SVN Repository | #29555 | Tue Jun 19 23:37:28 MDT 2012 | mark.collette | |
| Files Changed | ||||
MODIFY
/icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/event/DateTextChangeEvent.java
MODIFY
/icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/event/CloseEvent.java
MODIFY
/icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/event/DateSelectEvent.java
MODIFY
/icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/event/ToggleEvent.java
|
| Status | Reopened [ 4 ] | Resolved [ 5 ] |
| Resolution | Fixed [ 1 ] |
| Salesforce Case | [] | |
| Fix Version/s | 3.1 [ 10312 ] |
| Salesforce Case | [] | |
| Affects | [Compatibility/Configuration] |
| Issue Type | New Feature [ 2 ] | Improvement [ 4 ] |
| Salesforce Case | [] |
| Status | Resolved [ 5 ] | Closed [ 6 ] |

This is a fuller solution to
ICE-8180/ICE-8223, and uses lessons learned from them, as well as some of the code developed in them, although re-architected.Extend TagHandler instead of BehaviorHandler, which involves directly implementing code instead of delegating to opaque JSF impl class. Also adds the concept of having nested (f:ajax is child of another tag), and wrapped (f:ajax is the parent of other tags) scenarios. Can more directly setup the created AjaxBehavior instance. And there's a subtle difference of treating a composite component parent as potentially a ClientBehaviorHolder itself. Not sure if that was relevant though.
Investigated Mojarra and MyFaces techniques of having f:ajax work both in a nested, and wrapped scenarios. Found way of interoperating with Mojarra for all nested scenarios, but only some with MyFaces. More work could be done there with proper test cases. Won't fully work with wrapping composite components though, as this is done incompatibly and opaquely in Mojarra and MyFaces. Refer to comments in AjaxBehaviorHandler.applyWrapped
for more details.
Moved the listener invocation from AjaxBehavior.broadcast
to AjaxBehaviorListenerImpl, and the MethodExpression creation from AjaxBehaviorHandler's MetaRuleset code to AjaxBehaviorHandler.addListenerToAjaxBehavior
. New superclass doesn't provide MetaRuleset creation anymore. Now we don't need the MethodRule changes that were introduced in
ICE-8180/ICE-8223.Added lazy evaluation of ValueExpressions for ace:ajax properties, which had previously been evaluated at construction time to their primitive values. Now state save the attached state for the ValueExpressions.
trunk
Subversion 29525