CVS: Tapestry/contrib/src/net/sf/tapestry/contrib/table/model/simple SimpleTableValueRendererSource.java,NONE,1.1 SimpleTableColumnRendererSource.java,NONE,1.1 ITableColumnEvaluator.java,NONE,1.1 SimpleTableColumn.java,1.10,1.11 SimpleSetTableDataModel.java,1.4,1.5 SimpleTableSortingState.java,1.4,1.5 SimpleListTableDataModel.java,1.5,1.6 SimpleTableModel.java,1.8,1.9 SimpleTablePagingState.java,1.5,1.6 SimpleTableSessionStateManager.java,1.7,1.8 SimpleTableColumnModel.java,1.5,1.6 ISimpleTableColumnRenderer.java,1.4,NONE

Mind Bridge <[email protected]>
Newsgroups gmane.comp.java.tapestry.cvs
Message-ID <[email protected]>
Update of /cvsroot/tapestry/Tapestry/contrib/src/net/sf/tapestry/contrib/table/model/simple
In directory sc8-pr-cvs1:/tmp/cvs-serv6509/contrib/src/net/sf/tapestry/contrib/table/model/simple

Modified Files:
	SimpleTableColumn.java SimpleSetTableDataModel.java 
	SimpleTableSortingState.java SimpleListTableDataModel.java 
	SimpleTableModel.java SimpleTablePagingState.java 
	SimpleTableSessionStateManager.java 
	SimpleTableColumnModel.java 
Added Files:
	SimpleTableValueRendererSource.java 
	SimpleTableColumnRendererSource.java 
	ITableColumnEvaluator.java 
Removed Files:
	ISimpleTableColumnRenderer.java 
Log Message:


--- NEW FILE: SimpleTableValueRendererSource.java ---
package net.sf.tapestry.contrib.table.model.simple;

import net.sf.tapestry.IRender;
import net.sf.tapestry.IRequestCycle;
import net.sf.tapestry.contrib.table.model.ITableColumn;
import net.sf.tapestry.contrib.table.model.ITableModelSource;
import net.sf.tapestry.contrib.table.model.ITableRendererSource;
import net.sf.tapestry.valid.RenderString;

/**
 * This is a simple implementation of 
 * {@link net.sf.tapestry.contrib.table.model.column.ITableValueRendererSource} 
 * that returns a standard column value renderer.
 * 
 * This implementation requires that the column passed is of type SimpleTableColumn
 * 
 * @see net.sf.tapestry.contrib.table.model.column.AbstractTableColumn
 * @version $Id: SimpleTableValueRendererSource.java,v 1.1 2002/12/23 12:40:28 mindbridge Exp $
 * @author mindbridge
 * @since 2.3
 */
public class SimpleTableValueRendererSource implements ITableRendererSource
{

	/**
	 * @see net.sf.tapestry.contrib.table.model.column.ITableValueRendererSource#getValueRenderer(IRequestCycle, ITableModelSource, ITableColumn, Object)
	 */
	public IRender getRenderer(
		IRequestCycle objCycle,
		ITableModelSource objSource,
		ITableColumn objColumn,
		Object objRow)
	{
		SimpleTableColumn objSimpleColumn = (SimpleTableColumn) objColumn;

		Object objValue = objSimpleColumn.getColumnValue(objRow);
		if (objValue == null)
			objValue = "";

		return new RenderString(objValue.toString());
	}

}

--- NEW FILE: SimpleTableColumnRendererSource.java ---
package net.sf.tapestry.contrib.table.model.simple;

import net.sf.tapestry.ComponentAddress;
import net.sf.tapestry.IRender;
import net.sf.tapestry.IRequestCycle;
import net.sf.tapestry.contrib.table.model.ITableColumn;
import net.sf.tapestry.contrib.table.model.ITableModelSource;
import net.sf.tapestry.contrib.table.model.ITableRendererSource;
import net.sf.tapestry.contrib.table.model.common.ComponentTableRendererSource;

