You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by jk...@apache.org on 2007/11/20 22:57:39 UTC
svn commit: r596837 - in /tapestry/tapestry4/trunk:
tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/
tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/
tapestry-contrib/src/java/org/apache/tapestry/c...
Author: jkuhnert
Date: Tue Nov 20 13:57:38 2007
New Revision: 596837
URL: http://svn.apache.org/viewvc?rev=596837&view=rev
Log:
Fixes TAPESTRY-234, more cleanly for everyone this time.
Modified:
tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/TableColumns.java
tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/SimpleTableColumnComponent.java
tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/SimpleTableColumnFormComponent.java
tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/SimpleTableColumnSortLink.java
tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/common/AbstractTableColumn.java
tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/simple/SimpleTableColumn.java
tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/simple/SimpleTableColumnModel.java
tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/simple/SimpleTableValueRendererSource.java
tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/sql/SimpleSqlTableDataSource.java
tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/sql/SqlTableColumn.java
tapestry/tapestry4/trunk/tapestry-contrib/src/test/org/apache/tapestry/contrib/table/model/simple/TestSimpleTableColumn.java
tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/WEB-INF/LocaleList.html
tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/WEB-INF/LocaleList.jwc
tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/WEB-INF/LocaleList.properties
Modified: tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/TableColumns.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/TableColumns.java?rev=596837&r1=596836&r2=596837&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/TableColumns.java (original)
+++ tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/TableColumns.java Tue Nov 20 13:57:38 2007
@@ -14,8 +14,6 @@
package org.apache.tapestry.contrib.table.components;
-import java.util.Iterator;
-
import org.apache.tapestry.IAsset;
import org.apache.tapestry.IMarkupWriter;
import org.apache.tapestry.IRender;
@@ -23,6 +21,8 @@
import org.apache.tapestry.contrib.table.model.ITableColumn;
import org.apache.tapestry.contrib.table.model.ITableColumnModel;
+import java.util.Iterator;
+
/**
* A low level Table component that renders the column headers in the table.
* This component must be wrapped by
@@ -82,7 +82,8 @@
{
m_objTableColumn = tableColumn;
- if (isParameterBound("column")) setColumn(tableColumn);
+ if (isParameterBound("column"))
+ setColumn(tableColumn);
}
/**
@@ -92,8 +93,8 @@
*/
public Iterator getTableColumnIterator()
{
- ITableColumnModel objColumnModel = getTableModelSource()
- .getTableModel().getColumnModel();
+ ITableColumnModel objColumnModel = getTableModelSource() .getTableModel().getColumnModel();
+
return objColumnModel.getColumns();
}
@@ -105,8 +106,7 @@
*/
public IRender getTableColumnRenderer()
{
- return getTableColumn().getColumnRenderer(getPage().getRequestCycle(),
- getTableModelSource());
+ return getTableColumn().getColumnRenderer(getPage().getRequestCycle(), getTableModelSource());
}
public abstract String getColumnClassParameter();
@@ -120,7 +120,8 @@
*/
public String getColumnClass()
{
- if (isParameterBound("class")) return getColumnClassParameter();
+ if (isParameterBound("class"))
+ return getColumnClassParameter();
return getTableColumn().getColumnName() + TABLE_COLUMN_CSS_CLASS_SUFFIX;
}
@@ -132,15 +133,12 @@
protected void renderComponent(IMarkupWriter writer, IRequestCycle cycle)
{
Object oldValueUp = cycle.getAttribute(TABLE_COLUMN_ARROW_UP_ATTRIBUTE);
- Object oldValueDown = cycle
- .getAttribute(TABLE_COLUMN_ARROW_DOWN_ATTRIBUTE);
+ Object oldValueDown = cycle.getAttribute(TABLE_COLUMN_ARROW_DOWN_ATTRIBUTE);
try
{
- cycle.setAttribute(TABLE_COLUMN_ARROW_UP_ATTRIBUTE,
- getArrowUpAsset());
- cycle.setAttribute(TABLE_COLUMN_ARROW_DOWN_ATTRIBUTE,
- getArrowDownAsset());
+ cycle.setAttribute(TABLE_COLUMN_ARROW_UP_ATTRIBUTE, getArrowUpAsset());
+ cycle.setAttribute(TABLE_COLUMN_ARROW_DOWN_ATTRIBUTE, getArrowDownAsset());
super.renderComponent(writer, cycle);
}
Modified: tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/SimpleTableColumnComponent.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/SimpleTableColumnComponent.java?rev=596837&r1=596836&r2=596837&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/SimpleTableColumnComponent.java (original)
+++ tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/SimpleTableColumnComponent.java Tue Nov 20 13:57:38 2007
@@ -18,11 +18,7 @@
import org.apache.tapestry.IAsset;
import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.contrib.table.components.TableColumns;
-import org.apache.tapestry.contrib.table.model.ITableColumn;
-import org.apache.tapestry.contrib.table.model.ITableModel;
-import org.apache.tapestry.contrib.table.model.ITableModelSource;
-import org.apache.tapestry.contrib.table.model.ITableRendererListener;
-import org.apache.tapestry.contrib.table.model.ITableSortingState;
+import org.apache.tapestry.contrib.table.model.*;
import org.apache.tapestry.contrib.table.model.simple.SimpleTableColumn;
import org.apache.tapestry.event.PageDetachListener;
import org.apache.tapestry.event.PageEvent;
@@ -33,7 +29,7 @@
* sortable, it renders the header as a link. Clicking on the link causes the
* table to be sorted on that column. Clicking on the link again causes the
* sorting order to be reversed.
- *
+ *
* @author mindbridge
*/
public abstract class SimpleTableColumnComponent extends BaseComponent
@@ -67,8 +63,8 @@
* @see org.apache.tapestry.contrib.table.model.ITableRendererListener#initializeRenderer(IRequestCycle,
* ITableModelSource, ITableColumn, Object)
*/
- public void initializeRenderer(IRequestCycle objCycle,
- ITableModelSource objSource, ITableColumn objColumn, Object objRow)
+ public void initializeRenderer(IRequestCycle objCycle, ITableModelSource objSource,
+ ITableColumn objColumn, Object objRow)
{
m_objModelSource = objSource;
m_objColumn = objColumn;
@@ -89,8 +85,10 @@
if (m_objColumn instanceof SimpleTableColumn)
{
SimpleTableColumn objSimpleColumn = (SimpleTableColumn) m_objColumn;
+
return objSimpleColumn.getDisplayName();
}
+
return m_objColumn.getColumnName();
}
@@ -98,6 +96,7 @@
{
ITableSortingState objSortingState = getTableModel().getSortingState();
String strSortColumn = objSortingState.getSortColumn();
+
return m_objColumn.getColumnName().equals(strSortColumn);
}
@@ -107,17 +106,20 @@
IRequestCycle objCycle = getPage().getRequestCycle();
ITableSortingState objSortingState = getTableModel().getSortingState();
+
if (objSortingState.getSortOrder() == ITableSortingState.SORT_ASCENDING)
{
- objImageAsset = (IAsset) objCycle
- .getAttribute(TableColumns.TABLE_COLUMN_ARROW_UP_ATTRIBUTE);
- if (objImageAsset == null) objImageAsset = getAsset("sortUp");
+ objImageAsset = (IAsset) objCycle.getAttribute(TableColumns.TABLE_COLUMN_ARROW_UP_ATTRIBUTE);
+
+ if (objImageAsset == null)
+ objImageAsset = getAsset("sortUp");
}
else
{
- objImageAsset = (IAsset) objCycle
- .getAttribute(TableColumns.TABLE_COLUMN_ARROW_DOWN_ATTRIBUTE);
- if (objImageAsset == null) objImageAsset = getAsset("sortDown");
+ objImageAsset = (IAsset) objCycle.getAttribute(TableColumns.TABLE_COLUMN_ARROW_DOWN_ATTRIBUTE);
+
+ if (objImageAsset == null)
+ objImageAsset = getAsset("sortDown");
}
return objImageAsset;
@@ -125,8 +127,10 @@
public Object[] getColumnSelectedParameters()
{
- return new Object[] { new ComponentAddress(m_objModelSource),
- m_objColumn.getColumnName() };
+ return new Object[] {
+ new ComponentAddress(m_objModelSource),
+ m_objColumn.getColumnName()
+ };
}
public void columnSelected(IRequestCycle objCycle)
Modified: tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/SimpleTableColumnFormComponent.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/SimpleTableColumnFormComponent.java?rev=596837&r1=596836&r2=596837&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/SimpleTableColumnFormComponent.java (original)
+++ tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/SimpleTableColumnFormComponent.java Tue Nov 20 13:57:38 2007
@@ -18,11 +18,7 @@
import org.apache.tapestry.IAsset;
import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.contrib.table.components.TableColumns;
-import org.apache.tapestry.contrib.table.model.ITableColumn;
-import org.apache.tapestry.contrib.table.model.ITableModel;
-import org.apache.tapestry.contrib.table.model.ITableModelSource;
-import org.apache.tapestry.contrib.table.model.ITableRendererListener;
-import org.apache.tapestry.contrib.table.model.ITableSortingState;
+import org.apache.tapestry.contrib.table.model.*;
import org.apache.tapestry.contrib.table.model.simple.SimpleTableColumn;
/**
@@ -53,8 +49,8 @@
* @see org.apache.tapestry.contrib.table.model.ITableRendererListener#initializeRenderer(IRequestCycle,
* ITableModelSource, ITableColumn, Object)
*/
- public void initializeRenderer(IRequestCycle objCycle,
- ITableModelSource objSource, ITableColumn objColumn, Object objRow)
+ public void initializeRenderer(IRequestCycle objCycle, ITableModelSource objSource,
+ ITableColumn objColumn, Object objRow)
{
setTableModelSource(objSource);
setTableColumn(objColumn);
@@ -77,8 +73,10 @@
if (objColumn instanceof SimpleTableColumn)
{
SimpleTableColumn objSimpleColumn = (SimpleTableColumn) objColumn;
+
return objSimpleColumn.getDisplayName();
}
+
return objColumn.getColumnName();
}
@@ -95,17 +93,20 @@
IRequestCycle objCycle = getPage().getRequestCycle();
ITableSortingState objSortingState = getTableModel().getSortingState();
+
if (objSortingState.getSortOrder() == ITableSortingState.SORT_ASCENDING)
{
- objImageAsset = (IAsset) objCycle
- .getAttribute(TableColumns.TABLE_COLUMN_ARROW_UP_ATTRIBUTE);
- if (objImageAsset == null) objImageAsset = getAsset("sortUp");
+ objImageAsset = (IAsset) objCycle.getAttribute(TableColumns.TABLE_COLUMN_ARROW_UP_ATTRIBUTE);
+
+ if (objImageAsset == null)
+ objImageAsset = getAsset("sortUp");
}
else
{
- objImageAsset = (IAsset) objCycle
- .getAttribute(TableColumns.TABLE_COLUMN_ARROW_DOWN_ATTRIBUTE);
- if (objImageAsset == null) objImageAsset = getAsset("sortDown");
+ objImageAsset = (IAsset) objCycle.getAttribute(TableColumns.TABLE_COLUMN_ARROW_DOWN_ATTRIBUTE);
+
+ if (objImageAsset == null)
+ objImageAsset = getAsset("sortDown");
}
return objImageAsset;
@@ -115,6 +116,7 @@
{
String strColumnName = getSelectedColumnName();
ITableModelSource objSource = getTableModelSource();
+
objSource.storeTableAction(new TableActionColumnSort(strColumnName));
}
Modified: tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/SimpleTableColumnSortLink.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/SimpleTableColumnSortLink.java?rev=596837&r1=596836&r2=596837&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/SimpleTableColumnSortLink.java (original)
+++ tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/components/inserted/SimpleTableColumnSortLink.java Tue Nov 20 13:57:38 2007
@@ -28,8 +28,8 @@
/**
* A component that renders a sorting link - to be used with contrib:Table when
* customizing a column's header.
- *
- *
+ *
+ *
* @author andyhot
*/
public abstract class SimpleTableColumnSortLink extends BaseComponent
@@ -45,7 +45,7 @@
}
public abstract Table getTable();
-
+
/**
* @see org.apache.tapestry.event.PageDetachListener#pageDetached(PageEvent)
*/
@@ -59,21 +59,22 @@
m_objColumn = null;
m_objModelSource = null;
}
-
- public void prepareForRender(IRequestCycle cycle)
- {
- if (getTable()==null)
+
+ public void prepareForRender(IRequestCycle cycle)
+ {
+ if (getTable()==null)
throw Tapestry.createRequiredParameterException(this, "table");
- m_objModelSource = getTable();
- m_objColumn = getTable().getTableColumn();
- }
+
+ m_objModelSource = getTable();
+ m_objColumn = getTable().getTableColumn();
+ }
/**
* @see org.apache.tapestry.contrib.table.model.ITableRendererListener#initializeRenderer(IRequestCycle,
* ITableModelSource, ITableColumn, Object)
*/
- public void initializeRenderer(IRequestCycle objCycle,
- ITableModelSource objSource, ITableColumn objColumn, Object objRow)
+ public void initializeRenderer(IRequestCycle objCycle, ITableModelSource objSource,
+ ITableColumn objColumn, Object objRow)
{
m_objModelSource = objSource;
m_objColumn = objColumn;
@@ -81,8 +82,10 @@
public Object[] getColumnSelectedParameters()
{
- return new Object[] { new ComponentAddress(m_objModelSource),
- m_objColumn.getColumnName() };
+ return new Object[] {
+ new ComponentAddress(m_objModelSource),
+ m_objColumn.getColumnName()
+ };
}
public void columnSelected(IRequestCycle objCycle)
@@ -91,9 +94,8 @@
ComponentAddress objAddr = (ComponentAddress) arrArgs[0];
String strColumnName = (String) arrArgs[1];
- ITableModelSource objSource = (ITableModelSource) objAddr
- .findComponent(objCycle);
+ ITableModelSource objSource = (ITableModelSource) objAddr.findComponent(objCycle);
+
objSource.storeTableAction(new TableActionColumnSort(strColumnName));
}
-
}
Modified: tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/common/AbstractTableColumn.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/common/AbstractTableColumn.java?rev=596837&r1=596836&r2=596837&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/common/AbstractTableColumn.java (original)
+++ tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/common/AbstractTableColumn.java Tue Nov 20 13:57:38 2007
@@ -97,9 +97,6 @@
*/
public void setColumnName(String columnName)
{
- if (columnName != null)
- columnName = columnName.replace('.', '_');
-
m_strColumnName = columnName;
}
@@ -193,8 +190,7 @@
* @param columnRendererSource
* The columnRendererSource to set
*/
- public void setColumnRendererSource(
- ITableRendererSource columnRendererSource)
+ public void setColumnRendererSource(ITableRendererSource columnRendererSource)
{
m_objColumnRendererSource = columnRendererSource;
}
@@ -226,32 +222,50 @@
* columns if necessary.
*
* @param container
- * the component from which to get the settings
+ * The component from which to get the settings.
*/
public void loadSettings(IComponent container)
{
+ String columnName = getColumnName();
+
IComponent objColumnRendererSource =
- (IComponent) container.getComponents().get(getColumnName() + COLUMN_RENDERER_BLOCK_SUFFIX);
+ (IComponent) container.getComponents().get(columnName + COLUMN_RENDERER_BLOCK_SUFFIX);
+
+ if (objColumnRendererSource == null && columnName.indexOf(".") > -1)
+ {
+ columnName = columnName.replace('.', '_');
+
+ objColumnRendererSource =
+ (IComponent) container.getComponents().get(columnName + COLUMN_RENDERER_BLOCK_SUFFIX);
+ }
if (objColumnRendererSource == null)
+ {
objColumnRendererSource = (IComponent) container.getComponents().get(COLUMN_RENDERER_BLOCK_SUFFIX);
+ }
- if (objColumnRendererSource != null
- && objColumnRendererSource instanceof Block)
+ if (objColumnRendererSource != null && objColumnRendererSource instanceof Block)
{
setColumnRendererSource(new BlockTableRendererSource((Block) objColumnRendererSource));
}
IComponent objValueRendererSource =
- (IComponent) container.getComponents().get(getColumnName() + VALUE_RENDERER_BLOCK_SUFFIX);
+ (IComponent) container.getComponents().get(columnName + VALUE_RENDERER_BLOCK_SUFFIX);
+
+ if (objValueRendererSource == null && columnName.indexOf(".") > -1)
+ {
+ columnName = columnName.replace('.', '_');
+
+ objValueRendererSource =
+ (IComponent) container.getComponents().get(columnName + VALUE_RENDERER_BLOCK_SUFFIX);
+ }
if (objValueRendererSource == null)
{
objValueRendererSource = (IComponent) container.getComponents().get(VALUE_RENDERER_BLOCK_SUFFIX);
}
- if (objValueRendererSource != null
- && objValueRendererSource instanceof Block)
+ if (objValueRendererSource != null && objValueRendererSource instanceof Block)
{
setValueRendererSource(new BlockTableRendererSource((Block) objValueRendererSource));
}
Modified: tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/simple/SimpleTableColumn.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/simple/SimpleTableColumn.java?rev=596837&r1=596836&r2=596837&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/simple/SimpleTableColumn.java (original)
+++ tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/simple/SimpleTableColumn.java Tue Nov 20 13:57:38 2007
@@ -25,7 +25,7 @@
* A simple minimal implementation of the
* {@link org.apache.tapestry.contrib.table.model.ITableColumn}interface that
* provides all the basic services for displaying a column.
- *
+ *
* @author mindbridge
*/
public class SimpleTableColumn extends AbstractTableColumn
@@ -41,14 +41,14 @@
public static final ITableRendererSource DEFAULT_VALUE_RENDERER_SOURCE = new SimpleTableValueRendererSource();
private static final long serialVersionUID = 1L;
-
+
private String m_strDisplayName;
private ITableColumnEvaluator m_objEvaluator;
/**
* Creates a SimpleTableColumn.
- *
+ *
* @param strColumnName
* the identifying name and display name of the column
*/
@@ -59,7 +59,7 @@
/**
* Creates a SimpleTableColumn.
- *
+ *
* @param strColumnName
* the identifying name and display name of the column
* @param bSortable
@@ -72,7 +72,7 @@
/**
* Creates a SimpleTableColumn.
- *
+ *
* @param strColumnName
* the identifying name and display name of the column
* @param bSortable
@@ -81,14 +81,14 @@
* the evaluator to extract the column value from the row
*/
public SimpleTableColumn(String strColumnName,
- ITableColumnEvaluator objEvaluator, boolean bSortable)
+ ITableColumnEvaluator objEvaluator, boolean bSortable)
{
this(strColumnName, strColumnName, objEvaluator, bSortable);
}
/**
* Creates a SimpleTableColumn.
- *
+ *
* @param strColumnName
* the identifying name of the column
* @param strDisplayName
@@ -101,7 +101,7 @@
/**
* Creates a SimpleTableColumn.
- *
+ *
* @param strColumnName
* the identifying name of the column
* @param strDisplayName
@@ -110,14 +110,14 @@
* whether the column is sortable
*/
public SimpleTableColumn(String strColumnName, String strDisplayName,
- boolean bSortable)
+ boolean bSortable)
{
this(strColumnName, strDisplayName, null, bSortable);
}
/**
* Creates a SimpleTableColumn.
- *
+ *
* @param strColumnName
* the identifying name of the column
* @param strDisplayName
@@ -128,9 +128,10 @@
* the evaluator to extract the column value from the row
*/
public SimpleTableColumn(String strColumnName, String strDisplayName,
- ITableColumnEvaluator objEvaluator, boolean bSortable)
+ ITableColumnEvaluator objEvaluator, boolean bSortable)
{
super(strColumnName, bSortable, null);
+
setComparator(new DefaultTableComparator());
setDisplayName(strDisplayName);
setColumnRendererSource(DEFAULT_COLUMN_RENDERER_SOURCE);
@@ -141,7 +142,7 @@
/**
* 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
*/
public String getDisplayName()
@@ -151,21 +152,18 @@
/**
* Sets the displayName.
- *
+ *
* @param displayName
* The displayName to set
*/
public void setDisplayName(String displayName)
{
- if (displayName != null)
- displayName = displayName.replace('_', '.');
-
m_strDisplayName = displayName;
}
/**
* Returns the evaluator.
- *
+ *
* @return ITableColumnEvaluator
*/
public ITableColumnEvaluator getEvaluator()
@@ -175,7 +173,7 @@
/**
* Sets the evaluator.
- *
+ *
* @param evaluator
* The evaluator to set
*/
@@ -190,7 +188,7 @@
* This method allows easier use of standard comparators for sorting the
* column. It simply wraps the provided comparator with a row-to-column
* convertor and invokes the setComparator() method.
- *
+ *
* @param comparator
* The column value comparator
*/
@@ -201,7 +199,7 @@
/**
* Extracts the value of the column from the row object.
- *
+ *
* @param objRow
* the row object
* @return Object the column value
@@ -209,6 +207,7 @@
public Object getColumnValue(Object objRow)
{
ITableColumnEvaluator objEvaluator = getEvaluator();
+
if (objEvaluator != null)
return objEvaluator.getColumnValue(this, objRow);
@@ -219,7 +218,7 @@
/**
* Use the column name to get the display name, as well as the column and
* value renderer sources from the provided component.
- *
+ *
* @param objSettingsContainer
* the component from which to get the settings
*/
@@ -241,7 +240,7 @@
}
/**
- *
+ *
* @author mb
*/
public class DefaultTableComparator implements Comparator, Serializable
Modified: tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/simple/SimpleTableColumnModel.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/simple/SimpleTableColumnModel.java?rev=596837&r1=596836&r2=596837&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/simple/SimpleTableColumnModel.java (original)
+++ tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/simple/SimpleTableColumnModel.java Tue Nov 20 13:57:38 2007
@@ -14,16 +14,16 @@
package org.apache.tapestry.contrib.table.model.simple;
+import org.apache.tapestry.contrib.table.model.ITableColumn;
+import org.apache.tapestry.contrib.table.model.ITableColumnModel;
+import org.apache.tapestry.contrib.table.model.common.ArrayIterator;
+
import java.io.Serializable;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import org.apache.tapestry.contrib.table.model.ITableColumn;
-import org.apache.tapestry.contrib.table.model.ITableColumnModel;
-import org.apache.tapestry.contrib.table.model.common.ArrayIterator;
-
/**
* A minimal implementation of the
* {@link org.apache.tapestry.contrib.table.model.ITableColumnModel} interface
@@ -33,7 +33,6 @@
*/
public class SimpleTableColumnModel implements ITableColumnModel, Serializable
{
-
private static final long serialVersionUID = 1L;
private ITableColumn[] m_arrColumns;
@@ -42,16 +41,17 @@
public SimpleTableColumnModel(ITableColumn[] arrColumns)
{
m_arrColumns = arrColumns;
-
m_mapColumns = new HashMap();
+
for(int i = 0; i < m_arrColumns.length; i++)
+ {
m_mapColumns.put(m_arrColumns[i].getColumnName(), m_arrColumns[i]);
+ }
}
public SimpleTableColumnModel(List arrColumns)
{
- this((ITableColumn[]) arrColumns.toArray(new ITableColumn[arrColumns
- .size()]));
+ this((ITableColumn[]) arrColumns.toArray(new ITableColumn[arrColumns.size()]));
}
public int getColumnCount()
@@ -66,6 +66,7 @@
// error message
return null;
}
+
return m_arrColumns[nColumn];
}
@@ -78,5 +79,4 @@
{
return new ArrayIterator(m_arrColumns);
}
-
}
Modified: tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/simple/SimpleTableValueRendererSource.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/simple/SimpleTableValueRendererSource.java?rev=596837&r1=596836&r2=596837&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/simple/SimpleTableValueRendererSource.java (original)
+++ tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/simple/SimpleTableValueRendererSource.java Tue Nov 20 13:57:38 2007
@@ -33,7 +33,6 @@
*/
public class SimpleTableValueRendererSource implements ITableRendererSource
{
-
private static final long serialVersionUID = 1L;
/**
Modified: tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/sql/SimpleSqlTableDataSource.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/sql/SimpleSqlTableDataSource.java?rev=596837&r1=596836&r2=596837&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/sql/SimpleSqlTableDataSource.java (original)
+++ tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/sql/SimpleSqlTableDataSource.java Tue Nov 20 13:57:38 2007
@@ -14,17 +14,17 @@
package org.apache.tapestry.contrib.table.model.sql;
-import java.sql.Connection;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.tapestry.contrib.table.model.ITablePagingState;
import org.apache.tapestry.contrib.table.model.ITableSortingState;
import org.apache.tapestry.contrib.table.model.simple.SimpleTableState;
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+
/**
* @author mindbridge
*/
@@ -39,13 +39,13 @@
private String m_strWhereClause;
public SimpleSqlTableDataSource(ISqlConnectionSource objConnSource,
- String strTableName)
+ String strTableName)
{
this(objConnSource, strTableName, null);
}
public SimpleSqlTableDataSource(ISqlConnectionSource objConnSource,
- String strTableName, String strWhereClause)
+ String strTableName, String strWhereClause)
{
setConnSource(objConnSource);
setTableName(strTableName);
@@ -56,7 +56,7 @@
* @see org.apache.tapestry.contrib.table.model.sql.ISqlTableDataSource#getRowCount()
*/
public int getRowCount()
- throws SQLException
+ throws SQLException
{
String strQuery = generateCountQuery();
LOG.trace("Invoking query to count rows: " + strQuery);
@@ -87,8 +87,8 @@
* SimpleTableState)
*/
public ResultSet getCurrentRows(SqlTableColumnModel objColumnModel,
- SimpleTableState objState)
- throws SQLException
+ SimpleTableState objState)
+ throws SQLException
{
String strQuery = generateDataQuery(objColumnModel, objState);
LOG.trace("Invoking query to load current rows: " + strQuery);
@@ -131,7 +131,7 @@
/**
* Returns the tableName.
- *
+ *
* @return String
*/
public String getTableName()
@@ -141,7 +141,7 @@
/**
* Sets the tableName.
- *
+ *
* @param tableName
* The tableName to set
*/
@@ -152,7 +152,7 @@
/**
* Returns the connSource.
- *
+ *
* @return ISqlConnectionSource
*/
public ISqlConnectionSource getConnSource()
@@ -162,7 +162,7 @@
/**
* Sets the connSource.
- *
+ *
* @param connSource
* The connSource to set
*/
@@ -173,7 +173,7 @@
/**
* Returns the whereClause.
- *
+ *
* @return String
*/
public String getWhereClause()
@@ -183,7 +183,7 @@
/**
* Sets the whereClause.
- *
+ *
* @param whereClause
* The whereClause to set
*/
@@ -199,7 +199,9 @@
for(int i = 0; i < objColumnModel.getColumnCount(); i++)
{
SqlTableColumn objColumn = objColumnModel.getSqlColumn(i);
- if (i > 0) objColumnBuf.append(", ");
+ if (i > 0)
+ objColumnBuf.append(", ");
+
objColumnBuf.append(quoteObjectName(objColumn.getColumnName()));
}
@@ -209,7 +211,9 @@
protected String generateWhereClause()
{
String strWhereClause = getWhereClause();
- if (strWhereClause == null || strWhereClause.equals("")) return "";
+ if (strWhereClause == null || strWhereClause.equals(""))
+ return "";
+
return "WHERE " + strWhereClause + " ";
}
@@ -221,8 +225,10 @@
{
objSortingBuf.append("ORDER BY ");
objSortingBuf.append(objSortingState.getSortColumn());
+
if (objSortingState.getSortOrder() == ITableSortingState.SORT_ASCENDING)
objSortingBuf.append(" ASC ");
+
else objSortingBuf.append(" DESC ");
}
@@ -233,27 +239,22 @@
{
int nPageSize = objPagingState.getPageSize();
int nStart = objPagingState.getCurrentPage() * nPageSize;
- String strPagingBuf = "LIMIT " + nPageSize + " OFFSET " + nStart + " ";
- return strPagingBuf;
+
+ return "LIMIT " + nPageSize + " OFFSET " + nStart + " ";
}
protected String generateDataQuery(SqlTableColumnModel objColumnModel,
- SimpleTableState objState)
+ SimpleTableState objState)
{
- String strQuery = "SELECT " + generateColumnList(objColumnModel)
- + " FROM " + getTableName() + " " + generateWhereClause()
- + generateOrderByClause(objState.getSortingState())
- + generateLimitClause(objState.getPagingState());
-
- return strQuery;
+ return "SELECT " + generateColumnList(objColumnModel)
+ + " FROM " + getTableName() + " " + generateWhereClause()
+ + generateOrderByClause(objState.getSortingState())
+ + generateLimitClause(objState.getPagingState());
}
protected String generateCountQuery()
{
- String strQuery = "SELECT COUNT(*) FROM " + getTableName() + " "
- + generateWhereClause();
-
- return strQuery;
+ return "SELECT COUNT(*) FROM " + getTableName() + " "
+ + generateWhereClause();
}
-
}
Modified: tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/sql/SqlTableColumn.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/sql/SqlTableColumn.java?rev=596837&r1=596836&r2=596837&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/sql/SqlTableColumn.java (original)
+++ tapestry/tapestry4/trunk/tapestry-contrib/src/java/org/apache/tapestry/contrib/table/model/sql/SqlTableColumn.java Tue Nov 20 13:57:38 2007
@@ -14,13 +14,13 @@
package org.apache.tapestry.contrib.table.model.sql;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.tapestry.contrib.table.model.simple.SimpleTableColumn;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
/**
* @author mindbridge
*/
@@ -71,7 +71,10 @@
ResultSet objRS = (ResultSet) objRow;
String strColumnName = getColumnName();
Object objValue = objRS.getObject(strColumnName);
- if (objValue == null) objValue = "";
+
+ if (objValue == null)
+ objValue = "";
+
return objValue;
}
catch (SQLException e)
Modified: tapestry/tapestry4/trunk/tapestry-contrib/src/test/org/apache/tapestry/contrib/table/model/simple/TestSimpleTableColumn.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-contrib/src/test/org/apache/tapestry/contrib/table/model/simple/TestSimpleTableColumn.java?rev=596837&r1=596836&r2=596837&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-contrib/src/test/org/apache/tapestry/contrib/table/model/simple/TestSimpleTableColumn.java (original)
+++ tapestry/tapestry4/trunk/tapestry-contrib/src/test/org/apache/tapestry/contrib/table/model/simple/TestSimpleTableColumn.java Tue Nov 20 13:57:38 2007
@@ -1,16 +1,58 @@
package org.apache.tapestry.contrib.table.model.simple;
-import org.apache.tapestry.TestBase;
+import org.apache.hivemind.Messages;
+import org.apache.tapestry.BaseComponentTestCase;
+import org.apache.tapestry.IComponent;
+import org.apache.tapestry.IPage;
+import org.apache.tapestry.components.Block;
+import static org.easymock.EasyMock.checkOrder;
+import static org.easymock.EasyMock.expect;
import org.testng.annotations.Test;
+import java.util.HashMap;
+import java.util.Map;
+
@Test
-public class TestSimpleTableColumn extends TestBase
+public class TestSimpleTableColumn extends BaseComponentTestCase
{
- public void test_display_column_names()
+
+ // Test for TAPESTRY-234
+ public void test_Alternate_Column_Display_Name()
{
- SimpleTableColumn column = new SimpleTableColumn("a.b_c");
- assertEquals(column.getDisplayName(), "a.b.c");
- assertEquals(column.getColumnName(), "a_b_c");
+ SimpleTableColumn column = new SimpleTableColumn("foo.bar");
+
+ assertEquals(column.getColumnName(), "foo.bar");
+ assertEquals(column.getDisplayName(), "foo.bar");
+ assertEquals(column.getValueRendererSource(), SimpleTableColumn.DEFAULT_VALUE_RENDERER_SOURCE);
+
+ IPage page = newMock(IPage.class);
+ checkOrder(page, false);
+ expect(page.getPageName()).andReturn("TestPage").anyTimes();
+
+ IComponent container = newComponent();
+ Messages msgs = newMock(Messages.class);
+ Block valueRenderer = org.easymock.classextension.EasyMock.createMock(Block.class);
+
+ expect(valueRenderer.getPage()).andReturn(page);
+ expect(valueRenderer.getIdPath()).andReturn("TestPage[foo.bar]");
+
+ Map components = new HashMap();
+ components.put("foo_barColumnValue", valueRenderer);
+
+ expect(container.getMessages()).andReturn(msgs);
+ expect(msgs.getMessage("foo.bar")).andReturn("[foo.bar]");
+
+ expect(container.getComponents()).andReturn(components).anyTimes();
+
+ replay();
+ org.easymock.classextension.EasyMock.replay(valueRenderer);
+ column.loadSettings(container);
+
+ assert column.getValueRendererSource() != null;
+ assert !SimpleTableColumn.DEFAULT_VALUE_RENDERER_SOURCE.equals(column.getValueRendererSource());
+
+ verify();
+ org.easymock.classextension.EasyMock.verify(valueRenderer);
}
}
Modified: tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/WEB-INF/LocaleList.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/WEB-INF/LocaleList.html?rev=596837&r1=596836&r2=596837&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/WEB-INF/LocaleList.html (original)
+++ tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/WEB-INF/LocaleList.html Tue Nov 20 13:57:38 2007
@@ -43,8 +43,7 @@
<br/>
<span jwcid="submitButton" value="Select locales"/>
-
-
+
</form>
</span>
Modified: tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/WEB-INF/LocaleList.jwc
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/WEB-INF/LocaleList.jwc?rev=596837&r1=596836&r2=596837&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/WEB-INF/LocaleList.jwc (original)
+++ tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/WEB-INF/LocaleList.jwc Tue Nov 20 13:57:38 2007
@@ -19,19 +19,13 @@
"-//Apache Software Foundation//Tapestry Specification 4.0//EN"
"http://tapestry.apache.org/dtd/Tapestry_4_0.dtd">
-<component-specification class="org.apache.tapestry.workbench.table.LocaleList"
- allow-body="no" allow-informal-parameters="yes">
+<component-specification class="org.apache.tapestry.workbench.table.LocaleList" allow-body="no" allow-informal-parameters="yes">
<bean name="rowClass" class="org.apache.tapestry.bean.EvenOdd"/>
-
- <!--property name="currentLocale"/-->
-
<property name="selectedLocales" persist="session" initial-value="new java.util.HashSet()"/>
- <component id="form" type="Form">
- <!--binding name="listener" value="listeners.formSubmit"/-->
- </component>
+ <component id="form" type="Form" />
<component id="checkboxGroup" type="contrib:CheckboxGroup"/>
@@ -48,7 +42,7 @@
<component id="tableView" type="contrib:TableView">
<binding name="source" value="@java.util.Locale@getAvailableLocales()"/>
<binding name="columns">literal:
- * locale:toString(), language:displayLanguage, country:displayCountry,
+ * locale:toString(), language:displayLanguage, country:displayCountry,
variant:displayVariant, isoLanguage:ISO3Language, isoCountry:ISO3Country
</binding>
</component>
@@ -62,5 +56,4 @@
</component>
<component id="tableValues" type="contrib:TableValues"/>
-
</component-specification>
Modified: tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/WEB-INF/LocaleList.properties
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/WEB-INF/LocaleList.properties?rev=596837&r1=596836&r2=596837&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/WEB-INF/LocaleList.properties (original)
+++ tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/WEB-INF/LocaleList.properties Tue Nov 20 13:57:38 2007
@@ -18,3 +18,4 @@
variant=Variant
isoLanguage=ISO Language
isoCountry=ISO Country
+locale.displayName=Locale
\ No newline at end of file