Author: sergeyhalipov
Date: 2008-02-19 06:02:20 -0500 (Tue, 19 Feb 2008)
New Revision: 6154
Modified:
trunk/framework/impl/src/main/java/org/ajax4jsf/component/UIDataAdaptor.java
trunk/ui/dataTable/src/main/java/org/richfaces/component/UIDataTable.java
Log:
http://jira.jboss.com/jira/browse/RF-1839
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/component/UIDataAdaptor.java
===================================================================
---
trunk/framework/impl/src/main/java/org/ajax4jsf/component/UIDataAdaptor.java 2008-02-19
10:25:01 UTC (rev 6153)
+++
trunk/framework/impl/src/main/java/org/ajax4jsf/component/UIDataAdaptor.java 2008-02-19
11:02:20 UTC (rev 6154)
@@ -35,6 +35,7 @@
import javax.faces.component.EditableValueHolder;
import javax.faces.component.NamingContainer;
import javax.faces.component.StateHolder;
+import javax.faces.component.UIColumn;
import javax.faces.component.UIComponent;
import javax.faces.component.UIData;
import javax.faces.context.FacesContext;
@@ -54,6 +55,7 @@
import org.ajax4jsf.renderkit.AjaxChildrenRenderer;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.richfaces.component.Column;
/**
* Base class for iterable components, like dataTable, Tomahawk dataList,
@@ -109,7 +111,14 @@
public void processComponent(FacesContext context, UIComponent c,
Object argument) {
- c.processDecodes(context);
+ if (c instanceof UIColumn || c instanceof Column) {
+ for (Iterator children = c.getChildren().iterator(); children.hasNext(); ) {
+ UIComponent child = (UIComponent) children.next();
+ child.processDecodes(context);;
+ }
+ } else {
+ c.processDecodes(context);
+ }
}
};
@@ -121,7 +130,14 @@
public void processComponent(FacesContext context, UIComponent c,
Object argument) {
- c.processValidators(context);
+ if (c instanceof UIColumn || c instanceof Column) {
+ for (Iterator children = c.getChildren().iterator(); children.hasNext(); ) {
+ UIComponent child = (UIComponent) children.next();
+ child.processValidators(context);
+ }
+ } else {
+ c.processValidators(context);
+ }
}
};
@@ -133,7 +149,14 @@
public void processComponent(FacesContext context, UIComponent c,
Object argument) {
- c.processUpdates(context);
+ if (c instanceof UIColumn || c instanceof Column) {
+ for (Iterator children = c.getChildren().iterator(); children.hasNext(); ) {
+ UIComponent child = (UIComponent) children.next();
+ child.processUpdates(context);
+ }
+ } else {
+ c.processUpdates(context);
+ }
}
};
@@ -866,9 +889,11 @@
while (itr.hasNext()) {
saveChildState(faces, (UIComponent) itr.next(), childState);
}
- itr = c.getFacets().values().iterator();
- while (itr.hasNext()) {
- saveChildState(faces, (UIComponent) itr.next(), childState);
+ if (!(c instanceof UIColumn || c instanceof Column)) {
+ itr = c.getFacets().values().iterator();
+ while (itr.hasNext()) {
+ saveChildState(faces, (UIComponent) itr.next(), childState);
+ }
}
}
@@ -919,9 +944,11 @@
while (itr.hasNext()) {
restoreChildState(faces, (UIComponent) itr.next(), childState);
}
- itr = c.getFacets().values().iterator();
- while (itr.hasNext()) {
- restoreChildState(faces, (UIComponent) itr.next(), childState);
+ if (!(c instanceof UIColumn || c instanceof Column)) {
+ itr = c.getFacets().values().iterator();
+ while (itr.hasNext()) {
+ restoreChildState(faces, (UIComponent) itr.next(), childState);
+ }
}
}
Modified: trunk/ui/dataTable/src/main/java/org/richfaces/component/UIDataTable.java
===================================================================
--- trunk/ui/dataTable/src/main/java/org/richfaces/component/UIDataTable.java 2008-02-19
10:25:01 UTC (rev 6153)
+++ trunk/ui/dataTable/src/main/java/org/richfaces/component/UIDataTable.java 2008-02-19
11:02:20 UTC (rev 6154)
@@ -110,13 +110,9 @@
.iterator(), isAjaxSupport));
- //
http://jira.jboss.com/jira/browse/RF-1839
- // Append all column's children (facets have
- // been processed with fixedChildren() already)
- for (Iterator columns = columns(); columns.hasNext(); ) {
- UIComponent column = (UIComponent) columns.next();
- dataChildren.addIterator(column.getChildren().iterator());
- }
+
+ // Append all columns children.
+ dataChildren.addIterator(columns());
// for (Iterator iter = columns(); iter.hasNext();) {
// UIComponent column = (UIComponent) iter.next();