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();

Reply via email to