Author: ekoneil
Date: Thu Apr 7 16:18:24 2005
New Revision: 160494
URL: http://svn.apache.org/viewcvs?view=rev&rev=160494
Log:
NetUI bug fixes:
BEEHIVE-504 data grid's headerCell doesn't support the <netui:attribute>
tag
Broke support for <netui:attribute> out of the <netui:behavior> tag
BEEHIVE-503 netui behavior tag should accept Object as a value
<netui:behavior> can now take Object as a value. If this is null, the tag
receives and registers this as null.
BEEHIVE-502 parameterMap tag doesn't correctly handle a String[] as a map
value
<netui:parameterMap> handles map.get("key") that returns a String[] correctly
BEEHIVE-493 the pagermodel getLastRowForPage method doesn't handle a page
that has fewer rows than the page size
the getLastRowForPage now returns "3" when the data set is of size "4". And,
yes, this is right. :) Because row numbering on a page is zero based, this
number is as if it was an array index. For readable page sizes, be sure to add
one in EL used to display this value in a page.
BB: self
DRT: NetUI pass
BVT: NetUI pass (one failure)
Modified:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridStateCodec.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridStateFactory.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/pager/PagerModel.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/rendering/PagerRenderer.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/DefaultDataGridResourceProvider.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/DefaultDataGridStateCodec.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/DefaultDataGridURLBuilder.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/HeaderCellDecorator.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/SortedCellDecorator.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/pager/PreviousNextPagerRenderer.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractHtmlTableCell.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/HeaderCell.java
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/IBehaviorConsumer.java
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Behavior.java
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ParameterMap.java
Modified:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridStateCodec.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridStateCodec.java?view=diff&r1=160493&r2=160494
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridStateCodec.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridStateCodec.java
Thu Apr 7 16:18:24 2005
@@ -45,5 +45,7 @@
public abstract DataGridState getDataGridState();
+ public abstract void setDataGridState(DataGridState state);
+
public abstract DataGridURLBuilder getDataGridURLBuilder();
}
Modified:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridStateFactory.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridStateFactory.java?view=diff&r1=160493&r2=160494
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridStateFactory.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridStateFactory.java
Thu Apr 7 16:18:24 2005
@@ -78,11 +78,17 @@
return builder;
}
+ public final void attachDataGridState(String name, DataGridState state) {
+ DataGridStateCodec codec = lookupCodec(name, DEFAULT_DATA_GRID_CONFIG);
+ codec.setDataGridState(state);
+ }
+
private final DataGridStateCodec lookupCodec(String name, DataGridConfig
config) {
DataGridStateCodec codec = null;
if(_cache.containsKey(name))
codec = _cache.get(name);
else {
+ assert config != null : "Received a null DataGridConfig; unable to
create a DataGridCodec";
codec = config.createStateCodec(_request, name);
_cache.put(name, codec);
}
Modified:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/pager/PagerModel.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/pager/PagerModel.java?view=diff&r1=160493&r2=160494
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/pager/PagerModel.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/pager/PagerModel.java
Thu Apr 7 16:18:24 2005
@@ -122,7 +122,10 @@
}
public int getLastRowForPage() {
- return _currentRow + getPageSize() - 1;
+ if(_dataSetSize != null && _dataSetSize < getPageSize())
+ /* the dataSet size is absolute, so this value needs to be
adjusted by 1 to be zero based */
+ return _dataSetSize-1;
+ else return _currentRow + getPageSize() - 1;
}
public int getFirstPage() {
Modified:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/rendering/PagerRenderer.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/rendering/PagerRenderer.java?view=diff&r1=160493&r2=160494
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/rendering/PagerRenderer.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/rendering/PagerRenderer.java
Thu Apr 7 16:18:24 2005
@@ -36,6 +36,7 @@
public abstract class PagerRenderer {
private static final Logger LOGGER =
Logger.getInstance(PagerRenderer.class);
+ private static final String EMPTY_STRING = "";
private PagerModel _pagerModel;
private DataGridTagModel _gridModel;
@@ -68,7 +69,7 @@
}
protected String internalRender() {
- return "";
+ return EMPTY_STRING;
}
protected String noDataRender() {
Modified:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/DefaultDataGridResourceProvider.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/DefaultDataGridResourceProvider.java?view=diff&r1=160493&r2=160494
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/DefaultDataGridResourceProvider.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/DefaultDataGridResourceProvider.java
Thu Apr 7 16:18:24 2005
@@ -41,14 +41,10 @@
}
public String getMessage(String key) {
- assert key != null;
-
return internalGetMessage(key);
}
public String formatMessage(String key, Object[] args) {
- assert key != null;
-
String msg = internalFormatMessage(getMessage(key), args);
return msg;
}
Modified:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/DefaultDataGridStateCodec.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/DefaultDataGridStateCodec.java?view=diff&r1=160493&r2=160494
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/DefaultDataGridStateCodec.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/DefaultDataGridStateCodec.java
Thu Apr 7 16:18:24 2005
@@ -77,15 +77,18 @@
DefaultDataGridStateCodec(DataGridConfig config) {
_config = config;
_state = _config.createDataGridState();
- _urlBuilder = new DefaultDataGridURLBuilder(getGridName(), this,
_state);
+ _urlBuilder = new DefaultDataGridURLBuilder(getGridName(), this);
}
public DataGridState getDataGridState() {
if(!_decoded) {
decode(getServletRequest().getParameterMap());
}
-
return _state;
+ }
+
+ public void setDataGridState(DataGridState state) {
+ _state = state;
}
public DefaultDataGridURLBuilder getDataGridURLBuilder() {
Modified:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/DefaultDataGridURLBuilder.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/DefaultDataGridURLBuilder.java?view=diff&r1=160493&r2=160494
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/DefaultDataGridURLBuilder.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/DefaultDataGridURLBuilder.java
Thu Apr 7 16:18:24 2005
@@ -38,12 +38,10 @@
private String _namespace;
private DefaultDataGridStateCodec _codec;
- private DataGridState _state;
- DefaultDataGridURLBuilder(String namespace, DefaultDataGridStateCodec
codec, DataGridState state) {
+ DefaultDataGridURLBuilder(String namespace, DefaultDataGridStateCodec
codec) {
_namespace = namespace;
_codec = codec;
- _state = state;
}
public String getPagerRowQueryParamKey() {
@@ -68,7 +66,7 @@
Map params = _codec.getExistingParams();
Map newParams = new HashMap();
- PagerModel pagerModel = _state.getPagerModel();
+ PagerModel pagerModel = getDataGridState().getPagerModel();
assert pagerModel != null;
addSortParams(newParams);
@@ -86,7 +84,7 @@
Map params = _codec.getExistingParams();
Map newParams = new HashMap();
- PagerModel pagerModel = _state.getPagerModel();
+ PagerModel pagerModel = getDataGridState().getPagerModel();
assert pagerModel != null;
addSortParams(newParams);
@@ -104,7 +102,7 @@
Map params = _codec.getExistingParams();
Map newParams = new HashMap();
- PagerModel pagerModel = _state.getPagerModel();
+ PagerModel pagerModel = getDataGridState().getPagerModel();
assert pagerModel != null;
addSortParams(newParams);
@@ -122,7 +120,7 @@
Map params = _codec.getExistingParams();
Map newParams = new HashMap();
- PagerModel pagerModel = _state.getPagerModel();
+ PagerModel pagerModel = getDataGridState().getPagerModel();
assert pagerModel != null;
addSortParams(newParams);
@@ -137,7 +135,7 @@
}
public String[] getPagerParamValues() {
- PagerModel pagerModel = _state.getPagerModel();
+ PagerModel pagerModel = getDataGridState().getPagerModel();
String[] params = new String[pagerModel.getLastPage() + 1];
for(int i = 0; i < params.length; i++) {
@@ -149,7 +147,7 @@
public Map buildSortQueryParamsMap(String sortExpression) {
- SortModel sortModel = _state.getSortModel();
+ SortModel sortModel = getDataGridState().getSortModel();
SortStrategy sortStrategy = sortModel.getSortStrategy();
List currSorts = sortModel.getSorts();
@@ -199,20 +197,24 @@
return params;
}
+ private final DataGridState getDataGridState() {
+ return _codec.getDataGridState();
+ }
+
private void addSortParams(Map map) {
- Map tmp = _codec.buildSortParamMap(_state.getSortModel().getSorts());
+ Map tmp =
_codec.buildSortParamMap(getDataGridState().getSortModel().getSorts());
if(tmp != null)
map.putAll(tmp);
}
private void addFilterParams(Map map) {
- Map tmp =
_codec.buildFilterParamMap(_state.getFilterModel().getFilters());
+ Map tmp =
_codec.buildFilterParamMap(getDataGridState().getFilterModel().getFilters());
if(tmp != null)
map.putAll(tmp);
}
private void addPagerParams(Map map) {
- Map tmp = _codec.buildPageParamMap(_state.getPagerModel().getRow(),
_state.getPagerModel().getPageSize());
+ Map tmp =
_codec.buildPageParamMap(getDataGridState().getPagerModel().getRow(),
getDataGridState().getPagerModel().getPageSize());
if(tmp != null)
map.putAll(tmp);
}
Modified:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/HeaderCellDecorator.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/HeaderCellDecorator.java?view=diff&r1=160493&r2=160494
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/HeaderCellDecorator.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/HeaderCellDecorator.java
Thu Apr 7 16:18:24 2005
@@ -39,10 +39,8 @@
if(headerCellModel.getHeaderText() != null)
appender.append(headerCellModel.getHeaderText());
- else if(headerCellModel.getBodyContent() != null)
- appender.append(headerCellModel.getBodyContent());
- else
- appender.append(" ");
+ /* todo: should convert this over to using the HtmlConstants rendering
support */
+ else appender.append(" ");
}
}
Modified:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/SortedCellDecorator.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/SortedCellDecorator.java?view=diff&r1=160493&r2=160494
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/SortedCellDecorator.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/SortedCellDecorator.java
Thu Apr 7 16:18:24 2005
@@ -69,7 +69,6 @@
}
protected String buildSortLink(JspContext jspContext, HeaderCellModel
cellModel) {
-
HttpServletRequest request = JspUtil.getRequest(jspContext);
DataGridTagModel dgm = cellModel.getDataGridTagModel();
assert dgm != null;
@@ -90,8 +89,7 @@
/* build icon for existing sort */
if(sortModel.isSorted(cellModel.getSortExpression()))
imgTag.src = dgm.getResourcePath() +
dgm.getSortImagePath(sortDirection);
- else
- imgTag.src = dgm.getResourcePath() + dgm.getDefaultSortImagePath();
+ else imgTag.src = dgm.getResourcePath() +
dgm.getDefaultSortImagePath();
imgTag.registerAttribute(AbstractHtmlState.ATTR_GENERAL,
HtmlConstants.BORDER, "false");
Modified:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/pager/PreviousNextPagerRenderer.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/pager/PreviousNextPagerRenderer.java?view=diff&r1=160493&r2=160494
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/pager/PreviousNextPagerRenderer.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/pager/PreviousNextPagerRenderer.java
Thu Apr 7 16:18:24 2005
@@ -31,7 +31,8 @@
int lastPage = pagerModel.getLastPage();
buf.append(getDataGridTagModel().formatMessage(IDataGridMessageKeys.PAGER_FMT_BANNER,
- new Integer[]{currentPage + 1, pagerModel.getLastPage() + 1}));
+ new
Integer[]{currentPage + 1,
+
pagerModel.getLastPage() + 1}));
buf.append(" ");
if(pagerModel.getPreviousPage() >= 0)
buf.append(buildLivePreviousLink());
Modified:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractHtmlTableCell.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractHtmlTableCell.java?view=diff&r1=160493&r2=160494
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractHtmlTableCell.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractHtmlTableCell.java
Thu Apr 7 16:18:24 2005
@@ -449,7 +449,7 @@
throw new JspException(s);
}
- public void setBehavior(String name, String value, String facet)
+ public void setBehavior(String name, Object value, String facet)
throws JspException {
String s = Bundle.getString("Tags_BehaviorFacetNotSupported", new
Object[]{facet});
throw new JspException(s);
Modified:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java?view=diff&r1=160493&r2=160494
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java
Thu Apr 7 16:18:24 2005
@@ -148,10 +148,10 @@
* @param facet
* @throws JspException
*/
- public void setBehavior(String name, String value, String facet)
+ public void setBehavior(String name, Object value, String facet)
throws JspException {
if(facet != null && facet.equals(FACET_RESOURCE)) {
- _dataGridTagModel.addResourceOverride(name, value);
+ _dataGridTagModel.addResourceOverride(name, (value != null ?
value.toString() : null));
} else {
String s = Bundle.getString("Tags_BehaviorFacetNotSupported", new
Object[]{facet});
throw new JspException(s);
Modified:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/HeaderCell.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/HeaderCell.java?view=diff&r1=160493&r2=160494
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/HeaderCell.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/HeaderCell.java
Thu Apr 7 16:18:24 2005
@@ -24,6 +24,7 @@
import javax.servlet.jsp.tagext.JspFragment;
import org.apache.beehive.netui.tags.IBehaviorConsumer;
+import org.apache.beehive.netui.tags.IAttributeConsumer;
import org.apache.beehive.netui.tags.html.HtmlConstants;
import org.apache.beehive.netui.tags.html.IFormattable;
import org.apache.beehive.netui.tags.rendering.ThTag;
@@ -40,6 +41,7 @@
import
org.apache.beehive.netui.databinding.datagrid.runtime.util.ExtensionUtil;
import org.apache.beehive.netui.databinding.datagrid.api.sort.SortModel;
import org.apache.beehive.netui.databinding.datagrid.api.filter.FilterModel;
+import org.apache.beehive.netui.util.Bundle;
/**
* @jsptagref.tagdescription Renders an HTML table head cell tag
(<code><th></code>).
@@ -48,15 +50,15 @@
*/
public class HeaderCell
extends AbstractCell
- implements IFormattable, IBehaviorConsumer {
+ implements IFormattable, IBehaviorConsumer, IAttributeConsumer {
private static final String TAG_NAME = "HeaderCell";
- private static final String FACET_HEADER_NAME = "header";
- private static final String FACET_RENDERER_NAME = "renderer";
- private static final String FACET_RENDERER_NAME_DEFAULT = "default";
- private static final String FACET_RENDERER_NAME_SORT = "sort";
- private static final String FACET_RENDERER_NAME_EXTENDS = "extends";
+ private static final String ATTRIBUTE_HEADER_NAME = "header";
+ private static final String BEHAVIOR_RENDERER_NAME = "renderer";
+ private static final String BEHAVIOR_RENDERER_NAME_DEFAULT = "default";
+ private static final String BEHAVIOR_RENDERER_NAME_SORT = "sort";
+ private static final String BEHAVIOR_RENDERER_NAME_EXTENDS = "extends";
private static final CellDecorator DECORATOR_HEADER_DEFAULT;
private static final CellDecorator DECORATOR_HEADER_SORTED;
@@ -513,29 +515,36 @@
_cellState.registerAttribute(AbstractHtmlState.ATTR_GENERAL,
HtmlConstants.SCOPE, scope);
}
- public void setBehavior(String name, String value, String facet) throws
JspException {
- if(facet != null && facet.equals(FACET_HEADER_NAME)) {
+ public void setAttribute(String name, String value, String facet) throws
JspException {
+ if(facet != null && facet.equals(ATTRIBUTE_HEADER_NAME)) {
super.addStateAttribute(_cellState, name, value);
- return;
}
- else if(facet != null && facet.equals(FACET_RENDERER_NAME)) {
+ else {
+ String s = Bundle.getString("Tags_AttributeFacetNotSupported", new
Object[]{facet});
+ throw new JspException(s);
+ }
+ }
+
+ public void setBehavior(String name, Object value, String facet) throws
JspException {
+ if (facet != null && facet.equals(BEHAVIOR_RENDERER_NAME)) {
+ String className = value != null ? value.toString() : null;
/* provides a way to extend the existing decorators */
- if(name.equals(FACET_RENDERER_NAME_EXTENDS)) {
- CellDecorator cellDecorator =
(CellDecorator)ExtensionUtil.instantiateClass(value, CellDecorator.class);
+ CellDecorator cellDecorator = (CellDecorator)
ExtensionUtil.instantiateClass(className, CellDecorator.class);
+ if (name.equals(BEHAVIOR_RENDERER_NAME_EXTENDS)) {
cellDecorator.setNestedDecorator(getCellDecorator());
- _cellDecorator = cellDecorator;
- return;
- }
- else if(name.equals(FACET_RENDERER_NAME_SORT)) {
- CellDecorator cellDecorator =
(CellDecorator)ExtensionUtil.instantiateClass(value, CellDecorator.class);
+ } else if (name.equals(BEHAVIOR_RENDERER_NAME_SORT)) {
cellDecorator.setNestedDecorator(DECORATOR_HEADER_SORTED);
- _cellDecorator = cellDecorator;
}
/* replace the core cell decorator with a new default */
- else if(name.equals(FACET_RENDERER_NAME_DEFAULT)) {
- CellDecorator cellDecorator =
(CellDecorator)ExtensionUtil.instantiateClass(value, CellDecorator.class);
- _cellDecorator = cellDecorator;
+ else if (name.equals(BEHAVIOR_RENDERER_NAME_DEFAULT)) {
+ /* no-op */
}
+
+ _cellDecorator = cellDecorator;
+ }
+ else {
+ String s = Bundle.getString("Tags_BehaviorFacetNotSupported", new
Object[]{facet});
+ throw new JspException(s);
}
}
@@ -554,7 +563,7 @@
ArrayList<String> styleClasses = new ArrayList<String>();
- /* todo: refactor. add a chain of decorators here */
+ /* todo: refactor. add a chain of style decorators here; easier to
extend this way. */
FilterModel filterModel = dataGridModel.getState().getFilterModel();
if(filterModel.isFiltered(_headerCellModel.getFilterExpression()))
styleClasses.add(dataGridModel.getStyleModel().getHeaderCellFilteredClass());
@@ -588,11 +597,16 @@
bodyContent = sw.toString();
}
-
_headerCellModel.setDataGridTagModel(DataGridUtil.getDataGridTagModel(getJspContext()));
- _headerCellModel.setBodyContent(bodyContent);
- _headerCellModel.setHeaderText(_headerText);
+ if(_headerText == null) {
+ appender.append(bodyContent.toString());
+ }
+ else {
+
_headerCellModel.setDataGridTagModel(DataGridUtil.getDataGridTagModel(getJspContext()));
+ _headerCellModel.setBodyContent(bodyContent);
+ _headerCellModel.setHeaderText(_headerText);
- getCellDecorator().decorate(getJspContext(), appender,
_headerCellModel);
+ getCellDecorator().decorate(getJspContext(), appender,
_headerCellModel);
+ }
}
protected void applyAttributes()
Modified:
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/IBehaviorConsumer.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/IBehaviorConsumer.java?view=diff&r1=160493&r2=160494
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/IBehaviorConsumer.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/IBehaviorConsumer.java
Thu Apr 7 16:18:24 2005
@@ -35,5 +35,5 @@
* @param facet The name of a facet to which the attribute will be
applied. This is optional.
* @throws JspException A JspException may be thrown if there is an error
setting the attribute.
*/
- void setBehavior(String name, String value, String facet) throws
JspException;
+ void setBehavior(String name, Object value, String facet) throws
JspException;
}
Modified:
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Behavior.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Behavior.java?view=diff&r1=160493&r2=160494
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Behavior.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Behavior.java
Thu Apr 7 16:18:24 2005
@@ -34,14 +34,13 @@
public class Behavior extends AbstractSimpleTag
{
private String _name = null;
- private String _value = null;
+ private Object _value = null;
private String _facet = null;
/**
* Return the name of the Tag.
*/
- public String getTagName()
- {
+ public String getTagName() {
return "Behavior";
}
@@ -71,9 +70,9 @@
* description="The value of the behavior to add to the parent tag."
* @netui.tldx:attribute
*/
- public void setValue(String value)
+ public void setValue(Object value)
{
- _value = setNonEmptyValueAttribute(value);
+ _value = value;
}
/**
Modified:
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ParameterMap.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ParameterMap.java?view=diff&r1=160493&r2=160494
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ParameterMap.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ParameterMap.java
Thu Apr 7 16:18:24 2005
@@ -119,7 +119,7 @@
Iterator it = _map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry key = (Map.Entry) it.next();
- parent.addParameter(key.getKey().toString(),
key.getValue().toString(), null);
+ parent.addParameter(key.getKey().toString(), key.getValue(),
null);
}
}
else {