Author: ekoneil
Date: Tue Jul 27 15:52:08 2004
New Revision: 30805
Modified:
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/datagrid/model/ColumnModel.java
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/datagrid/model/DataGridModel.java
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/datagrid/services/FilterService.java
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/datagrid/services/PagerService.java
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/datagrid/services/SortService.java
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/AbstractColumn.java
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/AnchorColumn.java
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/Columns.java
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/DataGrid.java
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/ImageColumn.java
Log:
More data grid cleanup.
- disable grouping (this will come back shortly)
- code cleanup
BB: self
DRT: NetUI pass
CR: Daryl
Modified:
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/datagrid/model/ColumnModel.java
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/datagrid/model/ColumnModel.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/datagrid/model/ColumnModel.java
Tue Jul 27 15:52:08 2004
@@ -107,15 +107,6 @@
public void setFilterUri(String filterUri) {_filterUri = filterUri;}
public String getFilterUri() {return _filterUri;}
- public void setRenderData(Object renderData) {_renderData = renderData;}
- public Object getRenderData() {return _renderData;}
-
- public void setCanGroup(boolean canGroup) {_canGroup = canGroup;}
- public boolean getCanGroup() {return _canGroup;}
-
- public void setShouldGroup(boolean shouldGroup) {_shouldGroup =
shouldGroup;}
- public boolean getShouldGroup() {return _shouldGroup;}
-
public void setCssPolicy(StylePolicy stylePolicy) {_stylePolicy =
stylePolicy;}
public StylePolicy getCssPolicy() {return _dataGridModel.getCssPolicy();}
@@ -136,9 +127,6 @@
public void onEndRow()
{
- // reset these values
- setCanGroup(false);
- setShouldGroup(false);
}
public void openHeaderCell(StringBuffer buf)
@@ -191,21 +179,6 @@
buf.append("</th>\n");
}
- public void onDataCellPreRender()
- {
- assert _dataGridModel != null;
-
- // for grouping, evaluate the data source expression here.
- // that way the grouped columns can compare data to render in their
renderData methods
- Object value = _value;
-
- if(value != null && value.equals(getRenderData()))
- setCanGroup(true);
- else setCanGroup(false);
-
- setRenderData(value);
- }
-
public void openDataCell(StringBuffer buf)
{
buf.append("<td");
@@ -215,22 +188,13 @@
public void renderDataCell(StringBuffer buffer)
{
- if(getShouldGroup())
- renderGroupedData(buffer);
- else
- {
- String formatted = formatText(getRenderData());
- buffer.append(formatted);
- }
+ String formatted = formatText(_value);
+ buffer.append(formatted);
}
public void closeDataCell(StringBuffer buf)
{
buf.append("</td>");
- }
-
- public void onDataCellPostRender()
- {
}
public void openFooterCell(StringBuffer buf)
Modified:
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/datagrid/model/DataGridModel.java
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/datagrid/model/DataGridModel.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/datagrid/model/DataGridModel.java
Tue Jul 27 15:52:08 2004
@@ -44,7 +44,6 @@
private static final int NO_GROUPING = -1;
private String _name = null;
- private int _groupDepth = NO_GROUPING;
private int _startRenderWindow = 0;
private int _endRenderWindow = 0;
@@ -123,7 +122,7 @@
while(_dataSet.hasNext())
{
_dataSet.next();
- renderBody(buf, _dataSet.getCurrentIndex(), _columns, _cssPolicy,
_sortService, _groupDepth);
+ renderBody(buf, _dataSet.getCurrentIndex(), _columns, _cssPolicy,
_sortService);
}
// footer <tr>
@@ -171,7 +170,7 @@
closeHeaderRow(buf);
}
- private void renderBody(StringBuffer buf, int index, List columns,
StylePolicy cssPolicy, SortService sortService, int groupDepth)
+ private void renderBody(StringBuffer buf, int index, List columns,
StylePolicy cssPolicy, SortService sortService)
{
if(_logger.isDebugEnabled()) _logger.debug("render body");
@@ -183,31 +182,9 @@
for(int i = 0; i < columns.size(); i++)
{
ColumnModel column = (ColumnModel)columns.get(i);
-
- column.onDataCellPreRender();
-
- // handle grouping
- if(groupDepth > NO_GROUPING && i < groupDepth)
- {
- if(i == 0)
- {
- if(column.getCanGroup())
- column.setShouldGroup(true);
- }
- else
- {
- ColumnModel prevColumn = (ColumnModel)columns.get(i-1);
- if(prevColumn.getShouldGroup() && column.getCanGroup())
- column.setShouldGroup(true);
- }
- }
-
- // render the data for the column
column.openDataCell(buf);
column.renderDataCell(buf);
column.closeDataCell(buf);
-
- column.onDataCellPostRender();
}
// loop over all columns to end the row
@@ -338,9 +315,6 @@
public void setCssPolicy(StylePolicy cssPolicy) {_cssPolicy = cssPolicy;}
public StylePolicy getCssPolicy() {return _cssPolicy;}
-
- public void setGroupDepth(int groupDepth) {_groupDepth = groupDepth;}
- public int getGroupDepth() {return _groupDepth;}
public int getDataSetSize() {return _dataSet.getSize();}
Modified:
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/datagrid/services/FilterService.java
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/datagrid/services/FilterService.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/datagrid/services/FilterService.java
Tue Jul 27 15:52:08 2004
@@ -18,21 +18,15 @@
*/
package org.apache.beehive.netui.datagrid.services;
-// java imports
import java.util.ArrayList;
import java.util.Iterator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-
import javax.servlet.ServletRequest;
-// internal imports
import org.apache.beehive.netui.datagrid.model.IFilter;
-
import org.apache.beehive.netui.util.logging.Logger;
-
-// external imports
/**
* 8.1: _sort=<namespace>~<columnName>~<op>~<value>
Modified:
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/datagrid/services/PagerService.java
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/datagrid/services/PagerService.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/datagrid/services/PagerService.java
Tue Jul 27 15:52:08 2004
@@ -18,13 +18,9 @@
*/
package org.apache.beehive.netui.datagrid.services;
-// java imports
import javax.servlet.ServletRequest;
-// internal imports
import org.apache.beehive.netui.util.logging.Logger;
-
-// external imports
/**
*
Modified:
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/datagrid/services/SortService.java
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/datagrid/services/SortService.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/datagrid/services/SortService.java
Tue Jul 27 15:52:08 2004
@@ -18,7 +18,6 @@
*/
package org.apache.beehive.netui.datagrid.services;
-// java imports
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
@@ -27,19 +26,16 @@
import java.util.Map;
import javax.servlet.ServletRequest;
-// internal imports
import org.apache.beehive.netui.datagrid.model.ISort;
import org.apache.beehive.netui.datagrid.model.impl.DefaultSort;
import org.apache.beehive.netui.util.logging.Logger;
-// external imports
-
/**
* 8.1: _sort=<namespace>~[+|-]<expr>
* 9.0: netui_sort=<namespace>~[+|-]<expr>
*
- * @todo: would be great to move the namespace name into the key for faster
lookups
- * @todo: figure out the back-compat story (a sad, long, and sordid one to be
sure)
+ * todo: would be great to move the namespace name into the key for faster
lookups
+ * todo: figure out the back-compat story (a sad, long, and sordid one to be
sure)
*/
public class SortService
{
Modified:
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/AbstractColumn.java
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/AbstractColumn.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/AbstractColumn.java
Tue Jul 27 15:52:08 2004
@@ -115,7 +115,7 @@
{
ColumnModel cm = getDataGrid().getNextColumnModel();
setColumnModel(cm);
-
+
cm.setValue(_value);
cm.setHeaderText(_headerText);
cm.setFooterText(_footerText);
@@ -168,7 +168,6 @@
if (renderState == Columns.HEADER_RENDER_STATE)
{
if (_logger.isDebugEnabled()) _logger.debug("render a column's
header cell");
-
cm.openHeaderCell(buf);
cm.renderHeader(buf);
cm.closeHeaderCell(buf);
@@ -176,38 +175,13 @@
else if (renderState == Columns.DATA_RENDER_STATE)
{
if (_logger.isDebugEnabled()) _logger.debug("render a column's
data cell");
-
- cm.onDataCellPreRender();
-
- int index = getDataGrid().getCurrentIndex();
- int groupDepth = dgm.getGroupDepth();
-
- if (_logger.isDebugEnabled()) _logger.debug("column index: " +
index);
-
- // handle grouping
- if (groupDepth > Columns.NO_GROUPING && index < groupDepth)
- {
- if (index == 0)
- {
- if (cm.getCanGroup())
- cm.setShouldGroup(true);
- }
- else
- {
- if (cm.getShouldGroup() && cm.getCanGroup())
- cm.setShouldGroup(true);
- }
- }
-
cm.openDataCell(buf);
cm.renderDataCell(buf);
cm.closeDataCell(buf);
- cm.onDataCellPostRender();
}
else if (renderState == Columns.FOOTER_RENDER_STATE)
{
if (_logger.isDebugEnabled()) _logger.debug("render a column's
footer cell");
-
cm.openFooterCell(buf);
cm.renderFooterCell(buf);
cm.closeFooterCell(buf);
Modified:
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/AnchorColumn.java
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/AnchorColumn.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/AnchorColumn.java
Tue Jul 27 15:52:08 2004
@@ -33,48 +33,6 @@
// external imports
/**
- *
- * @jsptagref.tagdescription
- * <p>
- * This tag renders a column with an HTML hyperlink in each data cell.
- * The anchor that is created is constructed from attributes on this tag
- * and any nested [EMAIL PROTECTED] com.bea.wlw.netui.tags.html.Parameter} or
[EMAIL PROTECTED]
- * com.bea.wlw.netui.tags.html.ParameterMap}
- * tags.
- *
- * <p>The hyperlink can be constructed in one of two ways: (1) using text
provided
- * in the <code>title</code> attribute or (2) using data from the current item
in the data set.
- * If using the <code>title</code> attribute, the column is not filterable or
sortable
- * as there is no data from the data set to filter or sort. If using
- * data from the current item, the column can be filtered and sorted.
- * </p>
- *
- * <p>The <netui:anchorColumn> has the ability to render a clickable image
inside the hyperlink.
- * An image will be rendered if the <code>src</code>
- * attribute is set and the <code>name</code> attribute is null. Otherwise,
- * the data in the current data item that matches the <code>name</code>
- * attribute will be rendered. If rendering an image using the
<code>src</code>
- * attribute, the column can be sorted and filtered on the name of the image.
- * </p>
- *
- * <p>In constructing an anchor from the attributes on the tag, exactly
- * one of the <code>href</code> and <code>action</code> attributes must be
specified.
- * Providing both or neither will result in an error being reported.
- * </p>
- *
- * <p><b>Required resources:</b><br/>
- * <table>
- * <tr><td>
- * The JavaScript file <code>_grid.js</code> must be included in any JSP page
with a grid that uses a
- * filter-enabled <netui:anchorColumn>.
- * The New Page Flow Wizard (available at File-->New-->Page Flow) adds the
<code>_grid.js</code> file to a project's
- * /resources/grid directory, when you build a Page Flow over a database
control.
- * The JSP page should contain:</p>
- * <pre> <script language="javascript" src="/resources/grid/_grid.js"
- * type="text/javascript"></script></pre>
- * </td></tr>
- * </table>
- * </p>
*
* @netui:tag name="anchorColumn" description="Renders a column of anchors in
a NetUI data grid"
* @netui.tldx:tag whitespace="indent"
Modified:
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/Columns.java
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/Columns.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/Columns.java
Tue Jul 27 15:52:08 2004
@@ -18,53 +18,23 @@
*/
package org.apache.beehive.netui.tags.datagrid;
-// java imports
-
-// internal imports
import org.apache.beehive.netui.datagrid.model.ColumnModel;
import org.apache.beehive.netui.datagrid.model.DataGridModel;
import org.apache.beehive.netui.tags.AbstractBaseTag;
import org.apache.beehive.netui.util.logging.Logger;
-// external imports
-
/**
*
- * <p>
- * <b>Sort Syntax</b>
- * <br/>
- *
- * </p>
- * @jsptagref.tagdescription
- * <p>This tag is a container for the columns that render the header, data,
and footer
- * for each column in a [EMAIL PROTECTED] Grid} tag. Tags contained
immediately
- * within the <netui-data:columns> tag
- * should be of the following types:
- * <blockquote>
- * <ul>
- * <li>[EMAIL PROTECTED]
com.bea.wlw.netui.tags.databinding.grid.column.AnchorColumn}</li>
- * <li>[EMAIL PROTECTED]
com.bea.wlw.netui.tags.databinding.grid.column.BasicColumn}</li>
- * <li>[EMAIL PROTECTED]
com.bea.wlw.netui.tags.databinding.grid.column.ExpressionColumn}</li>
- * <li>[EMAIL PROTECTED]
com.bea.wlw.netui.tags.databinding.grid.column.ImageColumn}</li>
- * </ul>
- * </blockquote>
- * <p>Additionally, the <netui-data:columns> tag has the capability to set
global properties for all
- * of the contained column tags. Specifically, the ability to sort/filter and
the
- * actions associated with performing these operations can be set here. All
sortable
- * and filterable column tags that are contained within a
<netui-data:columns> tag may
- * use the global properties or may override them if a column needs to be
handled specially.</p>
- *
* @netui:tag name="columns" description="Container tag for columsn that will
render in the grid"
* @netui.tldx:tag renderer="workshop.netui.jspdesigner.tldx.ColumnsRenderer"
- * whitespace="indent"
- * netuiexpressioninfo=""
+ * whitespace="indent" netuiexpressioninfo=""
*/
public class Columns
extends AbstractBaseTag
{
private static final Logger _logger = Logger.getInstance(DataGrid.class);
- public static final int NO_GROUPING = -1;
+ public static final int NO_RENDER_STATE = -1;
public static final int HEADER_RENDER_STATE = 2;
public static final int DATA_RENDER_STATE = 3;
public static final int FOOTER_RENDER_STATE = 4;
@@ -75,9 +45,8 @@
private Boolean _filterable = null;
private String _sortAction = null;
private String _filterAction = null;
- private int _groupDepth = NO_GROUPING;
private DataGridModel _gridModel = null;
- private int _renderState = -1;
+ private int _renderState = NO_RENDER_STATE;
public Columns()
{
@@ -114,11 +83,6 @@
*/
public void setDefaultFilterable(boolean filterable) {_filterable = new
Boolean(filterable);}
- /**
- * @netui:attribute required="false"
- */
- public void setGroupDepth(int groupDepth) {_groupDepth = groupDepth;}
-
public int doStartTag()
{
assert getParent() instanceof DataGrid;
@@ -162,7 +126,7 @@
//_gridModel.moveCursorToStart();
// prime the pump with the next item of data to render
- if (_gridModel.hasNextDataItem()) // &&
!_gridModel.endDataSet())
+ if (_gridModel.hasNextDataItem())
{
_gridModel.nextDataItem();
_renderState = DATA_RENDER_STATE;
@@ -176,7 +140,7 @@
else if (_renderState == DATA_RENDER_STATE)
{
_gridModel.closeDataRow(content);
- if (_gridModel.hasNextDataItem()) // &&
!_gridModel.endDataSet())
+ if (_gridModel.hasNextDataItem())
{
_gridModel.openDataRow(content);
_gridModel.nextDataItem();
@@ -190,7 +154,7 @@
}
else
{
- _renderState = -1;
+ _renderState = NO_RENDER_STATE;
retVal = SKIP_BODY;
}
}
@@ -224,8 +188,7 @@
_sortAction = null;
_filterAction = null;
_grid = null;
- _groupDepth = NO_GROUPING;
- _renderState = -1;
+ _renderState = NO_RENDER_STATE;
_gridModel = null;
}
@@ -240,14 +203,10 @@
_logger.debug("adding column of type " + (cm != null ?
cm.getClass().getName() : null) + " with identity " +
System.identityHashCode(cm));
if(_sortAction != null)
- {
cm.setSortUri(_sortAction);
- }
if(_filterAction != null)
- {
cm.setFilterUri(_filterAction);
- }
if(cm.isSortable() == null && _sortable != null)
cm.setSortable(_sortable);
@@ -256,8 +215,5 @@
cm.setFilterable(_filterable);
_grid.addColumn(cm);
-
- if(_groupDepth != NO_GROUPING)
- _grid.setGroupDepth(_groupDepth);
}
}
Modified:
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/DataGrid.java
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/DataGrid.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/DataGrid.java
Tue Jul 27 15:52:08 2004
@@ -92,8 +92,6 @@
*/
public void setCssClassPolicy(String cssClassPolicy) {_cssClassPolicy =
cssClassPolicy;}
- public void setGroupDepth(int groupDepth)
{_gridModel.setGroupDepth(groupDepth);}
-
public int doStartTag()
throws JspException
{
@@ -117,8 +115,6 @@
_gridModel.setCssPolicy(new DefaultStylePolicy());
else if(_cssClassPolicy.equals("none"))
_gridModel.setCssPolicy(new EmptyStylePolicy());
- else if(_cssClassPolicy.equals("legacy"))
- _gridModel.setCssPolicy(new LegacyStylePolicy());
// todo: implement state machine rendering here...
_renderState = START_RENDER_STATE;
Modified:
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/ImageColumn.java
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/ImageColumn.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/ImageColumn.java
Tue Jul 27 15:52:08 2004
@@ -23,15 +23,6 @@
import org.apache.beehive.netui.util.logging.Logger;
/**
- *
- * @jsptagref.tagdescription
- * <p>
- * This tag renders an image into each data cell in a column.
- * The image that is rendered is specified with the <code>src</code> attribute
- * and can be further parameterized with attributes to constrain its width,
height,
- * alternate text, and border. If the height and width attributes are not
specified,
- * the image is rendered at its actual size.
- * </p>
*
* @netui:tag name="imageColumn" description="Renders a column of images in a
NetUI data grid"
* @netui.tldx:tag
renderer="workshop.netui.jspdesigner.tldx.ImageColumnRenderer"
whitespace="indent" netuiexpressioninfo=""