[richfaces-svn-commits] JBoss Rich Faces SVN: r1406 - in trunk/richfaces/dataTable: src/main/java/org/richfaces/component and 3 other directories.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Fri Jun 29 05:05:54 EDT 2007


Author: akushunin
Date: 2007-06-29 05:05:53 -0400 (Fri, 29 Jun 2007)
New Revision: 1406

Modified:
   trunk/richfaces/dataTable/skin/dataTable/dataTable.html
   trunk/richfaces/dataTable/src/main/java/org/richfaces/component/Row.java
   trunk/richfaces/dataTable/src/main/java/org/richfaces/component/UIColumnGroup.java
   trunk/richfaces/dataTable/src/main/java/org/richfaces/component/UIDataTable.java
   trunk/richfaces/dataTable/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java
   trunk/richfaces/dataTable/src/main/java/org/richfaces/renderkit/html/ColgroupRenderer.java
   trunk/richfaces/dataTable/src/main/java/org/richfaces/renderkit/html/SubTableRenderer.java
   trunk/richfaces/dataTable/src/test/java/org/richfaces/component/DataTableComponentTest.java
Log:
DataTable Refactoring RF-39, RF-250

Modified: trunk/richfaces/dataTable/skin/dataTable/dataTable.html
===================================================================
--- trunk/richfaces/dataTable/skin/dataTable/dataTable.html	2007-06-28 23:51:05 UTC (rev 1405)
+++ trunk/richfaces/dataTable/skin/dataTable/dataTable.html	2007-06-29 09:05:53 UTC (rev 1406)
@@ -92,8 +92,7 @@
 
 <table border="0" cellpadding="0" cellspacing="0" class="dttbl_table">
 
-<thead>
-
+<thead>
 	<colgroup>
 
 		<col class="dttbl_col_odd dttbl_col_1">
Modified: trunk/richfaces/dataTable/src/main/java/org/richfaces/component/Row.java
===================================================================
--- trunk/richfaces/dataTable/src/main/java/org/richfaces/component/Row.java	2007-06-28 23:51:05 UTC (rev 1405)
+++ trunk/richfaces/dataTable/src/main/java/org/richfaces/component/Row.java	2007-06-29 09:05:53 UTC (rev 1406)
@@ -34,6 +34,6 @@
 	 * Get iterator for all columns contained in this row.
 	 * @return
 	 */
-	public Iterator columns();
+	public Iterator renderedColumns();
 
 }

Modified: trunk/richfaces/dataTable/src/main/java/org/richfaces/component/UIColumnGroup.java
===================================================================
--- trunk/richfaces/dataTable/src/main/java/org/richfaces/component/UIColumnGroup.java	2007-06-28 23:51:05 UTC (rev 1405)
+++ trunk/richfaces/dataTable/src/main/java/org/richfaces/component/UIColumnGroup.java	2007-06-29 09:05:53 UTC (rev 1406)
@@ -37,7 +37,7 @@
 	
 	private static final String COMPONENT_FAMILY = "org.richfaces.Colgroup";
 	