/**
 * This is a simple implementation of 
 * {@link net.sf.tapestry.contrib.table.model.column.ITableColumnRendererSource} 
 * that returns a standard column renderer. <p>
 * 
 * This implementation requires that the column passed is of type SimpleTableColumn
 * 
 * @see net.sf.tapestry.contrib.table.model.column.AbstractTableColumn
 * @version $Id: SimpleTableColumnRendererSource.java,v 1.1 2002/12/23 12:40:28 mindbridge Exp $
 * @author mindbridge
 * @since 2.3
 */
public class SimpleTableColumnRendererSource implements ITableRendererSource
{
	private ComponentTableRendererSource m_objComponentRenderer;

	public SimpleTableColumnRendererSource()
	{
		m_objComponentRenderer = null;
	}

	/**
	 * @see net.sf.tapestry.contrib.table.model.column.ITableColumnRendererSource#getColumnRenderer(IRequestCycle, ITableModelSource, ITableColumn)
	 */
	public IRender getRenderer(
		IRequestCycle objCycle,
		ITableModelSource objSource,
		ITableColumn objColumn,
		Object objRow)
	{
		if (m_objComponentRenderer == null)
		{
			synchronized (this)
			{
				if (m_objComponentRenderer == null)
				{
					ComponentAddress objAddress =
						new ComponentAddress(
							objSource.getNamespace(),
							"SimpleTableColumnPage",
							"tableColumnComponent");
					m_objComponentRenderer =
						new ComponentTableRendererSource(objAddress);
				}
			}
		}

		return m_objComponentRenderer.getRenderer(
			objCycle,
			objSource,
			objColumn,
			objRow);
	}
}

--- NEW FILE: ITableColumnEvaluator.java ---
package net.sf.tapestry.contrib.table.model.simple;

import java.io.Serializable;

import net.sf.tapestry.contrib.table.model.ITableColumn;

/**
 * @author mindbridge
 *
 */
public interface ITableColumnEvaluator extends Serializable
{
	Object getColumnValue(ITableColumn objColumn, Object objRow);
}

Index: SimpleTableColumn.java
===================================================================
RCS file: /cvsroot/tapestry/Tapestry/contrib/src/net/sf/tapestry/contrib/table/model/simple/SimpleTableColumn.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** SimpleTableColumn.java	27 Nov 2002 17:58:49 -0000	1.10
--- SimpleTableColumn.java	23 Dec 2002 12:40:28 -0000	1.11
***************
*** 4,26 ****
  import java.util.Comparator;
  
! import net.sf.tapestry.INamespace;
! import net.sf.tapestry.IPage;
! import net.sf.tapestry.IRender;
! import net.sf.tapestry.IRequestCycle;
! import net.sf.tapestry.contrib.table.model.ITableColumn;
! import net.sf.tapestry.contrib.table.model.ITableModelSource;
! import net.sf.tapestry.valid.RenderString;
  
  /**
   * @version $Id$
   * @author mindbridge
-  *
   */
