You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mm...@apache.org on 2006/04/25 17:56:47 UTC
svn commit: r396904 - in /myfaces:
shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/
tomahawk/trunk/core/src/main/java/org/apache/myfaces/component/html/ext/
tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/sortheader...
Author: mmarinschek
Date: Tue Apr 25 08:56:44 2006
New Revision: 396904
URL: http://svn.apache.org/viewcvs?rev=396904&view=rev
Log:
TOMAHAWK-385, TOMAHAWK-386 patches commited
Modified:
myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/component/html/ext/HtmlDataTable.java
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/component/html/ext/SortableModel.java
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/sortheader/HtmlCommandSortHeader.java
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/sortheader/HtmlSortHeaderRenderer.java
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/renderkit/html/ext/HtmlTableRenderer.java
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/taglib/html/ext/HtmlDataTableTag.java
myfaces/tomahawk/trunk/core/src/main/tld/entities/extended_data_table_attributes.xml
Modified: myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java
URL: http://svn.apache.org/viewcvs/myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java?rev=396904&r1=396903&r2=396904&view=diff
==============================================================================
--- myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java (original)
+++ myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java Tue Apr 25 08:56:44 2006
@@ -162,9 +162,17 @@
for (int j = 0, size = getChildCount(component); j < size; j++)
{
UIComponent child = (UIComponent) children.get(j);
- if(child.isRendered())
+ if (child.isRendered())
{
- encodeColumnChild(facesContext, writer, uiData, child, columnStyleIterator);
+ boolean columnRendering = child instanceof UIColumn;
+
+ if (columnRendering)
+ beforeColumn(facesContext, uiData, j);
+
+ encodeColumnChild(facesContext, writer, uiData, child, columnStyleIterator);
+
+ if (columnRendering)
+ afterColumn(facesContext, uiData, j);
}
}
renderRowEnd(facesContext, writer, uiData);
@@ -177,8 +185,8 @@
UIData uiData, UIComponent component, Iterator columnStyleIterator) throws IOException
{
if (component instanceof UIColumn)
- {
- renderColumnBody(facesContext, writer, uiData, component, columnStyleIterator);
+ {
+ renderColumnBody(facesContext, writer, uiData, component, columnStyleIterator);
}
}
@@ -312,7 +320,48 @@
protected void afterRow(FacesContext facesContext, UIData uiData) throws IOException
{
}
-
+ /**
+ * Perform any operations necessary immediately before each column child is rendered
+ *
+ * @param facesContext the <code>FacesContext</code>.
+ * @param uiData the <code>UIData</code> being rendered.
+ * @param columnIndex the index of the currenly rendered column
+ */
+ protected void beforeColumn(FacesContext facesContext, UIData uiData, int columnIndex) throws IOException
+ {
+ }
+ /**
+ * Perform any operations necessary immediately after each column child is rendered
+ *
+ * @param facesContext the <code>FacesContext</code>.
+ * @param uiData the <code>UIData</code> being rendered.
+ * @param columnIndex the index of the currenly rendered column
+ */
+ protected void afterColumn(FacesContext facesContext, UIData uiData, int columnIndex) throws IOException
+ {
+ }
+ /**
+ *Perform any operations necessary immediately before each column child's header or footer is rendered
+ *
+ * @param facesContext the <code>FacesContext</code>.
+ * @param uiData the <code>UIData</code> being rendered.
+ * @param header true if the header of the column child is rendered
+ * @param columnIndex the index of the currenly rendered column
+ */
+ protected void beforeColumnHeaderOrFooter(FacesContext facesContext, UIData uiData, boolean header, int columnIndex) throws IOException
+ {
+ }
+ /**
+ * Perform any operations necessary immediately after each column child's header of footer is rendered
+ *
+ * @param facesContext the <code>FacesContext</code>.
+ * @param uiData the <code>UIData</code> being rendered.
+ * @param header true if the header of the column child is rendered
+ * @param columnIndex the index of the currenly rendered column
+ */
+ protected void afterColumnHeaderOrFooter(FacesContext facesContext, UIData uiData, boolean header, int columnIndex) throws IOException
+ {
+ }
/**
* Perform any operations necessary immediately after the TBODY end tag
* is output.
@@ -554,13 +603,21 @@
HtmlRendererUtils.writePrettyLineSeparator(facesContext);
writer.startElement(HTML.TR_ELEM, component);
+ int columnIndex = 0;
for (Iterator it = getChildren(component).iterator(); it.hasNext();)
{
UIComponent uiComponent = (UIComponent) it.next();
- if(uiComponent.isRendered())
+ if (uiComponent.isRendered())
{
+ if (component instanceof UIData && uiComponent instanceof UIColumn)
+ beforeColumnHeaderOrFooter(facesContext, (UIData)component, header, columnIndex);
+
renderColumnChildHeaderOrFooterRow(facesContext, writer, uiComponent, styleClass, header);
+
+ if (component instanceof UIData && uiComponent instanceof UIColumn)
+ afterColumnHeaderOrFooter(facesContext, (UIData)component, header, columnIndex);
}
+ columnIndex += 1;
}
writer.endElement(HTML.TR_ELEM);
}
Modified: myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/component/html/ext/HtmlDataTable.java
URL: http://svn.apache.org/viewcvs/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/component/html/ext/HtmlDataTable.java?rev=396904&r1=396903&r2=396904&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/component/html/ext/HtmlDataTable.java (original)
+++ myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/component/html/ext/HtmlDataTable.java Tue Apr 25 08:56:44 2006
@@ -77,7 +77,9 @@
private String _rowGroupStyle = null;
private String _rowGroupStyleClass = null;
private String _varDetailToggler = null;
-
+
+ private int _sortColumnIndex = -1;
+
private boolean _isValidChildren = true;
private Set _expandedNodes = new HashSet();
@@ -255,7 +257,7 @@
Map requestMap = getFacesContext().getExternalContext().getRequestMap();
requestMap.put(_varDetailToggler, this);
}
- }
+ }
public void processDecodes(FacesContext context)
{
@@ -515,7 +517,10 @@
*
*/
protected String getSortPropertyFromEL(UIComponent component)
- {
+ {
+ if (getVar() == null)
+ return null;
+
for (Iterator iter = component.getChildren().iterator(); iter.hasNext();)
{
UIComponent aChild = (UIComponent) iter.next();
@@ -528,8 +533,16 @@
{
String expressionString = vb.getExpressionString();
- String temp = expressionString.substring(expressionString.indexOf(".") + 1);
- return temp.substring(0, temp.indexOf("}"));
+ int varIndex = expressionString.indexOf(getVar()+".");
+ if (varIndex != -1)
+ {
+ int varEndIndex = varIndex + getVar().length();
+ String tempProp = expressionString.substring(varEndIndex + 1, expressionString.length());
+
+ StringTokenizer tokenizer = new StringTokenizer(tempProp, " +[]{}-/*|?:&<>!=()%");
+ if (tokenizer.hasMoreTokens())
+ return tokenizer.nextToken();
+ }
}
}
else getSortPropertyFromEL(aChild);
@@ -537,7 +550,32 @@
return null;
}
-
+ /**
+ * @return the index coresponding to the given column name.
+ */
+ protected int columnNameToIndex(String columnName)
+ {
+ int index = 0;
+ for (Iterator iter = getChildren().iterator(); iter.hasNext();)
+ {
+ UIComponent aChild = (UIComponent)iter.next();
+ if (aChild instanceof UIColumn)
+ {
+ UIComponent headerFacet = ((UIColumn)aChild).getHeader();
+ if (headerFacet != null && headerFacet instanceof HtmlCommandSortHeader)
+ {
+ HtmlCommandSortHeader sortHeader = (HtmlCommandSortHeader)headerFacet;
+ if (columnName != null && columnName.equals(sortHeader.getColumnName()))
+ return index;
+ }
+ }
+
+ index += 1;
+ }
+
+ return -1;
+ }
+
/**
* @see javax.faces.component.UIData#encodeEnd(javax.faces.context.FacesContext)
*/
@@ -605,7 +643,7 @@
boolean preserveSort = isPreserveSort();
boolean sortable = isSortable();
- Object values[] = new Object[30];
+ Object values[] = new Object[32];
values[0] = super.saveState(context);
values[1] = _preserveDataModel;
if (isPreserveDataModel())
@@ -647,6 +685,8 @@
values[27] = _expandedNodes;
values[28] = _rowGroupStyle;
values[29] = _rowGroupStyleClass;
+ values[30] = _sortedColumnVar;
+ values[31] = new Integer(_sortColumnIndex);
return values;
}
@@ -750,6 +790,8 @@
_expandedNodes = (Set)values[27];
_rowGroupStyle = (String)values[28];
_rowGroupStyleClass = (String)values[29];
+ _sortedColumnVar = (String)values[30];
+ _sortColumnIndex = values[31] != null ? ((Integer)values[31]).intValue() : -1;
}
public _SerializableDataModel getSerializableDataModel()
@@ -847,7 +889,7 @@
* but it works.
*/
public void setSortColumn(String sortColumn)
- {
+ {
_sortColumn = sortColumn;
// update model is necessary here, because processUpdates is never called
// reason: HtmlCommandSortHeader.isImmediate() == true
@@ -856,13 +898,14 @@
{
vb.setValue(getFacesContext(), _sortColumn);
_sortColumn = null;
- }
+ }
+
+ setSortColumnIndex(columnNameToIndex(sortColumn));
}
public String getSortColumn()
{
- if (_sortColumn != null)
- return _sortColumn;
+ if (_sortColumn != null) return _sortColumn;
ValueBinding vb = getValueBinding("sortColumn");
return vb != null ? (String) vb.getValue(getFacesContext()) : null;
}
@@ -1158,6 +1201,19 @@
return _expandedNodes.contains(rowIndex);
}
+ public int getSortColumnIndex()
+ {
+ if (_sortColumnIndex == -1)
+ _sortColumnIndex = columnNameToIndex(getSortColumn());
+
+ return _sortColumnIndex;
+ }
+
+ public void setSortColumnIndex(int sortColumnIndex)
+ {
+ _sortColumnIndex = sortColumnIndex;
+ }
+
//------------------ GENERATED CODE BEGIN (do not modify!) --------------------
public static final String COMPONENT_TYPE = "org.apache.myfaces.HtmlDataTable";
@@ -1174,7 +1230,7 @@
private Boolean _renderedIfEmpty = null;
private String _rowIndexVar = null;
private String _rowCountVar = null;
- private String _currentColumnVar = null;
+ private String _sortedColumnVar = null;
private String _previousRowDataVar = null;
public void setPreserveDataModel(boolean preserveDataModel)
@@ -1282,18 +1338,17 @@
return _previousRowDataVar;
ValueBinding vb = getValueBinding("previousRowDataVar");
return vb != null ? (String) vb.getValue(getFacesContext()) : null;
- }
+ }
- public void setCurrentColumnVar(String currentColumnVar)
+ public void setSortedColumnVar(String sortedColumnVar)
{
- _currentColumnVar = currentColumnVar;
+ _sortedColumnVar = sortedColumnVar;
}
- public String getCurrentColumnVar()
+ public String getSortedColumnVar()
{
- if (_currentColumnVar != null)
- return _currentColumnVar;
- ValueBinding vb = getValueBinding("currentColumnVar");
+ if (_sortedColumnVar != null) return _sortedColumnVar;
+ ValueBinding vb = getValueBinding("sortedColumnVar");
return vb != null ? (String) vb.getValue(getFacesContext()) : null;
}
Modified: myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/component/html/ext/SortableModel.java
URL: http://svn.apache.org/viewcvs/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/component/html/ext/SortableModel.java?rev=396904&r1=396903&r2=396904&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/component/html/ext/SortableModel.java (original)
+++ myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/component/html/ext/SortableModel.java Tue Apr 25 08:56:44 2006
@@ -16,6 +16,8 @@
package org.apache.myfaces.component.html.ext;
+import java.io.StringReader;
+import java.lang.reflect.Method;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Collection;
@@ -23,23 +25,33 @@
import java.util.Comparator;
import java.util.List;
import javax.faces.context.FacesContext;
-import javax.faces.el.PropertyResolver;
+import javax.faces.el.ReferenceSyntaxException;
import javax.faces.model.ArrayDataModel;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import javax.faces.model.ResultDataModel;
import javax.faces.model.ResultSetDataModel;
import javax.faces.model.ScalarDataModel;
+import javax.servlet.jsp.el.ELException;
+import javax.servlet.jsp.el.FunctionMapper;
+import javax.servlet.jsp.el.VariableResolver;
import javax.servlet.jsp.jstl.sql.Result;
+import org.apache.commons.el.Expression;
+import org.apache.commons.el.ExpressionString;
+import org.apache.commons.el.Logger;
+import org.apache.commons.el.parser.ELParser;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
*
*/
-public final class SortableModel extends DataModel
+public final class SortableModel extends DataModel implements VariableResolver
{
private static final Log log = LogFactory.getLog(SortableModel.class);
+ public static final Logger LOGGER = new Logger(System.out);
+
+ private static final String ROW_OBJECT_NAME = "rowObjectGet";
private SortCriterion _sortCriterion = null;
@@ -51,6 +63,16 @@
private static final Class OBJECT_ARRAY_CLASS = (new Object[0]).getClass();
+ protected static FunctionMapper s_functionMapper = new FunctionMapper()
+ {
+ public Method resolveFunction(String prefix, String localName)
+ {
+ throw new ReferenceSyntaxException(
+ "Functions not supported in expressions. Function: "
+ + prefix + ":" + localName);
+ }
+ };
+
/**
* Create a new SortableModel from the given instance.
* @param model This will be converted into a {@link DataModel}
@@ -87,7 +109,8 @@
* @param data This Object will be converted into a
* {@link DataModel}.
*/
- public void setWrappedData(Object data) {
+ public void setWrappedData(Object data)
+ {
_baseIndicesList = null;
_model = toDataModel(data);
_sortCriterion = null;
@@ -163,12 +186,9 @@
if (!_model.isRowAvailable())
return false; // if there is no data in the table then nothing is sortable
- Object data = _model.getRowData();
try
- {
- FacesContext context = FacesContext.getCurrentInstance();
- PropertyResolver resolver = context.getApplication().getPropertyResolver();
- Object propertyValue = resolver.getValue(data, property);
+ {
+ Object propertyValue = getPropertyValue(property);
// when the value is null, we don't know if we can sort it.
// by default let's support sorting of null values, and let the user
@@ -248,9 +268,9 @@
_model.setRowIndex(0);
// Make sure the model has that row 0! (It could be empty.)
if (_model.isRowAvailable())
- {
- FacesContext context = FacesContext.getCurrentInstance();
- Comparator comp = new Comp(context. getApplication().getPropertyResolver(), property);
+ {
+ Comparator comp = new Comp(property);
+
if (!isAscending)
comp = new Inverter(comp);
@@ -292,7 +312,40 @@
}
return index;
}
+
+ protected Object getPropertyValue(String property)
+ {
+ String expressionString = "${"+ROW_OBJECT_NAME+"."+property+"}";
+ ELParser parser = new ELParser(new StringReader(expressionString));
+ try
+ {
+ Object expression = parser.ExpressionString();
+ if (!(expression instanceof Expression) && !(expression instanceof ExpressionString))
+ return null;
+
+ Object value = expression instanceof Expression
+ ? ((Expression) expression).evaluate(this, s_functionMapper, LOGGER)
+ : ((ExpressionString) expression).evaluate(this, s_functionMapper, LOGGER);
+ return value;
+ }
+ catch (Exception exc)
+ {
+ log.error("Evaluate:", exc);
+ }
+
+ return null;
+ }
+
+ public Object resolveVariable(String pName) throws ELException
+ {
+ if (ROW_OBJECT_NAME.equals(pName))
+ return _model.getRowData();
+
+ FacesContext context = FacesContext.getCurrentInstance();
+ return context.getApplication().getVariableResolver().resolveVariable(context, pName);
+ }
+
private static final class IntList extends ArrayList implements Cloneable
{
public IntList(int size)
@@ -310,12 +363,10 @@
private final class Comp implements Comparator
{
- private final PropertyResolver _resolver;
private final String _prop;
- public Comp(PropertyResolver resolver, String property)
- {
- _resolver = resolver;
+ public Comp(String property)
+ {
_prop = property;
}
@@ -325,12 +376,10 @@
int index2 = ((Integer) o2).intValue();
_model.setRowIndex(index1);
- Object instance1 = _model.getRowData();
- Object value1 = _resolver.getValue(instance1, _prop);
+ Object value1 = getPropertyValue(_prop);
_model.setRowIndex(index2);
- Object instance2 = _model.getRowData();
- Object value2 = _resolver.getValue(instance2, _prop);
+ Object value2 = getPropertyValue(_prop);
if (value1 == null)
return (value2 == null) ? 0 : -1;
@@ -414,5 +463,5 @@
throw new UnsupportedOperationException(this.getClass().getName()
+ " UnsupportedOperationException");
}
- };
+ };
}
Modified: myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/sortheader/HtmlCommandSortHeader.java
URL: http://svn.apache.org/viewcvs/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/sortheader/HtmlCommandSortHeader.java?rev=396904&r1=396903&r2=396904&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/sortheader/HtmlCommandSortHeader.java (original)
+++ myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/sortheader/HtmlCommandSortHeader.java Tue Apr 25 08:56:44 2006
@@ -79,7 +79,7 @@
}
}
}
- }
+ }
public HtmlDataTable findParentDataTable()
{
Modified: myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/sortheader/HtmlSortHeaderRenderer.java
URL: http://svn.apache.org/viewcvs/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/sortheader/HtmlSortHeaderRenderer.java?rev=396904&r1=396903&r2=396904&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/sortheader/HtmlSortHeaderRenderer.java (original)
+++ myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/sortheader/HtmlSortHeaderRenderer.java Tue Apr 25 08:56:44 2006
@@ -16,6 +16,7 @@
package org.apache.myfaces.custom.sortheader;
import java.io.IOException;
+import java.util.Map;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
@@ -78,7 +79,7 @@
ResponseWriter writer = facesContext.getResponseWriter();
writer.write((dataTable.isSortAscending()) ? "↑" : "↓");
}
- }
+ }
}
super.encodeEnd(facesContext, component);
}
Modified: myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/renderkit/html/ext/HtmlTableRenderer.java
URL: http://svn.apache.org/viewcvs/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/renderkit/html/ext/HtmlTableRenderer.java?rev=396904&r1=396903&r2=396904&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/renderkit/html/ext/HtmlTableRenderer.java (original)
+++ myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/renderkit/html/ext/HtmlTableRenderer.java Tue Apr 25 08:56:44 2006
@@ -16,6 +16,18 @@
package org.apache.myfaces.renderkit.html.ext;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Hashtable;
+import java.util.Enumeration;
+import java.util.Map;
+
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIData;
+import javax.faces.context.FacesContext;
+import javax.faces.context.ResponseWriter;
+
import org.apache.myfaces.component.html.ext.HtmlDataTable;
import org.apache.myfaces.custom.column.HtmlColumn;
import org.apache.myfaces.custom.column.HtmlSimpleColumn;
@@ -409,7 +421,7 @@
{
writer.writeAttribute(htmlAttribute, value, null);
}
- }
+ }
/**
* Render the specified column object using the current row data.
@@ -456,7 +468,7 @@
columnStyleIterator);
}
columns.setRowIndex(-1);
- }
+ }
}
/**
@@ -788,5 +800,43 @@
}
return false;
+ }
+
+ protected void beforeColumn(FacesContext facesContext, UIData uiData, int columnIndex) throws IOException
+ {
+ super.beforeColumn(facesContext, uiData, columnIndex);
+
+ if (uiData instanceof HtmlDataTable)
+ {
+ HtmlDataTable dataTable = (HtmlDataTable)uiData;
+
+ putSortedReqScopeParam(facesContext, dataTable, columnIndex);
+ }
+ }
+
+ protected void beforeColumnHeaderOrFooter(FacesContext facesContext, UIData uiData, boolean header, int columnIndex) throws IOException
+ {
+ super.beforeColumnHeaderOrFooter(facesContext, uiData, header, columnIndex);
+
+ if (header && uiData instanceof HtmlDataTable)
+ {
+ HtmlDataTable dataTable = (HtmlDataTable)uiData;
+
+ putSortedReqScopeParam(facesContext, dataTable, columnIndex);
+ }
+ }
+
+ protected void putSortedReqScopeParam(FacesContext facesContext, HtmlDataTable dataTable, int columnIndex)
+ {
+ String sortedColumnVar = dataTable.getSortedColumnVar();
+ Map requestMap = facesContext.getExternalContext().getRequestMap();
+
+ if (columnIndex == dataTable.getSortColumnIndex())
+ {
+ if (sortedColumnVar != null)
+ requestMap.put(sortedColumnVar, Boolean.TRUE);
+ }
+ else if (sortedColumnVar != null)
+ requestMap.remove(sortedColumnVar);
}
}
Modified: myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/taglib/html/ext/HtmlDataTableTag.java
URL: http://svn.apache.org/viewcvs/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/taglib/html/ext/HtmlDataTableTag.java?rev=396904&r1=396903&r2=396904&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/taglib/html/ext/HtmlDataTableTag.java (original)
+++ myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/taglib/html/ext/HtmlDataTableTag.java Tue Apr 25 08:56:44 2006
@@ -54,6 +54,7 @@
private String _rowIndexVar;
private String _rowCountVar;
private String _previousRowDataVar;
+ private String _sortedColumnVar;
private String _rowOnClick;
private String _rowOnDblClick;
private String _rowOnMouseDown;
@@ -89,6 +90,7 @@
_rowIndexVar=null;
_rowCountVar=null;
_previousRowDataVar=null;
+ _sortedColumnVar=null;
_rowOnClick=null;
_rowOnDblClick=null;
_rowOnMouseDown=null;
@@ -125,6 +127,7 @@
setStringProperty(component, "rowIndexVar", _rowIndexVar);
setStringProperty(component, "rowCountVar", _rowCountVar);
setStringProperty(component, "previousRowDataVar", _previousRowDataVar);
+ setStringProperty(component, "sortedColumnVar", _sortedColumnVar);
setStringProperty(component, "rowOnClick", _rowOnClick);
setStringProperty(component, "rowOnDblClick", _rowOnDblClick);
setStringProperty(component, "rowOnMouseDown", _rowOnMouseDown);
@@ -207,6 +210,11 @@
public void setPreviousRowDataVar(String previousRowDataVar)
{
_previousRowDataVar = previousRowDataVar;
+ }
+
+ public void setSortedColumnVar(String sortedColumnVar)
+ {
+ _sortedColumnVar = sortedColumnVar;
}
public void setRowOnMouseOver(String rowOnMouseOver)
Modified: myfaces/tomahawk/trunk/core/src/main/tld/entities/extended_data_table_attributes.xml
URL: http://svn.apache.org/viewcvs/myfaces/tomahawk/trunk/core/src/main/tld/entities/extended_data_table_attributes.xml?rev=396904&r1=396903&r2=396904&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/core/src/main/tld/entities/extended_data_table_attributes.xml (original)
+++ myfaces/tomahawk/trunk/core/src/main/tld/entities/extended_data_table_attributes.xml Tue Apr 25 08:56:44 2006
@@ -131,12 +131,12 @@
</description>
</attribute>
<attribute>
- <name>currentColumnVar</name>
+ <name>sortedColumnVar</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
<description>
A parameter name, under which the a boolean is set in request scope
- similar to the var parameter. TRUE for the column that is currently sorted.
+ similar to the var parameter. TRUE for the column that is currently sorted, FALSE otherwise.
</description>
</attribute>
<attribute>