-	public Iterator columns(){
+	public Iterator renderedColumns(){
 		return new FilterIterator(getChildren().iterator(),UIDataTable.isColumn);
 	}
 

Modified: trunk/richfaces/dataTable/src/main/java/org/richfaces/component/UIDataTable.java
===================================================================
--- trunk/richfaces/dataTable/src/main/java/org/richfaces/component/UIDataTable.java	2007-06-28 23:51:05 UTC (rev 1405)
+++ trunk/richfaces/dataTable/src/main/java/org/richfaces/component/UIDataTable.java	2007-06-29 09:05:53 UTC (rev 1406)
@@ -55,6 +55,14 @@
 	 */
 	private static final class ColumnPredicate implements Predicate {
 		public boolean evaluate(Object input) {
+			if (input instanceof UIComponent) {
+				UIComponent component = (UIComponent) input;
+				
+				if (!component.isRendered()) {
+					return false;
+				}
+			}
+			
 			return (input instanceof UIColumn || input instanceof Column);
 		}
 	}
@@ -84,8 +92,15 @@
 		IteratorChain dataChildren = new IteratorChain();
 		dataChildren.addIterator(new FilterIterator(getFacets().values()
 				.iterator(), isAjaxSupport));
+
+		dataChildren.addIterator(renderedColumns());
+		
+		
 		// Append all columns children.
-		for (Iterator iter = columns(); iter.hasNext();) {
+		//dataChildren.addIterator(columns());
+		
+		
+/*		for (Iterator iter = columns(); iter.hasNext();) {
 			UIComponent column = (UIComponent) iter.next();
 			if (column.isRendered()) {
 				dataChildren.addIterator(column.getChildren()
@@ -93,7 +108,7 @@
 
 			}
 		}
-		
+*/		
 		//commons-collections 2.x bug workaround
 		dataChildren.hasNext();
 		
@@ -111,7 +126,7 @@
 		fixedChildren.addIterator(new FilterIterator(getChildren().iterator(),
 				isNotColumn));
 		// Append all columns facets.
-		for (Iterator iter = columns(); iter.hasNext();) {
+		for (Iterator iter = renderedColumns(); iter.hasNext();) {
 			UIComponent column = (UIComponent) iter.next();
 			if (column.isRendered()) {
 				fixedChildren.addIterator(column.getFacets().values()
@@ -126,7 +141,7 @@
 		return fixedChildren;
 	}
 
-	public Iterator columns() {
+	public Iterator renderedColumns() {
 		return new FilterIterator(getChildren().iterator(), isColumn);
 	}
 

Modified: trunk/richfaces/dataTable/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java
===================================================================
--- trunk/richfaces/dataTable/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java	2007-06-28 23:51:05 UTC (rev 1405)
+++ trunk/richfaces/dataTable/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java	2007-06-29 09:05:53 UTC (rev 1406)
@@ -185,7 +185,7 @@
 			throws IOException {
 		UIDataTable table = (UIDataTable) holder.getTable();
 		ResponseWriter writer = context.getResponseWriter();
-		Iterator iter = table.columns();
+		Iterator iter = table.renderedColumns();
 		boolean first = true;
 		int currentColumn = 0;
 		UIComponent column = null;
@@ -287,7 +287,7 @@
 	 * Changed by Alexej Kushunin
 	 */
 	protected Iterator columnFacets(UIDataTable table,final String name){	
-			return new FilterIterator(table.columns(), new Predicate() {
+			return new FilterIterator(table.renderedColumns(), new Predicate() {
 	
 			public boolean evaluate(Object input) {
 				UIComponent component = (UIComponent) input;
@@ -316,7 +316,7 @@
 			count = span.intValue();
 		} else {
 			// calculate max html columns count for all columns/rows children.
-			Iterator col = table.columns();
+			Iterator col = table.renderedColumns();
 			count = calculateRowColumns(col);
 		}
 		return count;
@@ -343,7 +343,7 @@
 					}
 					// Calculate number of columns in row.
 					currentLength = calculateRowColumns(((Row) column)
-							.columns());
+							.renderedColumns());
 					// Store max calculated value
 					if (currentLength > count) {
 						count = currentLength;

Modified: trunk/richfaces/dataTable/src/main/java/org/richfaces/renderkit/html/ColgroupRenderer.java
===================================================================
--- trunk/richfaces/dataTable/src/main/java/org/richfaces/renderkit/html/ColgroupRenderer.java	2007-06-28 23:51:05 UTC (rev 1405)
+++ trunk/richfaces/dataTable/src/main/java/org/richfaces/renderkit/html/ColgroupRenderer.java	2007-06-29 09:05:53 UTC (rev 1406)
@@ -71,7 +71,7 @@
 		if (null != columnClasses) {
 			classes = columnClasses.split(",");
 		}
-		Iterator iter = colgroup.columns();
+		Iterator iter = colgroup.renderedColumns();
 		boolean first = true;
 		int currentColumn = 0;
 		int currentRow = 0;

Modified: trunk/richfaces/dataTable/src/main/java/org/richfaces/renderkit/html/SubTableRenderer.java
===================================================================
--- trunk/richfaces/dataTable/src/main/java/org/richfaces/renderkit/html/SubTableRenderer.java	2007-06-28 23:51:05 UTC (rev 1405)
+++ trunk/richfaces/dataTable/src/main/java/org/richfaces/renderkit/html/SubTableRenderer.java	2007-06-29 09:05:53 UTC (rev 1406)
@@ -62,7 +62,7 @@
 		Iterator headers = columnFacets(dataTable,facetName);
 		String headerClass = (String) component.getAttributes().get(
 				facetName+"Class");
-		if (headers.hasNext()&&findFacet(dataTable,facetName)) {
+		if (headers.hasNext()) {
 			encodeRowStart(context,"dr-subtable-"+facetName+" rich-subtable-"+facetName ,headerClass, dataTable, writer);
 			encodeHeaderFacets(context, writer, headers, "dr-subtable-"+facetName+"cell rich-subtable-"+facetName+"cell", headerClass,
 					facetName, "td");

Modified: trunk/richfaces/dataTable/src/test/java/org/richfaces/component/DataTableComponentTest.java
===================================================================
--- trunk/richfaces/dataTable/src/test/java/org/richfaces/component/DataTableComponentTest.java	2007-06-28 23:51:05 UTC (rev 1405)
+++ trunk/richfaces/dataTable/src/test/java/org/richfaces/component/DataTableComponentTest.java	2007-06-29 09:05:53 UTC (rev 1406)
@@ -23,11 +23,14 @@
 
 import java.util.ArrayList;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 
 import javax.faces.component.UIComponent;
+import javax.faces.component.UIForm;
 import javax.faces.component.UIOutput;
+import javax.faces.component.html.HtmlForm;
 import javax.faces.component.html.HtmlOutputLink;
 import javax.faces.component.html.HtmlOutputText;
 import javax.faces.context.FacesContext;
@@ -36,12 +39,14 @@
 import javax.faces.el.ValueBinding;
 import javax.faces.model.ListDataModel;
 
+import org.ajax4jsf.ajax.UIAjaxCommandLink;
 import org.ajax4jsf.ajax.UIAjaxSupport;
-import org.ajax4jsf.framework.ajax.AjaxSupport;
 import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
 import org.apache.commons.collections.Predicate;
 
+import com.gargoylesoftware.htmlunit.html.HtmlDivision;
 import com.gargoylesoftware.htmlunit.html.HtmlElement;
+import com.gargoylesoftware.htmlunit.html.HtmlInlineQuotation;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 
 /**
@@ -55,6 +60,8 @@
 
     private UIColumn column2;
 
+    private UIForm form = null;
+    
     private UIColumnGroup columnGroup;
 
     /**
@@ -74,7 +81,12 @@
      */
     public void setUp() throws Exception {
         super.setUp();
-
+        
+        form = new HtmlForm();
+        form.setId("form");
+        facesContext.getViewRoot().getChildren().add(form);
+        UIAjaxCommandLink gf = (UIAjaxCommandLink)application.createComponent("org.ajax4jsf.ajax.CommandLink");
+        form.getChildren().add(gf);
         dataTable = (UIDataTable) application
                 .createComponent("org.richfaces.DataTable");
         dataTable.setId("dataTable");
@@ -143,10 +155,11 @@
             }
         });
         column2.getChildren().add(cellElement2);
-        columnGroup.getChildren().add(column2);
+        columnGroup.getChildren().add(column2);     
+        
+        
+        form.getChildren().add(dataTable);
 
-        facesContext.getViewRoot().getChildren().add(dataTable);
-
     }
 
     /*
@@ -324,7 +337,7 @@
         tr = (HtmlElement) trs.get(0);
         assertNotNull(tr);
         classAttr = tr.getAttributeValue("class");
-        System.out.println(classAttr);
+        //System.out.println(classAttr);
         assertTrue(classAttr.contains("dr-table-footer rich-table-footer "));
   
         tds = tr.getHtmlElementsByTagName("td");
@@ -332,7 +345,7 @@
         td = (HtmlElement) tds.get(0);
         assertNotNull(td);
         classAttr = td.getAttributeValue("class");
-        System.out.println(classAttr);
+        //System.out.println(classAttr);
         assertTrue(classAttr.contains("dr-table-footercell rich-table-footercell "));
 
         Iterator fixedChildren = dataTable.fixedChildren();
@@ -406,13 +419,17 @@
         UISubTable subTable = (UISubTable) application
                 .createComponent("org.richfaces.SubTable");
         subTable.setId("subTable");
-        dataTable.getChildren().add(subTable);
-
+       
         UIColumnGroup subTableColumnGroup = (UIColumnGroup) application
                 .createComponent("org.richfaces.ColumnGroup");
 
         UIColumn column3 = (UIColumn) application
                 .createComponent("org.richfaces.Column");
+   
+        UIAjaxCommandLink a4jLink = (UIAjaxCommandLink)application.createComponent("org.ajax4jsf.ajax.CommandLink");
+        a4jLink.setId("a4jLink");
+        column3.getChildren().add(a4jLink);
+        
         subTableColumnGroup.getChildren().add(column3);
         UIOutput text = (UIOutput) createComponent(
                 HtmlOutputText.COMPONENT_TYPE, HtmlOutputText.class.getName(),
@@ -448,7 +465,8 @@
                         HtmlOutputText.class.getName(), null, null, null));
 
         subTable.getAttributes().put("columnClasses", "sub1,sub2");
-
+        dataTable.getChildren().add(subTable);
+        
         assertTrue(subTable.isBreakBefore());
 
         try {
@@ -460,6 +478,10 @@
 
         HtmlPage page = renderView();
         assertNotNull(page);
+        System.out.println(page.asXml());
+         HtmlElement a4jCL = page.getHtmlElementById( a4jLink.getClientId(facesContext));
+             assertNotNull(a4jCL);
+      
         // System.out.println(page.asXml());
 
     }




More information about the richfaces-svn-commits mailing list