! public abstract class SimpleTableColumn implements ITableColumn, Serializable
  {
- 	private String m_strColumnName;
  	private String m_strDisplayName;
! 	private boolean m_bSortable;
! 	private Comparator m_objComparator;
  
  	/**
--- 4,21 ----
  import java.util.Comparator;
  
! import net.sf.tapestry.contrib.table.model.common.AbstractTableColumn;
  
  /**
+  * A simple minimal implementation of the 
+  * {@link net.sf.tapestry.contrib.table.model.ITableColumn} interface that
+  * provides all the basic services for displaying a column.
+  * 
   * @version $Id$
   * @author mindbridge
   */
! public class SimpleTableColumn extends AbstractTableColumn
  {
  	private String m_strDisplayName;
! 	private ITableColumnEvaluator m_objEvaluator;
  
  	/**
***************
*** 34,38 ****
  
  	/**
!      * Creates a SimpleTableColumn
  	 * @param strColumnName the identifying name and display name of the column
  	 * @param bSortable whether the column is sortable
--- 29,33 ----
  
  	/**
! 	 * Creates a SimpleTableColumn
  	 * @param strColumnName the identifying name and display name of the column
  	 * @param bSortable whether the column is sortable
***************
*** 44,48 ****
  
  	/**
!      * Creates a SimpleTableColumn
  	 * @param strColumnName the identifying name of the column
  	 * @param strDisplayName the display name of the column
--- 39,57 ----
  
  	/**
! 	 * Creates a SimpleTableColumn
! 	 * @param strColumnName the identifying name and display name of the column
! 	 * @param bSortable whether the column is sortable
!      * @param objEvaluator the evaluator to extract the column value from the row
! 	 */
! 	public SimpleTableColumn(
! 		String strColumnName,
!         ITableColumnEvaluator objEvaluator,
! 		boolean bSortable)
! 	{
! 		this(strColumnName, strColumnName, objEvaluator, bSortable);
! 	}
! 
! 	/**
! 	 * Creates a SimpleTableColumn
  	 * @param strColumnName the identifying name of the column
  	 * @param strDisplayName the display name of the column
***************
*** 54,58 ****
  
  	/**
!      * Creates a SimpleTableColumn
  	 * @param strColumnName the identifying name of the column
  	 * @param strDisplayName the display name of the column
--- 63,67 ----
  
  	/**
! 	 * Creates a SimpleTableColumn
  	 * @param strColumnName the identifying name of the column
  	 * @param strDisplayName the display name of the column
***************
*** 64,86 ****
  		boolean bSortable)
  	{
! 		m_strColumnName = strColumnName;
! 		m_strDisplayName = strDisplayName;
! 		m_bSortable = bSortable;
! 
! 		setComparator(new DefaultComparator());
  	}
  
  	/**
! 	 * @see net.sf.tapestry.contrib.table.model.ITableColumn#getColumnName()
  	 */
! 	public String getColumnName()
  	{
! 		return m_strColumnName;
  	}
  
  	/**
  	 * Returns the display name of the column that will be used 
!      * in the table header.
!      * Override for internationalization.
  	 * @return String the display name of the column
  	 */
--- 73,104 ----
  		boolean bSortable)
  	{
! 		this(strColumnName, strDisplayName, null, bSortable);
  	}
  
  	/**
! 	 * Creates a SimpleTableColumn
! 	 * @param strColumnName the identifying name of the column
! 	 * @param strDisplayName the display name of the column
! 	 * @param bSortable whether the column is sortable
!      * @param objEvaluator the evaluator to extract the column value from the row
  	 */
! 	public SimpleTableColumn(
! 		String strColumnName,
! 		String strDisplayName,
! 		ITableColumnEvaluator objEvaluator,
! 		boolean bSortable)
  	{
! 		super(strColumnName, bSortable, null);
! 		setComparator(new DefaultComparator());
! 		setDisplayName(strDisplayName);
! 		setColumnRendererSource(new SimpleTableColumnRendererSource());
! 		setValueRendererSource(new SimpleTableValueRendererSource());
! 		setEvaluator(objEvaluator);
  	}
  
  	/**
  	 * Returns the display name of the column that will be used 
! 	 * in the table header.
! 	 * Override for internationalization.
  	 * @return String the display name of the column
  	 */
***************
*** 91,112 ****
  
  	/**
! 	 * @see net.sf.tapestry.contrib.table.model.ITableColumn#getSortable()
  	 */
! 	public boolean getSortable()
  	{
! 		return m_bSortable;
  	}
  
  	/**
! 	 * @see net.sf.tapestry.contrib.table.model.ITableColumn#getComparator()
  	 */
! 	public Comparator getComparator()
  	{
! 		return m_objComparator;
  	}
  
! 	protected void setComparator(Comparator objComparator)
  	{
! 		m_objComparator = objComparator;
  	}
  
--- 109,136 ----
  
  	/**
! 	 * Sets the displayName.
! 	 * @param displayName The displayName to set
  	 */
! 	public void setDisplayName(String displayName)
  	{
! 		m_strDisplayName = displayName;
  	}
  
  	/**
! 	 * Returns the evaluator.
! 	 * @return ITableColumnEvaluator
  	 */
! 	public ITableColumnEvaluator getEvaluator()
  	{
! 		return m_objEvaluator;
  	}
  
! 	/**
! 	 * Sets the evaluator.
! 	 * @param evaluator The evaluator to set
! 	 */
! 	public void setEvaluator(ITableColumnEvaluator evaluator)
  	{
! 		m_objEvaluator = evaluator;
  	}
  
***************
*** 117,162 ****
  	 */
  	public Object getColumnValue(Object objRow)
-     {
-         return objRow.toString();
-     }
- 
- 	/**
- 	 * @see net.sf.tapestry.contrib.table.model.ITableColumn#getColumnRenderer(IRequestCycle, ITableModelSource)
- 	 */
- 	public IRender getColumnRenderer(
- 		IRequestCycle objCycle,
- 		ITableModelSource objSource)
- 	{
- 		// to be implemented
- 		//return new RenderString(getDisplayName());
- 		INamespace objNamespace = objSource.getNamespace();
- 		String strNamespace = objNamespace.getExtendedId();
- 		if (strNamespace == null)
- 			strNamespace = "";
- 		else
- 			strNamespace = strNamespace + ":";
- 
- 		IPage objPage =
- 			objCycle.getPage(strNamespace + "SimpleTableColumnPage");
- 		ISimpleTableColumnRenderer objRenderer =
- 			(ISimpleTableColumnRenderer) objPage.getComponent(
- 				"tableColumnComponent");
- 		objRenderer.initializeColumnRenderer(this, objSource);
- 		return objRenderer;
- 	}
- 
- 	/**
- 	 * @see net.sf.tapestry.contrib.table.model.ITableColumn#getValueRenderer(IRequestCycle, ITableModelSource, Object)
- 	 */
- 	public IRender getValueRenderer(
- 		IRequestCycle objCycle,
- 		ITableModelSource objSource,
- 		Object objRow)
  	{
!         Object objValue = getColumnValue(objRow);
!         if (objValue == null)
!             objValue = "";
  
! 		return new RenderString(objValue.toString());
  	}
  
--- 141,151 ----
  	 */
  	public Object getColumnValue(Object objRow)
  	{
! 		ITableColumnEvaluator objEvaluator = getEvaluator();
! 		if (objEvaluator != null)
! 			return objEvaluator.getColumnValue(this, objRow);
  
! 		// default fallback
! 		return objRow.toString();
  	}
  
***************
*** 178,180 ****
--- 167,170 ----
  		}
  	}
