webwork/src/main/webwork/view/taglib/ui/table WebTable.java,1.5,1.6

[email protected] Sat, 01 Nov 2003 10:29:37 -0800
Newsgroups gmane.comp.java.open-symphony.cvs
Message-ID <[email protected]>
Update of /cvsroot/opensymphony/webwork/src/main/webwork/view/taglib/ui/table
In directory sc8-pr-cvs1:/tmp/cvs-serv29049/src/main/webwork/view/taglib/ui/table

Modified Files:
	WebTable.java 
Log Message:
Hrm


Index: WebTable.java
===================================================================
RCS file: /cvsroot/opensymphony/webwork/src/main/webwork/view/taglib/ui/table/WebTable.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- WebTable.java	1 Nov 2003 18:17:15 -0000	1.5
+++ WebTable.java	1 Nov 2003 18:29:35 -0000	1.6
@@ -1,394 +1,394 @@
-/**
- * author      Walter Szewelanczyk
- * authorEmail [email protected]
- *
- * @version 0.02
- * date    Sept 09, 2001
- *
- * modifications:
- * 06.12.2002
- * @author      Paolo Vedovato
- * authorEmail [email protected]
- *  - added possibility to set sortColumn and sortOrder in JSP table tag
- *
- */
-
-package webwork.view.taglib.ui.table;
-
-
-import org.apache.commons.logging.*;
-import webwork.view.taglib.ui.ComponentTag;
-import webwork.view.taglib.ui.table.renderer.CellRenderer;
-import webwork.util.BeanUtil;
-
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.JspTagException;
-import javax.swing.table.*;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.NoSuchElementException;
-
-public class WebTable extends ComponentTag
-{
-	protected String _modelName = null;
-	protected WebTableColumn[] _columns = null;
-	protected TableModel _model = null;
-	int _curRow = 0;
-	protected boolean _sortable = false;
-    protected int _sortColumn = -1;
-    protected String _sortOrder = SortableTableModel.NONE;
-
-	public WebTable()
-	{
-		super();
-		setTemplate("table.jsp");
-	}
-
-	public WebTable(TableModel model)
-	{
-		setModel(model);
-	}
-
-    public void setSortColumn(int sortColumn)
-    {
-        _sortColumn = sortColumn;
-    }
-
-	public int getSortColumn()
-	{
-		if(_model instanceof SortableTableModel)
-		{
-			return ((SortableTableModel)_model).getSortedColumnNumber();
-		}
-
-		return -1;
-	}
-
-    public void setSortOrder(String sortOrder)
-    {
-        if ( sortOrder.equals(SortableTableModel.NONE) )
-        {
-            _sortOrder = SortableTableModel.NONE;
-        }
-        else if ( sortOrder.equals(SortableTableModel.DESC) )
-        {
-            _sortOrder = SortableTableModel.DESC;
-        }
-        else if ( sortOrder.equals(SortableTableModel.ASC) )
-        {
-            _sortOrder = SortableTableModel.ASC;
-        }
-        else
-        {
-            _sortOrder = SortableTableModel.NONE;
-        }
-    }
-
-	public String getSortOrder()
-	{
-		if( (_model instanceof SortableTableModel) && (getSortColumn() >= 0) )
-		{
-
-			return ((SortableTableModel)_model).getSortedDirection(getSortColumn());
-		}
-		return SortableTableModel.NONE;
-	}
-
-	public boolean isSortable()
-	{
-		return _sortable;
-	}
-
-	public void setSortable(boolean sortable)
-	{
-		_sortable = sortable;
-		if( (_sortable == true ) && (_model != null) && !(_model instanceof SortableTableModel) )
-		{
-			_model = new SortFilterModel(_model);
-		}
-	}
-
-	public String getModelName()
-	{
-		return _modelName;
-	}
-
-	public void addParameter(String name, Object value)
-	{
-	   BeanUtil.setProperty(name, value, this);
-      super.addParameter(name, value);
-	}
-
-	public void setModelName(String modelName)
-	{
-		_modelName = (String)findValue(modelName);
-		Object obj = findValue(_modelName);
-		if(obj instanceof TableModel)
-		{
-			setModel((TableModel)obj);
-		}
-	}
-
-	public void setModel(TableModel model)
-	{
-		_model = model;
-		_columns = new WebTableColumn[_model.getColumnCount()];
-		for(int i = 0 ; i < _columns.length ; ++i)
-		{
-			_columns[i] = new WebTableColumn(_model.getColumnName(i), i);
-		}
-		if( (_sortable==true) && !(_model instanceof SortableTableModel) )
-		{
-			_model = new SortFilterModel(_model);
-		}
-	}
-
-	public TableModel getModel()
-	{
-		return(_model);
-	}
-
-	public int getColumnCount()
-	{
-		return(_columns.length);
-	}
-
-	public WebTableColumn getColumn(int index)
-	{
-		try
-		{
-			return(_columns[index]);
-		}
-		catch(Exception E)
-		{
-			//blank
-		}
-		return null;
-	}
-
-	public WebTableColumn[] getColumns()
-	{
-		return _columns;
-	}
-
-	public int getRowCount()
-	{
-		return _model.getRowCount();
-	}
-
-	public String[] getFormattedRow(int row)
-	{
-		ArrayList data = new ArrayList(getNumberOfVisibleColumns());
-		for(int i = 0 ; i < getColumnCount() ; ++i)
-		{
-			if(_columns[i].isVisible())
-			{
-				data.add(_columns[i].getRenderer().renderCell(this, _model.getValueAt(row, i), row, i));
-			}
-		}
-		return (String[])data.toArray(new String[0]);
-	}
-
-	public Object[] getRow(int row)
-	{
-		ArrayList data = new ArrayList(getNumberOfVisibleColumns());
-		for(int i = 0 ; i < getColumnCount() ; ++i)
-		{
-			if(_columns[i].isVisible())
-			{
-				data.add(_model.getValueAt(row, i));
-			}
-		}
-		return (Object[])data.toArray(new Object[0]);
-	}
-
-	public Object getRawData(int row, int column)
-	{
-		return _model.getValueAt(row, column);
-	}
-
-	public Iterator getRowIterator()
-	{
-		return new WebTableRowIterator(this);
-	}
-
-	public Iterator getRawDataRowIterator()
-	{
-		return new WebTableRowIterator(this, WebTableRowIterator.RAW_DATA);
-	}
-
-	public void setColumnHidden(int column, boolean hide)
-	{
-		_columns[column].setHidden(hide);
-	}
-
-	public boolean isColumnHidden(int column)
-	{
-		return _columns[column].isHidden();
-	}
-
-	public void setColumnDisplayName(int column, String displayName)
-	{
-		_columns[column].setDisplayName(displayName);
-	}
-
-	public void getColumnDisplayName(int column)
-	{
-		_columns[column].getDisplayName();
-	}
-
-	public void setColumnRenderer(int column, CellRenderer renderer)
-	{
-		_columns[column].setRenderer(renderer);
-	}
-
-	public CellRenderer getColumnRenderer(int column)
-	{
-		return _columns[column].getRenderer();
-	}
-
-	protected int getNumberOfVisibleColumns()
-	{
-		int count = 0;
-		for(int i = 0; i < _columns.length ; ++i)
-		{
-			if(!_columns[i].isHidden())
-			{
-				++count;
-			}
-		}
-		return count;
-	}
-
-	public String getSortColumnLinkName()
-	{
-		return "WEBTABLE_"+_modelName+"_SORT_COLUMN";
-	}
-
-	public String getSortOrderLinkName()
-	{
-		return "WEBTABLE_"+_modelName+"_SORT_ORDER";
-	}
-
-	public int doEndTag() throws JspException
-	{
-		if(_sortable && _model instanceof SortableTableModel)
-		{
-			LogFactory.getLog(this.getClass()).debug("we are looking for "+getSortColumnLinkName());
-			String sortColumn = pageContext.getRequest().getParameter(getSortColumnLinkName());
-			String sortOrder  = pageContext.getRequest().getParameter(getSortOrderLinkName());
-
-            try
-            {
-                if( (sortColumn != null) || (sortOrder != null))
-                {
-                    if ( sortColumn != null )
-                    {
-                        try
-                        {
-                            _sortColumn = Integer.parseInt(sortColumn);
-                        }
-                        catch( Exception ex)
-                        {
-                            LogFactory.getLog(this.getClass()).debug("coudn't convert column, take default");
-                        }
-                    }
-
-                    if ( sortOrder != null  )
-                    {
-                        _sortOrder = sortOrder;
-                    }
-                }
-                else
-                {
-                    LogFactory.getLog(this.getClass()).debug("no sorting info in the request");
-                }
-
-                if( _sortColumn >= 0)
-                {
-                    LogFactory.getLog(this.getClass()).debug("we have the sortColumn "+Integer.toString(_sortColumn));
-                    LogFactory.getLog(this.getClass()).debug("we have the sortOrder "+_sortOrder);
-
-                    try
-                    {
-                        ((SortableTableModel)_model).sort(_sortColumn, _sortOrder);
-                    }
-                    catch( Exception ex)
-                    {
-                        LogFactory.getLog(this.getClass()).debug("couldn't sort the data");
-                    }
-
-                    LogFactory.getLog(this.getClass()).debug("we just sorted the data");
-                }
-            }
-            catch(Exception e)
-            {
-                LogFactory.getLog(this.getClass()).error(e);
-                throw new JspTagException("Error with WebTable: "+toString(e));
-            }
-
-		}
-		return super.doEndTag();
-	}
-
-	/**
-	 * inner class to iteratoe over a row of the table.
-	 * It can return formatted data, using the columnRenderer
-	 * for the column or it can return the raw data.
-	 */
-	public class WebTableRowIterator implements Iterator
-	{
-		protected WebTable _table;
-		protected int      _curRow = 0;
-		protected int      _mode   = 0;
-
-		public static final int FORMATTED_DATA = 0;
-		public static final int RAW_DATA = 1;
-
-		protected WebTableRowIterator(WebTable table)
-		{
-			this(table, FORMATTED_DATA);
-		}
-
-		protected WebTableRowIterator(WebTable table, int mode)
-		{
-			_table = table;
-			_mode  = mode;
-		}
-
-		public boolean hasNext()
-		{
-			if (_table == null)
-			{
-				return false;
-			}
-
-			return(_table.getRowCount()>_curRow);
-		}
-
-		public Object next() throws NoSuchElementException
-		{
-			if (_table == null)
-			{
-				throw new NoSuchElementException("WebTable is null");
-			}
-
-			if (!hasNext())
-			{
-				throw new NoSuchElementException("Beyond end of WebTable");
-			}
-
-			if (_mode == RAW_DATA)
-			{
-				return _table.getRow(_curRow++);
-			}
-
-			return _table.getFormattedRow(_curRow++);
-		}
-
-		public void remove() throws UnsupportedOperationException, IllegalStateException
-		{
-			throw new UnsupportedOperationException("Remove not supported in WebTable");
-		}
-	}
-}
+/**
+ * author      Walter Szewelanczyk
+ * authorEmail [email protected]
+ *
+ * @version 0.02
+ * date    Sept 09, 2001
+ *
+ * modifications:
+ * 06.12.2002
+ * @author      Paolo Vedovato
+ * authorEmail [email protected]
+ *  - added possibility to set sortColumn and sortOrder in JSP table tag
+ *
+ */
+
+package webwork.view.taglib.ui.table;
+
+
+import org.apache.commons.logging.*;
+import webwork.view.taglib.ui.ComponentTag;
+import webwork.view.taglib.ui.table.renderer.CellRenderer;
+import webwork.util.BeanUtil;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspTagException;
+import javax.swing.table.*;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+
+public class WebTable extends ComponentTag
+{
+	protected String _modelName = null;
+	protected WebTableColumn[] _columns = null;
+	protected TableModel _model = null;
+	int _curRow = 0;
+	protected boolean _sortable = false;
+    protected int _sortColumn = -1;
+    protected String _sortOrder = SortableTableModel.NONE;
+
+	public WebTable()
+	{
+		super();
+		setTemplate("table.jsp");
+	}
+
+	public WebTable(TableModel model)
+	{
+		setModel(model);
+	}
+
+    public void setSortColumn(int sortColumn)
+    {
+        _sortColumn = sortColumn;
+    }
+
+	public int getSortColumn()
+	{
+		if(_model instanceof SortableTableModel)
+		{
+			return ((SortableTableModel)_model).getSortedColumnNumber();
+		}
+
+		return -1;
+	}
+
+    public void setSortOrder(String sortOrder)
+    {
+        if ( sortOrder.equals(SortableTableModel.NONE) )
+        {
+            _sortOrder = SortableTableModel.NONE;
+        }
+        else if ( sortOrder.equals(SortableTableModel.DESC) )
+        {
+            _sortOrder = SortableTableModel.DESC;
+        }
+        else if ( sortOrder.equals(SortableTableModel.ASC) )
+        {
+            _sortOrder = SortableTableModel.ASC;
+        }
+        else
+        {
+            _sortOrder = SortableTableModel.NONE;
+        }
+    }
+
+	public String getSortOrder()
+	{
+		if( (_model instanceof SortableTableModel) && (getSortColumn() >= 0) )
+		{
+
+			return ((SortableTableModel)_model).getSortedDirection(getSortColumn());
+		}
+		return SortableTableModel.NONE;
+	}
+
+	public boolean isSortable()
+	{
+		return _sortable;
+	}
+
+	public void setSortable(boolean sortable)
+	{
+		_sortable = sortable;
+		if( (_sortable == true ) && (_model != null) && !(_model instanceof SortableTableModel) )
+		{
+			_model = new SortFilterModel(_model);
+		}
+	}
+
+	public String getModelName()
+	{
+		return _modelName;
+	}
+
+	public void addParameter(String name, Object value)
+	{
+	   BeanUtil.setProperty(name, value, this);
+      super.addParameter(name, value);
+	}
+
+	public void setModelName(String modelName)
+	{
+		_modelName = (String)findValue(modelName);
+		Object obj = findValue(_modelName);
+		if(obj instanceof TableModel)
+		{
+			setModel((TableModel)obj);
+		}
+	}
+
+	public void setModel(TableModel model)
+	{
+		_model = model;
+		_columns = new WebTableColumn[_model.getColumnCount()];
+		for(int i = 0 ; i < _columns.length ; ++i)
+		{
+			_columns[i] = new WebTableColumn(_model.getColumnName(i), i);
+		}
+		if( (_sortable==true) && !(_model instanceof SortableTableModel) )
+		{
+			_model = new SortFilterModel(_model);
+		}
+	}
+
+	public TableModel getModel()
+	{
+		return(_model);
+	}
+
+	public int getColumnCount()
+	{
+		return(_columns.length);
+	}
+
+	public WebTableColumn getColumn(int index)
+	{
+		try
+		{
+			return(_columns[index]);
+		}
+		catch(Exception E)
+		{
+			//blank
+		}
+		return null;
+	}
+
+	public WebTableColumn[] getColumns()
+	{
+		return _columns;
+	}
+
+	public int getRowCount()
+	{
+		return _model.getRowCount();
+	}
+
+	public String[] getFormattedRow(int row)
+	{
+		ArrayList data = new ArrayList(getNumberOfVisibleColumns());
+		for(int i = 0 ; i < getColumnCount() ; ++i)
+		{
+			if(_columns[i].isVisible())
+			{
+				data.add(_columns[i].getRenderer().renderCell(this, _model.getValueAt(row, i), row, i));
+			}
+		}
+		return (String[])data.toArray(new String[0]);
+	}
+
+	public Object[] getRow(int row)
+	{
+		ArrayList data = new ArrayList(getNumberOfVisibleColumns());
+		for(int i = 0 ; i < getColumnCount() ; ++i)
+		{
+			if(_columns[i].isVisible())
+			{
+				data.add(_model.getValueAt(row, i));
+			}
+		}
+		return (Object[])data.toArray(new Object[0]);
+	}
+
+	public Object getRawData(int row, int column)
+	{
+		return _model.getValueAt(row, column);
+	}
+
+	public Iterator getRowIterator()
+	{
+		return new WebTableRowIterator(this);
+	}
+
+	public Iterator getRawDataRowIterator()
+	{
+		return new WebTableRowIterator(this, WebTableRowIterator.RAW_DATA);
+	}
+
+	public void setColumnHidden(int column, boolean hide)
+	{
+		_columns[column].setHidden(hide);
+	}
+
+	public boolean isColumnHidden(int column)
+	{
+		return _columns[column].isHidden();
+	}
+
+	public void setColumnDisplayName(int column, String displayName)
+	{
+		_columns[column].setDisplayName(displayName);
+	}
+
+	public void getColumnDisplayName(int column)
+	{
+		_columns[column].getDisplayName();
+	}
+
+	public void setColumnRenderer(int column, CellRenderer renderer)
+	{
+		_columns[column].setRenderer(renderer);
+	}
+
+	public CellRenderer getColumnRenderer(int column)
+	{
+		return _columns[column].getRenderer();
+	}
+
+	protected int getNumberOfVisibleColumns()
+	{
+		int count = 0;
+		for(int i = 0; i < _columns.length ; ++i)
+		{
+			if(!_columns[i].isHidden())
+			{
+				++count;
+			}
+		}
+		return count;
+	}
+
+	public String getSortColumnLinkName()
+	{
+		return "WEBTABLE_"+_modelName+"_SORT_COLUMN";
+	}
+
+	public String getSortOrderLinkName()
+	{
+		return "WEBTABLE_"+_modelName+"_SORT_ORDER";
+	}
+
+	public int doEndTag() throws JspException
+	{
+		if(_sortable && _model instanceof SortableTableModel)
+		{
+			LogFactory.getLog(this.getClass()).debug("we are looking for "+getSortColumnLinkName());
+			String sortColumn = pageContext.getRequest().getParameter(getSortColumnLinkName());
+			String sortOrder  = pageContext.getRequest().getParameter(getSortOrderLinkName());
+
+            try
+            {
+                if( (sortColumn != null) || (sortOrder != null))
+                {
+                    if ( sortColumn != null )
+                    {
+                        try
+                        {
+                            _sortColumn = Integer.parseInt(sortColumn);
+                        }
+                        catch( Exception ex)
+                        {
+                            LogFactory.getLog(this.getClass()).debug("coudn't convert column, take default");
+                        }
+                    }
+
+                    if ( sortOrder != null  )
+                    {
+                        _sortOrder = sortOrder;
+                    }
+                }
+                else
+                {
+                    LogFactory.getLog(this.getClass()).debug("no sorting info in the request");
+                }
+
+                if( _sortColumn >= 0)
+                {
+                    LogFactory.getLog(this.getClass()).debug("we have the sortColumn "+Integer.toString(_sortColumn));
+                    LogFactory.getLog(this.getClass()).debug("we have the sortOrder "+_sortOrder);
+
+                    try
+                    {
+                        ((SortableTableModel)_model).sort(_sortColumn, _sortOrder);
+                    }
+                    catch( Exception ex)
+                    {
+                        LogFactory.getLog(this.getClass()).debug("couldn't sort the data");
+                    }
+
+                    LogFactory.getLog(this.getClass()).debug("we just sorted the data");
+                }
+            }
+            catch(Exception e)
+            {
+                LogFactory.getLog(this.getClass()).error(e);
+                throw new JspTagException("Error with WebTable: "+toString(e));
+            }
+
+		}
+		return super.doEndTag();
+	}
+
+	/**
+	 * inner class to iteratoe over a row of the table.
+	 * It can return formatted data, using the columnRenderer
+	 * for the column or it can return the raw data.
+	 */
+	public class WebTableRowIterator implements Iterator
+	{
+		protected WebTable _table;
+		protected int      _curRow = 0;
+		protected int      _mode   = 0;
+
+		public static final int FORMATTED_DATA = 0;
+		public static final int RAW_DATA = 1;
+
+		protected WebTableRowIterator(WebTable table)
+		{
+			this(table, FORMATTED_DATA);
+		}
+
+		protected WebTableRowIterator(WebTable table, int mode)
+		{
+			_table = table;
+			_mode  = mode;
+		}
+
+		public boolean hasNext()
+		{
+			if (_table == null)
+			{
+				return false;
+			}
+
+			return(_table.getRowCount()>_curRow);
+		}
+
+		public Object next() throws NoSuchElementException
+		{
+			if (_table == null)
+			{
+				throw new NoSuchElementException("WebTable is null");
+			}
+
+			if (!hasNext())
+			{
+				throw new NoSuchElementException("Beyond end of WebTable");
+			}
+
+			if (_mode == RAW_DATA)
+			{
+				return _table.getRow(_curRow++);
+			}
+
+			return _table.getFormattedRow(_curRow++);
+		}
+
+		public void remove() throws UnsupportedOperationException, IllegalStateException
+		{
+			throw new UnsupportedOperationException("Remove not supported in WebTable");
+		}
+	}
+}




-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?   SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/