Details
-
Type: Improvement
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 4.2
-
Fix Version/s: 4.3
-
Component/s: ACE-Components, MOBI-Components
-
Labels:None
-
Environment:jsf2.2 ace mobi
-
Assignee Priority:P3
Description
The org.icefaces.impl.component.UISeriesBase class was ported from IF1.8.x and is very complex, manipulating the DOM directly...which causes issues in state saving of components. Since ace:dataTable has successfully been implemented using UIData and compliant with jsf 2.2 implementations, it should be the standard for all components.
ace:List should be the first component to be migrated away from UISeriesBase. current source (rev 51373) ListMeta class :-
extendsClass = "org.icefaces.impl.component.UISeriesBase",
When extending (from Meta Class)
extendsClass = "javax.faces.component.UIData",
preliminary findings show that this component needs work to have children of UIInput and UICommand where the submit can be done using ace:ajax and listeners fired.
<h:commandLink> and <h:commandButton> as children do submit a request with <f:ajax/>, but actionListeners do not fire when children of ace:list. ace:pushButton and <ace:linkButton> do not submit when using <ace:ajax/> when children of an <ace:list>
Current QA tests do not have any tests for ace:list regarding children of UICommand and UIInput with ace:ajax or f:ajax. This also should be rectified.
ace:List should be the first component to be migrated away from UISeriesBase. current source (rev 51373) ListMeta class :-
extendsClass = "org.icefaces.impl.component.UISeriesBase",
When extending (from Meta Class)
extendsClass = "javax.faces.component.UIData",
preliminary findings show that this component needs work to have children of UIInput and UICommand where the submit can be done using ace:ajax and listeners fired.
<h:commandLink> and <h:commandButton> as children do submit a request with <f:ajax/>, but actionListeners do not fire when children of ace:list. ace:pushButton and <ace:linkButton> do not submit when using <ace:ajax/> when children of an <ace:list>
Current QA tests do not have any tests for ace:list regarding children of UICommand and UIInput with ace:ajax or f:ajax. This also should be rectified.
r52488: implemented custom processDecodes(), processValidators(), processUpdates(), and iterate() methods, in order to actually be able to proceess child components, especially UICommand and UIInput components, since the UIData superclass implementation assumed the existence of UIColumn components containing other child components
This issue was actually failing on Tomcat as well, on JSF 2.2 and 2.3.