+ 
  }

Index: SimpleSetTableDataModel.java
===================================================================
RCS file: /cvsroot/tapestry/Tapestry/contrib/src/net/sf/tapestry/contrib/table/model/simple/SimpleSetTableDataModel.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** SimpleSetTableDataModel.java	27 Nov 2002 17:58:49 -0000	1.4
--- SimpleSetTableDataModel.java	23 Dec 2002 12:40:28 -0000	1.5
***************
*** 13,18 ****
  
  /**
   * @author mindbridge
-  *
   */
  public class SimpleSetTableDataModel extends AbstractTableDataModel implements Serializable
--- 13,21 ----
  
  /**
+  * A minimal set implementation of the 
+  * {@link net.sf.tapestry.contrib.table.model.ITableDataModel} interface
+  * 
+  * @version $Id$
   * @author mindbridge
   */
  public class SimpleSetTableDataModel extends AbstractTableDataModel implements Serializable

Index: SimpleTableSortingState.java
===================================================================
RCS file: /cvsroot/tapestry/Tapestry/contrib/src/net/sf/tapestry/contrib/table/model/simple/SimpleTableSortingState.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** SimpleTableSortingState.java	27 Nov 2002 17:58:49 -0000	1.4
--- SimpleTableSortingState.java	23 Dec 2002 12:40:28 -0000	1.5
***************
*** 6,10 ****
  
  /**
!  * A minimal implementation of ITableSortingState
   * 
   * @version $Id$
--- 6,11 ----
  
  /**
!  * A minimal implementation of 
!  * {@link net.sf.tapestry.contrib.table.model.ITableSortingState}
   * 
   * @version $Id$

Index: SimpleListTableDataModel.java
===================================================================
RCS file: /cvsroot/tapestry/Tapestry/contrib/src/net/sf/tapestry/contrib/table/model/simple/SimpleListTableDataModel.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** SimpleListTableDataModel.java	27 Nov 2002 17:58:49 -0000	1.5
--- SimpleListTableDataModel.java	23 Dec 2002 12:40:28 -0000	1.6
***************
*** 15,19 ****
  
  /**
!  * A minimal implementation of the ITableDataModel interface
   * 
   * @version $Id$
--- 15,20 ----
  
  /**
!  * A minimal list implementation of the 
!  * {@link net.sf.tapestry.contrib.table.model.ITableDataModel} interface
   * 
   * @version $Id$

Index: SimpleTableModel.java
===================================================================
RCS file: /cvsroot/tapestry/Tapestry/contrib/src/net/sf/tapestry/contrib/table/model/simple/SimpleTableModel.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** SimpleTableModel.java	27 Nov 2002 17:58:49 -0000	1.8
--- SimpleTableModel.java	23 Dec 2002 12:40:28 -0000	1.9
***************
*** 18,22 ****
  
  /**
!  * A simple generic table model implementation 
   * 
   * @version $Id$
--- 18,22 ----
  
  /**
!  * A simple generic table model implementation.
   * 
   * @version $Id$

Index: SimpleTablePagingState.java
===================================================================
RCS file: /cvsroot/tapestry/Tapestry/contrib/src/net/sf/tapestry/contrib/table/model/simple/SimpleTablePagingState.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** SimpleTablePagingState.java	27 Nov 2002 17:58:50 -0000	1.5
--- SimpleTablePagingState.java	23 Dec 2002 12:40:28 -0000	1.6
***************
*** 6,10 ****
  
  /**
!  * A minimal implementation of ITablePagingState
   * 
   * @version $Id$
--- 6,11 ----
  
  /**
!  * A minimal implementation of 
!  * {@link net.sf.tapestry.contrib.table.model.ITablePagingState}.
   * 
   * @version $Id$

Index: SimpleTableSessionStateManager.java
===================================================================
RCS file: /cvsroot/tapestry/Tapestry/contrib/src/net/sf/tapestry/contrib/table/model/simple/SimpleTableSessionStateManager.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** SimpleTableSessionStateManager.java	27 Nov 2002 17:58:49 -0000	1.7
--- SimpleTableSessionStateManager.java	23 Dec 2002 12:40:28 -0000	1.8
***************
*** 9,14 ****
  
  /**
!  * A ITableSessionStateManager implementation that saves 
!  * only the paging and sorting state of the table model into the session.
   * 
   * @version $Id$
--- 9,15 ----
  
  /**
!  * A {@link net.sf.tapestry.contrib.table.model.ITableSessionStateManager} 
!  * implementation that saves only the paging and sorting state of the table model 
!  * into the session.
   * 
   * @version $Id$

Index: SimpleTableColumnModel.java
===================================================================
RCS file: /cvsroot/tapestry/Tapestry/contrib/src/net/sf/tapestry/contrib/table/model/simple/SimpleTableColumnModel.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** SimpleTableColumnModel.java	27 Nov 2002 17:58:49 -0000	1.5
--- SimpleTableColumnModel.java	23 Dec 2002 12:40:28 -0000	1.6
***************
*** 12,16 ****
  
  /**
!  * A minimal implementation of the ITableColumnModel interface
   * 
   * @version $Id$
--- 12,18 ----
  
  /**
!  * A minimal implementation of the 
!  * {@link net.sf.tapestry.contrib.table.model.ITableColumnModel} interface
!  * that stores columns as an array.
   * 
   * @version $Id$

--- ISimpleTableColumnRenderer.java DELETED ---



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.