Author: ekoneil
Date: Fri Jan 21 09:17:08 2005
New Revision: 125941
URL: http://svn.apache.org/viewcvs?view=rev&rev=125941
Log:
Just a checkpoint. Moving some code around before implementing URL parsing
shared between grids and so forth.
BB: self
DRT: NetUI pass
Added:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/DataGridState.java
- copied, changed from r125927,
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/DataGridStateService.java
Removed:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/DataGridStateService.java
Modified:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/DataGridModel.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/SortModel.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/rendering/cell/SortedCellDecorator.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/sort/SortService.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java
Modified:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/DataGridModel.java
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/DataGridModel.java?view=diff&rev=125941&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/DataGridModel.java&r1=125940&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/DataGridModel.java&r2=125941
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/DataGridModel.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/DataGridModel.java
Fri Jan 21 09:17:08 2005
@@ -22,10 +22,10 @@
import javax.servlet.jsp.PageContext;
import org.apache.beehive.netui.databinding.datagrid.model.style.StylePolicy;
+import
org.apache.beehive.netui.databinding.datagrid.model.sort.ISort.SortDirection;
import
org.apache.beehive.netui.databinding.datagrid.rendering.table.TableRenderer;
import
org.apache.beehive.netui.databinding.datagrid.rendering.pager.IPagerRenderer;
import
org.apache.beehive.netui.databinding.datagrid.rendering.pager.PreviousNextPagerRenderer;
-import
org.apache.beehive.netui.databinding.datagrid.services.DataGridStateService;
import org.apache.beehive.netui.databinding.datagrid.util.PagedDataSet;
import org.apache.beehive.netui.tags.rendering.AbstractRenderAppender;
import org.apache.beehive.netui.util.Bundle;
@@ -51,7 +51,7 @@
private PagerModel _pagerModel = null;
private PagedDataSet _dataSet = null;
private TableRenderer _tableRenderer = null;
- private DataGridStateService _dataGridStateService = null;
+ private DataGridState _dataGridState = null;
private ResourceBundle _resourceBundle = null;
private JspContext _jspContext = null;
@@ -141,15 +141,15 @@
_resourceBundlePath = resourceBundlePath;
}
- public DataGridStateService getDataGridStateService() {
- if(_dataGridStateService == null)
- _dataGridStateService =
DataGridStateService.createInstance(((PageContext)_jspContext).getRequest(),
getName());
+ public DataGridState getDataGridState() {
+ if(_dataGridState == null)
+ _dataGridState =
DataGridState.createInstance(((PageContext)_jspContext).getRequest(),
getName());
- return _dataGridStateService;
+ return _dataGridState;
}
- public void setDataGridStateService(DataGridStateService
dataGridStateService) {
- _dataGridStateService = dataGridStateService;
+ public void setDataGridState(DataGridState dataGridState) {
+ _dataGridState = dataGridState;
}
public String getString(String key) {
@@ -173,6 +173,23 @@
return _resourceBundle.getString(key);
}
}
+
+ public String getSortImagePath(String contextPath, SortDirection
sortDirection) {
+ if(sortDirection == SortDirection.ASCENDING)
+ return contextPath + "/resources/images/sortdown.gif";
+ else if(sortDirection == SortDirection.DESCENDING)
+ return contextPath + "/resources/images/sortup.gif";
+ else {
+ assert sortDirection == SortDirection.NONE : "Encountered an
invalid sort direction.";
+ /* todo: need to flag on whether this is sort up or down and set
the image accordingly */
+ return getDefaultSortImagePath(contextPath);
+ }
+ }
+
+ public String getDefaultSortImagePath(String contextPath) {
+ /* todo: need to allow external configuration of this image path */
+ return contextPath + "/resources/images/sortable.gif";
+ }
public void renderPager(AbstractRenderAppender appender) {
assert getPagerRenderer() != null : "Received a null PagerRenderer";
Copied:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/DataGridState.java
(from r125927,
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/DataGridStateService.java)
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/DataGridState.java?view=diff&rev=125941&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/DataGridStateService.java&r1=125927&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/DataGridState.java&r2=125941
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/DataGridStateService.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/DataGridState.java
Fri Jan 21 09:17:08 2005
@@ -15,7 +15,7 @@
*
* $Header:$
*/
-package org.apache.beehive.netui.databinding.datagrid.services;
+package org.apache.beehive.netui.databinding.datagrid.model;
import java.util.Map;
import javax.servlet.ServletRequest;
@@ -27,38 +27,37 @@
/**
* todo: need to support registering URL prefixes that have state service
handlers and should be omitted from regular URL construction.
*/
-public class DataGridStateService
+public class DataGridState
implements java.io.Serializable {
private String _namespace = null;
private SortModel _sortModel = null;
- private FilterModel _filterModel = null;
-
- public static final DataGridStateService createInstance(ServletRequest
request, String namespace) {
+
+ public static final DataGridState createInstance(ServletRequest request,
String namespace) {
assert request != null;
if(namespace == null || namespace.equals(""))
- throw new IllegalArgumentException("Unable to create a
DataGridStateService with a grid namespace of \"" + namespace + "\".");
+ throw new IllegalArgumentException("Unable to create a
DataGridState with a grid namespace of \"" + namespace + "\".");
- DataGridStateService dgss = new DataGridStateService(namespace);
+ DataGridState dgss = new DataGridState(namespace);
dgss.handleRequest(request);
return dgss;
}
/**
- * Default constructor that builds a DataGridStateService with the default
+ * Default constructor that builds a DataGridState with the default
* configuration including support for a [EMAIL PROTECTED]
org.apache.beehive.netui.databinding.datagrid.services.sort.SortService} and a
* [EMAIL PROTECTED]
org.apache.beehive.netui.databinding.datagrid.services.filter.FilterService}.
*/
- private DataGridStateService(String namespace) {
+ private DataGridState(String namespace) {
super();
_namespace = namespace;
}
/**
- * Initialize the DataGridStateService.
+ * Initialize the DataGridState.
* <p/>
* This method should be called once the services for the grid have been
* registered. Then, they will be initialized here.
@@ -69,10 +68,6 @@
if(_sortModel == null)
_sortModel = new SortModel(_namespace);
_sortModel.handleRequest(request);
-
- if(_filterModel == null)
- _filterModel = new FilterModel(_namespace);
- _filterModel.handleRequest(request);
}
public String getNamespace() {
@@ -84,35 +79,10 @@
return _sortModel;
}
- public FilterModel getFilterModel() {
- return _filterModel;
- }
-
public Map buildSortQueryParamsMap() {
return _sortModel.buildSortQueryParamsMap();
}
- public Map buildSortQueryParamsMap(String sortExpression, SortDirection
sortDirection) {
- return _sortModel.buildSortQueryParamsMap(sortExpression,
sortDirection);
- }
-
- public String getSortImagePath(String contextPath, SortDirection
sortDirection) {
- if(sortDirection == SortDirection.ASCENDING)
- return contextPath + "/resources/images/sortdown.gif";
- else if(sortDirection == SortDirection.DESCENDING)
- return contextPath + "/resources/images/sortup.gif";
- else {
- assert sortDirection == SortDirection.NONE : "Encountered an
invalid sort direction.";
- /* todo: need to flag on whether this is sort up or down and set
the image accordingly */
- return getDefaultSortImagePath(contextPath);
- }
- }
-
- public String getDefaultSortImagePath(String contextPath) {
- /* todo: need to allow external configuration of this image path */
- return contextPath + "/resources/images/sortable.gif";
- }
-
public Map<String, String[]> getSortQueryParamsMap(String sortExpression) {
SortDirection sortDirection =
_sortModel.getSortDirection(sortExpression);
@@ -124,5 +94,9 @@
return buildSortQueryParamsMap(sortExpression, SortDirection.NONE);
else
throw new IllegalStateException("Received invalid sort direction
\"" + sortDirection + "\"");
+ }
+
+ private Map buildSortQueryParamsMap(String sortExpression, SortDirection
sortDirection) {
+ return _sortModel.buildSortQueryParamsMap(sortExpression,
sortDirection);
}
}
Modified:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/SortModel.java
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/SortModel.java?view=diff&rev=125941&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/SortModel.java&r1=125940&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/SortModel.java&r2=125941
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/SortModel.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/SortModel.java
Fri Jan 21 09:17:08 2005
@@ -17,7 +17,6 @@
*/
package org.apache.beehive.netui.databinding.datagrid.model.sort;
-import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
Modified:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/rendering/cell/SortedCellDecorator.java
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/rendering/cell/SortedCellDecorator.java?view=diff&rev=125941&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/rendering/cell/SortedCellDecorator.java&r1=125940&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/rendering/cell/SortedCellDecorator.java&r2=125941
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/rendering/cell/SortedCellDecorator.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/rendering/cell/SortedCellDecorator.java
Fri Jan 21 09:17:08 2005
@@ -35,7 +35,7 @@
import
org.apache.beehive.netui.databinding.datagrid.model.sort.ISort.SortDirection;
import org.apache.beehive.netui.databinding.datagrid.model.sort.SortModel;
import org.apache.beehive.netui.databinding.datagrid.util.JspUtil;
-import
org.apache.beehive.netui.databinding.datagrid.services.DataGridStateService;
+import org.apache.beehive.netui.databinding.datagrid.model.DataGridState;
import org.apache.beehive.netui.util.logging.Logger;
/**
@@ -73,7 +73,7 @@
DataGridModel dgm = cellModel.getDataGridModel();
assert dgm != null;
- DataGridStateService dgss = dgm.getDataGridStateService();
+ DataGridState dgss = dgm.getDataGridState();
SortModel sortModel = dgss.getSortModel();
StringBuilder builder = new StringBuilder();
@@ -89,9 +89,9 @@
/* build icon for existing sort */
if(sortModel.isSorted(cellModel.getSortExpression()))
- imgTag.src = dgss.getSortImagePath(request.getContextPath(),
sortDirection);
+ imgTag.src = dgm.getSortImagePath(request.getContextPath(),
sortDirection);
else
- imgTag.src =
dgss.getDefaultSortImagePath(request.getContextPath());
+ imgTag.src = dgm.getDefaultSortImagePath(request.getContextPath());
imgTag.registerAttribute(AbstractHtmlState.ATTR_GENERAL,
HtmlConstants.BORDER, "false");
Deleted:
/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/DataGridStateService.java
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/DataGridStateService.java?view=auto&rev=125940
==============================================================================
Modified:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/sort/SortService.java
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/sort/SortService.java?view=diff&rev=125941&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/sort/SortService.java&r1=125940&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/sort/SortService.java&r2=125941
==============================================================================
---
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/sort/SortService.java
(original)
+++
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/sort/SortService.java
Fri Jan 21 09:17:08 2005
@@ -20,7 +20,6 @@
import java.util.ArrayList;
import java.util.List;
import java.util.HashMap;
-import java.util.Iterator;
import javax.servlet.ServletRequest;
import org.apache.beehive.netui.databinding.datagrid.model.sort.ISort;
@@ -32,6 +31,7 @@
public class SortService
implements java.io.Serializable {
+ private static final String SORT_SERVICE_KEY = SortService.class.getName()
+ "_REQUEST_KEY";
/*
todo: for performance reasons, it would be good to have a SortService
shared by all grids rendered in a request. this saves having to
parse
@@ -43,7 +43,16 @@
public static final SortService getInstance(ServletRequest request) {
assert request != null;
- return new SortService(request);
+ Object obj = request.getAttribute(SORT_SERVICE_KEY);
+ if(obj != null) {
+ assert obj instanceof SortService;
+ return (SortService)obj;
+ }
+ else {
+ SortService sortSerivce = new SortService(request);
+ request.setAttribute(SORT_SERVICE_KEY, sortSerivce);
+ return sortSerivce;
+ }
}
private HashMap<String, List<ISort>> _sorts;
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&rev=125941&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java&r1=125940&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java&r2=125941
==============================================================================
---
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
Fri Jan 21 09:17:08 2005
@@ -33,7 +33,7 @@
import
org.apache.beehive.netui.databinding.datagrid.model.style.EmptyStylePolicy;
import org.apache.beehive.netui.databinding.datagrid.util.PagedDataSet;
import
org.apache.beehive.netui.databinding.datagrid.rendering.table.TableRenderer;
-import
org.apache.beehive.netui.databinding.datagrid.services.DataGridStateService;
+import org.apache.beehive.netui.databinding.datagrid.model.DataGridState;
import org.apache.beehive.netui.script.common.IDataAccessProvider;
import org.apache.beehive.netui.script.common.DataAccessProviderStack;
import org.apache.beehive.netui.tags.ExpressionHandling;
@@ -64,7 +64,7 @@
private String _dataSource = null;
private String _resourceBundlePath = null;
private DataGridModel _gridModel = null;
- private DataGridStateService _dataGridStateService = null;
+ private DataGridState _dataGridState = null;
public String getTagName() {
return "DataGrid";
@@ -136,11 +136,11 @@
_gridModel.setTableRenderer(tableRenderer);
_gridModel.setResourceBundlePath(_resourceBundlePath);
- if(_dataGridStateService != null) {
+ if(_dataGridState != null) {
if(_name != null)
- throw new JspException("The data grid's \"name\" attribute
should not be set when using a DataGridStateService");
+ throw new JspException("The data grid's \"name\" attribute
should not be set when using a DataGridState");
- _gridModel.setDataGridStateService(_dataGridStateService);
+ _gridModel.setDataGridState(_dataGridState);
}
JspFragment fragment = getJspBody();