You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ek...@apache.org on 2005/02/20 06:26:57 UTC
svn commit: r154474 - in incubator/beehive/trunk/netui:
src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/
src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/rendering/
src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/
src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/codec/
src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/model/cell/
src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/
src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/pager/
src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/table/
src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/sql/
src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/util/
src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/
test/src/junitTests/org/apache/beehive/netui/test/datagrid/
test/webapps/drt/coreWeb/databinding/datagrid/misc/
Author: ekoneil
Date: Sat Feb 19 21:26:48 2005
New Revision: 154474
URL: http://svn.apache.org/viewcvs?view=rev&rev=154474
Log:
Addition of a DataGridConfig object.
The DataGridConfig object is used throughout the data grid's tag and model classes to provide configuration information and factory support. This allows a grid, set of grids, or entire site to share a common infrastructure for configuring grids.
There is one JSP tag API change here. The "cssClassPrefix" attribute on <netui-data:dataGrid> has changed to "styleClassPrefix" for consistency.
Also, the DataGridState and DataGridResourceProvider classes have moved into the api/ directory.
BB: self
DRT: NetUI pass
BVT: NetUI pass
Added:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridConfig.java (with props)
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridConfigFactory.java (with props)
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridResourceProvider.java
- copied, changed from r154467, incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/util/DataGridResourceProvider.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridState.java
- copied, changed from r154467, incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DataGridState.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DefaultDataGridConfig.java
- copied, changed from r154456, incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DefaultDataGridFactory.java
Removed:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DataGridFactory.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DataGridState.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DefaultDataGridFactory.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/util/DataGridResourceProvider.java
Modified:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/rendering/DataGridTagModel.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DataGridURLService.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/codec/PagerCodec.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/codec/SortCodec.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/model/cell/ImageAnchorCellModel.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/model/cell/ImageCellModel.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/model/cell/SpanCellModel.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/model/cell/TemplateCellModel.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/AnchorCellDecorator.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/ImageAnchorCellDecorator.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/ImageCellDecorator.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/cell/SpanCellDecorator.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/pager/FirstPreviousNextLastPagerRenderer.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/databinding/datagrid/runtime/rendering/table/TableRenderer.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/sql/SQLSupport.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/util/FilterUtil.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/util/JspUtil.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/util/PagedDataSet.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractCell.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Caption.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/DataGridUtil.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Footer.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Header.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/HeaderCell.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/RenderPager.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Rows.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/TemplateCell.java
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/DataGridTestUtil.java
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/PagerModelTest.java
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/misc/customHeaderStyle.jsp
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/misc/helloHeaderDecorator.jsp
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/misc/stylePrefix.jsp
Added: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridConfig.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridConfig.java?view=auto&rev=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridConfig.java (added)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridConfig.java Sat Feb 19 21:26:48 2005
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * $Header:$
+ */
+package org.apache.beehive.netui.databinding.datagrid.api;
+
+import java.util.List;
+
+import org.apache.beehive.netui.databinding.datagrid.api.sort.Sort;
+import org.apache.beehive.netui.databinding.datagrid.api.sort.SortModel;
+import org.apache.beehive.netui.databinding.datagrid.api.filter.Filter;
+import org.apache.beehive.netui.databinding.datagrid.api.filter.FilterModel;
+import org.apache.beehive.netui.databinding.datagrid.api.pager.PagerModel;
+import org.apache.beehive.netui.databinding.datagrid.api.rendering.PagerRenderer;
+import org.apache.beehive.netui.databinding.datagrid.api.rendering.StyleModel;
+import org.apache.beehive.netui.databinding.datagrid.api.DataGridState;
+
+/**
+ *
+ */
+public abstract class DataGridConfig {
+
+ public abstract DataGridState createDataGridState();
+
+ public abstract Sort createSort();
+
+ public abstract SortModel createSortModel(List<Sort> sorts);
+
+ public abstract Filter createFilter();
+
+ public abstract FilterModel createFilterModel(List<Filter> filters);
+
+ public abstract PagerModel createPagerModel();
+
+ public abstract DataGridResourceProvider getDefaultResourceProvider();
+
+ public abstract DataGridResourceProvider getResourceProvider(String resourceBundle);
+
+ public abstract StyleModel getStyleModel(String name, String classPrefix);
+
+ public abstract PagerRenderer getDefaultPagerRenderer();
+}
Propchange: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridConfig.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridConfigFactory.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridConfigFactory.java?view=auto&rev=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridConfigFactory.java (added)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridConfigFactory.java Sat Feb 19 21:26:48 2005
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * $Header:$
+ */
+package org.apache.beehive.netui.databinding.datagrid.api;
+
+import org.apache.beehive.netui.databinding.datagrid.runtime.DefaultDataGridConfig;
+
+
+/**
+ *
+ */
+public class DataGridConfigFactory {
+
+ private DataGridConfigFactory() {
+ }
+
+ public static final DataGridConfig getInstance() {
+ return new DefaultDataGridConfig();
+ }
+
+ public static final DataGridConfig getInstance(Class clazz) {
+ throw new UnsupportedOperationException("NYI");
+ }
+}
Propchange: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridConfigFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Copied: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridResourceProvider.java (from r154467, incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/util/DataGridResourceProvider.java)
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridResourceProvider.java?view=diff&rev=154474&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/util/DataGridResourceProvider.java&r1=154467&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridResourceProvider.java&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/util/DataGridResourceProvider.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridResourceProvider.java Sat Feb 19 21:26:48 2005
@@ -15,14 +15,12 @@
*
* $Header:$
*/
-package org.apache.beehive.netui.databinding.datagrid.runtime.util;
+package org.apache.beehive.netui.databinding.datagrid.api;
import java.text.MessageFormat;
import java.util.ResourceBundle;
import java.util.Locale;
-import java.util.Map;
import java.util.HashMap;
-import java.util.Collections;
import java.util.Enumeration;
/**
@@ -30,21 +28,17 @@
*/
public class DataGridResourceProvider {
- private String DEFAULT_RESOURCE_BUNDLE = "org.apache.beehive.netui.databinding.datagrid.runtime.util.data-grid-default";
private static final Object VALUE_PLACEHOLDER = new Object();
+ private static final String DEFAULT_RESOURCE_BUNDLE = "org.apache.beehive.netui.databinding.datagrid.runtime.util.data-grid-default";
private boolean _enableChaining = false;
private String _resourceBundlePath = null;
private ResourceBundle _defaultResourceBundle = null;
private ResourceBundle _resourceBundle = null;
- private HashMap<String, String> _resourceOverrides = null;
private HashMap _resourceBundleKeys = null;
private Locale _locale = null;
- public DataGridResourceProvider() {
- }
-
public boolean isEnableChaining() {
return _enableChaining;
}
@@ -69,21 +63,6 @@
return _resourceBundlePath;
}
- public void addResourceOverride(String key, String value) {
- assert key != null;
- assert value != null;
-
- if(_resourceOverrides == null)
- _resourceOverrides = new HashMap<String, String>();
-
- /* todo: could consider asserting that this key is known by the data grid framework */
- _resourceOverrides.put(key, value);
- }
-
- public Map getResourceOverrides() {
- return Collections.unmodifiableMap(_resourceOverrides);
- }
-
public String getMessage(String key) {
assert key != null;
@@ -112,28 +91,22 @@
_resourceBundleKeys.put(e.nextElement(), VALUE_PLACEHOLDER);
}
- /* todo: implement chaining here */
- if(_resourceOverrides != null && _resourceOverrides.containsKey(key))
- return _resourceOverrides.get(key);
- else {
- if(!_enableChaining || _resourceBundleKeys.containsKey(key))
- return _resourceBundle.getString(key);
- else
- return _defaultResourceBundle.getString(key);
- }
+ if(!_enableChaining || _resourceBundleKeys.containsKey(key))
+ return _resourceBundle.getString(key);
+ else return _defaultResourceBundle.getString(key);
}
}
+ protected String internalFormatMessage(String pattern, Object[] args) {
+ MessageFormat format = new MessageFormat(pattern);
+ String msg = format.format(args).toString();
+ return msg;
+ }
+
private String getDefaultMessage(String key) {
if(_defaultResourceBundle == null)
_defaultResourceBundle = createResourceBundle(DEFAULT_RESOURCE_BUNDLE);
return _defaultResourceBundle.getString(key);
- }
-
- private final String internalFormatMessage(String pattern, Object[] args) {
- MessageFormat format = new MessageFormat(pattern);
- String msg = format.format(args).toString();
- return msg;
}
private ResourceBundle createResourceBundle(String path) {
Copied: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridState.java (from r154467, incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DataGridState.java)
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridState.java?view=diff&rev=154474&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DataGridState.java&r1=154467&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridState.java&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DataGridState.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/DataGridState.java Sat Feb 19 21:26:48 2005
@@ -15,7 +15,7 @@
*
* $Header:$
*/
-package org.apache.beehive.netui.databinding.datagrid.runtime;
+package org.apache.beehive.netui.databinding.datagrid.api;
import org.apache.beehive.netui.databinding.datagrid.api.filter.FilterModel;
import org.apache.beehive.netui.databinding.datagrid.api.sort.SortModel;
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/rendering/DataGridTagModel.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/rendering/DataGridTagModel.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/rendering/DataGridTagModel.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/rendering/DataGridTagModel.java Sat Feb 19 21:26:48 2005
@@ -18,19 +18,19 @@
package org.apache.beehive.netui.databinding.datagrid.api.rendering;
import java.util.Map;
+import java.util.HashMap;
import javax.servlet.jsp.JspContext;
import javax.servlet.http.HttpServletRequest;
-import org.apache.beehive.netui.databinding.datagrid.api.rendering.IDataGridMessageKeys;
import org.apache.beehive.netui.databinding.datagrid.api.sort.SortModel;
import org.apache.beehive.netui.databinding.datagrid.api.sort.SortDirection;
+import org.apache.beehive.netui.databinding.datagrid.api.DataGridConfig;
+import org.apache.beehive.netui.databinding.datagrid.api.DataGridResourceProvider;
+import org.apache.beehive.netui.databinding.datagrid.api.DataGridState;
import org.apache.beehive.netui.databinding.datagrid.runtime.rendering.table.TableRenderer;
import org.apache.beehive.netui.databinding.datagrid.runtime.DataGridURLService;
-import org.apache.beehive.netui.databinding.datagrid.runtime.DataGridState;
-import org.apache.beehive.netui.databinding.datagrid.runtime.DataGridFactory;
import org.apache.beehive.netui.databinding.datagrid.runtime.util.PagedDataSet;
import org.apache.beehive.netui.databinding.datagrid.runtime.util.JspUtil;
-import org.apache.beehive.netui.databinding.datagrid.runtime.util.DataGridResourceProvider;
import org.apache.beehive.netui.tags.rendering.AbstractRenderAppender;
/**
@@ -42,42 +42,40 @@
todo: refactor.
need a DataGridURL type that hides URL keys / creation.
*/
- public static final int START_RENDER_STATE = 10;
- public static final int CAPTION_RENDER_STATE = 20;
- public static final int GRID_RENDER_STATE = 30;
- public static final int FOOTER_RENDER_STATE = 40;
- public static final int END_RENDER_STATE = 50;
+ public static final int RENDER_STATE_START = 10;
+ public static final int RENDER_STATE_CAPTION = 20;
+ public static final int RENDER_STATE_GRID = 30;
+ public static final int RENDER_STATE_FOOTER = 40;
+ public static final int RENDER_STATE_END = 50;
+ private static final int RENDER_STATE_UNINIT = -1;
- private int _renderState = START_RENDER_STATE;
+ private JspContext _jspContext = null;
+ private HttpServletRequest _request = null;
+ private DataGridURLService _dgss = null;
+
+ private int _renderState = RENDER_STATE_UNINIT;
private boolean _disableDefaultPagerRendering = false;
private String _name = null;
-
private StyleModel _styleModel = null;
private PagerRenderer _pagerRenderer = null;
private PagedDataSet _dataSet = null;
private TableRenderer _tableRenderer = null;
- private DataGridURLService _dgss = null;
private DataGridResourceProvider _resourceProvider = null;
private DataGridState _dataGridState = null;
- private DataGridFactory _dataGridFactory;
-
- private JspContext _jspContext = null;
- private HttpServletRequest _request = null;
+ private DataGridConfig _dataGridConfig;
- public DataGridTagModel(JspContext jspContext, String name, PagedDataSet dataSet, DataGridFactory factory) {
+ public DataGridTagModel(String name, DataGridConfig dataGridConfig, JspContext jspContext) {
super();
/* todo: refactor. this assembly could should be externalized */
- _name = name;
- _jspContext = jspContext;
- _dataSet = dataSet;
- _dataGridFactory = factory;
_dgss = DataGridURLService.getInstance(jspContext);
- _dataGridState = _dgss.getDataGridState(name);
- _dataGridState.getPagerModel().setDataSetSize(_dataSet.getSize());
- _resourceProvider = factory.getResourceProvider();
- _resourceProvider.setLocale(JspUtil.getLocale(jspContext));
+ _jspContext = jspContext;
_request = JspUtil.getRequest(_jspContext);
+
+ _name = name;
+ _dataGridConfig = dataGridConfig;
+
+ wireup();
}
public String getName() {
@@ -92,31 +90,60 @@
return _renderState;
}
- public void setRenderState(int renderState) {
- /* todo: need to assert that the correct transitions are being made */
- _renderState = renderState;
+ public void changeRenderState(int renderState) {
+ switch(_renderState) {
+ case RENDER_STATE_UNINIT:
+ _renderState = RENDER_STATE_START;
+ break;
+ case RENDER_STATE_START:
+ _renderState = RENDER_STATE_CAPTION;
+ break;
+ case RENDER_STATE_CAPTION:
+ _renderState = RENDER_STATE_GRID;
+ break;
+ case RENDER_STATE_GRID:
+ _renderState = RENDER_STATE_FOOTER;
+ break;
+ case RENDER_STATE_FOOTER:
+ _renderState = RENDER_STATE_END;
+ break;
+ default:
+ throw new IllegalStateException("Unable to make the specified render state transition");
+ }
+
+ return;
}
public PagedDataSet getDataSet() {
return _dataSet;
}
+ /* todo: would be nice to address this side-effect outside of the setter */
public void setDataSet(PagedDataSet dataSet) {
_dataSet = dataSet;
+ _dataGridState.getPagerModel().setDataSetSize(_dataSet.getSize());
}
public PagerRenderer getPagerRenderer() {
- if(_pagerRenderer == null) {
- _pagerRenderer = _dataGridFactory.getDefaultPagerRenderer();
- _pagerRenderer.setDataGridTagModel(this);
- }
+ if(_pagerRenderer == null)
+ setPagerRenderer(_dataGridConfig.getDefaultPagerRenderer());
return _pagerRenderer;
}
+ /* todo: would be nice to address this side-effect outside of the setter */
public void setPagerRenderer(PagerRenderer pagerRenderer) {
- pagerRenderer.setDataGridTagModel(this);
+ assert pagerRenderer != null : "Received a null pager renderer";
_pagerRenderer = pagerRenderer;
+ _pagerRenderer.setDataGridTagModel(this);
+ }
+
+ public DataGridResourceProvider getResourceProvider() {
+ return _resourceProvider;
+ }
+
+ public void setResourceProvider(DataGridResourceProvider resourceProvider) {
+ _resourceProvider = resourceProvider;
}
public boolean isDisableDefaultPagerRendering() {
@@ -139,35 +166,41 @@
return _styleModel;
}
- public void setStyleModel(StyleModel cssModel) {
- _styleModel = cssModel;
- }
-
- public String getResourcePath() {
- /* todo: not sure that this is right in all cases -- probably need to provide the ability to override the path from the JSP */
- return _request.getContextPath() + "/" + getMessage(IDataGridMessageKeys.DATAGRID_RESOURCE_PATH);
- }
-
- public String getResourceBundlePath() {
- return _resourceProvider.getResourceBundlePath();
- }
-
- public void setResourceBundlePath(String resourceBundlePath) {
- _resourceProvider.setResourceBundlePath(resourceBundlePath);
+ public void setStyleModel(StyleModel styleModel) {
+ _styleModel = styleModel;
}
public String getMessage(String key) {
+ assert _resourceProvider != null : "Received a null resource provider";
return _resourceProvider.getMessage(key);
}
public String formatMessage(String key, Object[] args) {
+ assert _resourceProvider != null : "Received a null resource provider";
return _resourceProvider.formatMessage(key, args);
}
public void addResourceOverride(String key, String value) {
- _resourceProvider.addResourceOverride(key, value);
+ OverridableDataGridResourceProvider overrideResourceProvider = null;
+ if(!(_resourceProvider instanceof OverridableDataGridResourceProvider)) {
+ overrideResourceProvider = new OverridableDataGridResourceProvider(_resourceProvider);
+ }
+ else {
+ assert _resourceProvider instanceof OverridableDataGridResourceProvider;
+ overrideResourceProvider = (OverridableDataGridResourceProvider)_resourceProvider;
+ }
+
+ overrideResourceProvider.addResourceOverride(key, value);
+ }
+
+ /* todo: move to the DataGridConfig object */
+ public String getResourcePath() {
+ assert _request != null : "Received a null request";
+ /* todo: not sure that this is right in all cases -- probably need to provide the ability to override the path from the JSP */
+ return _request.getContextPath() + "/" + getMessage(IDataGridMessageKeys.DATAGRID_RESOURCE_PATH);
}
+ /* todo: move to the DataGridConfig object */
public String getSortImagePath(SortDirection sortDirection) {
if(sortDirection == SortDirection.ASCENDING)
return getMessage(IDataGridMessageKeys.SORT_ASC_IMAGE_PATH);
@@ -179,6 +212,7 @@
}
}
+ /* todo: move to the DataGridConfig object */
public String getDefaultSortImagePath() {
return getMessage(IDataGridMessageKeys.SORT_NONE_IMAGE_PATH);
}
@@ -260,7 +294,56 @@
return _dataSet.hasNext();
}
- private Map buildSortQueryParamsMap(String sortExpression, SortDirection sortDirection) {
+ /* -------------------------------------------------------------
+
+ Implementation specifics
+
+ ------------------------------------------------------------- */
+
+ private final Map buildSortQueryParamsMap(String sortExpression, SortDirection sortDirection) {
return _dgss.buildSortQueryParamsMap(_name, sortExpression, sortDirection);
+ }
+
+ private final void wireup() {
+ _dataGridState = _dgss.getDataGridState(_name, _dataGridConfig);
+ }
+
+ private final class OverridableDataGridResourceProvider
+ extends DataGridResourceProvider {
+
+ private DataGridResourceProvider _delegate = null;
+ private HashMap<String, String> _resourceOverrides = null;
+
+ private OverridableDataGridResourceProvider(DataGridResourceProvider resourceProvider) {
+ _delegate = resourceProvider;
+ }
+
+ private void addResourceOverride(String key, String value) {
+ if(_resourceOverrides == null)
+ _resourceOverrides = new HashMap<String, String>();
+
+ /* todo: could consider asserting that this key is known by the data grid framework */
+ _resourceOverrides.put(key, value);
+ }
+
+ public String getMessage(String key) {
+ String msg = internalGetMessage(key);
+ if(msg != null)
+ return msg;
+ else return _delegate.getMessage(key);
+ }
+
+ public String formatMessage(String key, Object[] args) {
+ String pattern = internalGetMessage(key);
+ if(pattern != null)
+ return internalFormatMessage(pattern, args);
+ else return _delegate.formatMessage(key, args);
+ }
+
+ private final String internalGetMessage(String key) {
+ if(_resourceOverrides != null && _resourceOverrides.containsKey(key))
+ return _resourceOverrides.get(key);
+ else return null;
+ }
}
}
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DataGridURLService.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DataGridURLService.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DataGridURLService.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DataGridURLService.java Sat Feb 19 21:26:48 2005
@@ -30,6 +30,9 @@
import org.apache.beehive.netui.databinding.datagrid.api.sort.SortDirection;
import org.apache.beehive.netui.databinding.datagrid.api.filter.Filter;
import org.apache.beehive.netui.databinding.datagrid.api.pager.PagerModel;
+import org.apache.beehive.netui.databinding.datagrid.api.DataGridConfigFactory;
+import org.apache.beehive.netui.databinding.datagrid.api.DataGridConfig;
+import org.apache.beehive.netui.databinding.datagrid.api.DataGridState;
import org.apache.beehive.netui.databinding.datagrid.runtime.codec.SortCodec;
import org.apache.beehive.netui.databinding.datagrid.runtime.codec.FilterCodec;
import org.apache.beehive.netui.databinding.datagrid.runtime.codec.PagerCodec;
@@ -44,7 +47,7 @@
* The DataGridStateService is scoped to a single ServletRequest and is
* able to cache the ServletRequest object itself.
*/
-public class DataGridURLService {
+public final class DataGridURLService {
/*
todo: this class isn't right yet...
@@ -58,6 +61,7 @@
private static final String KEY = DataGridURLService.class.getName() + "REQUEST_KEY";
private static final String EMPTY_STRING = "";
+ private static final DataGridConfig DEFAULT_DATA_GRID_CONFIG = DataGridConfigFactory.getInstance();
public static DataGridURLService getInstance(JspContext jspContext) {
assert jspContext instanceof PageContext;
@@ -106,18 +110,19 @@
}
public DataGridState getDataGridState(String name) {
- /* todo: refactor. this factory needs to be externally configured; need a way to do this... */
- DataGridFactory factory = DataGridFactory.getInstance();
+ return getDataGridState(name, DEFAULT_DATA_GRID_CONFIG);
+ }
+ public DataGridState getDataGridState(String name, DataGridConfig dataGridConfig) {
if(name == null || name.equals(""))
throw new IllegalArgumentException("Unable to create data grid state for invalid name: " + name);
DataGridState dgs = _state.get(name);
if(dgs == null) {
- dgs = factory.createDataGridState();
+ dgs = dataGridConfig.createDataGridState();
dgs.setPagerModel(getPagerModel(name));
- dgs.setFilterModel(factory.createFilterModel(getFilters(name)));
- dgs.setSortModel(factory.createSortModel(getSorts(name)));
+ dgs.setFilterModel(dataGridConfig.createFilterModel(getFilters(name)));
+ dgs.setSortModel(dataGridConfig.createSortModel(getSorts(name)));
_state.put(name, dgs);
}
Copied: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DefaultDataGridConfig.java (from r154456, incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DefaultDataGridFactory.java)
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DefaultDataGridConfig.java?view=diff&rev=154474&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DefaultDataGridFactory.java&r1=154456&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DefaultDataGridConfig.java&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DefaultDataGridFactory.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DefaultDataGridConfig.java Sat Feb 19 21:26:48 2005
@@ -25,14 +25,24 @@
import org.apache.beehive.netui.databinding.datagrid.api.filter.FilterModel;
import org.apache.beehive.netui.databinding.datagrid.api.pager.PagerModel;
import org.apache.beehive.netui.databinding.datagrid.api.rendering.PagerRenderer;
+import org.apache.beehive.netui.databinding.datagrid.api.rendering.StyleModel;
+import org.apache.beehive.netui.databinding.datagrid.api.DataGridConfig;
+import org.apache.beehive.netui.databinding.datagrid.api.DataGridResourceProvider;
+import org.apache.beehive.netui.databinding.datagrid.api.DataGridState;
import org.apache.beehive.netui.databinding.datagrid.runtime.rendering.pager.PreviousNextPagerRenderer;
-import org.apache.beehive.netui.databinding.datagrid.runtime.util.DataGridResourceProvider;
+import org.apache.beehive.netui.databinding.datagrid.runtime.model.style.DefaultStyleModel;
+import org.apache.beehive.netui.databinding.datagrid.runtime.model.style.EmptyStyleModel;
/**
*
*/
-public class DefaultDataGridFactory
- extends DataGridFactory {
+public class DefaultDataGridConfig
+ extends DataGridConfig {
+
+ private static final StyleModel DEFAULT_STYLE_POLICY = new DefaultStyleModel("datagrid");
+ private static final StyleModel EMPTY_STYLE_POLICY = new EmptyStyleModel();
+ private static final String EMPTY_STYLE_POLICY_NAME = "empty";
+ private static final String DEFAULT_STYLE_POLICY_NAME = "default";
public DataGridState createDataGridState() {
return new DataGridState();
@@ -62,7 +72,24 @@
return new PreviousNextPagerRenderer();
}
- public DataGridResourceProvider getResourceProvider() {
+ public DataGridResourceProvider getDefaultResourceProvider() {
return new DataGridResourceProvider();
+ }
+
+ public DataGridResourceProvider getResourceProvider(String resourceBundle) {
+ DataGridResourceProvider resourceProvider = new DataGridResourceProvider();
+ resourceProvider.setResourceBundlePath(resourceBundle);
+ return resourceProvider;
+ }
+
+ public StyleModel getStyleModel(String name, String classPrefix) {
+ if(name == null || name.equals(DEFAULT_STYLE_POLICY_NAME)) {
+ if(classPrefix != null)
+ return new DefaultStyleModel(classPrefix);
+ else
+ return DEFAULT_STYLE_POLICY;
+ } else if(name != null && name.equals(EMPTY_STYLE_POLICY_NAME))
+ return EMPTY_STYLE_POLICY;
+ else return DEFAULT_STYLE_POLICY;
}
}
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/codec/PagerCodec.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/codec/PagerCodec.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/codec/PagerCodec.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/codec/PagerCodec.java Sat Feb 19 21:26:48 2005
@@ -26,7 +26,7 @@
/**
*
*/
-public class PagerCodec {
+public final class PagerCodec {
private static final Logger LOGGER = Logger.getInstance(PagerCodec.class);
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/codec/SortCodec.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/codec/SortCodec.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/codec/SortCodec.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/codec/SortCodec.java Sat Feb 19 21:26:48 2005
@@ -28,7 +28,7 @@
/**
*
*/
-public class SortCodec {
+public final class SortCodec {
/* Default sort syntax: netui_sort=<gridNamespace>~[+|-]<expr> */
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/model/cell/ImageAnchorCellModel.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/model/cell/ImageAnchorCellModel.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/model/cell/ImageAnchorCellModel.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/model/cell/ImageAnchorCellModel.java Sat Feb 19 21:26:48 2005
@@ -23,7 +23,7 @@
/**
*
*/
-public class ImageAnchorCellModel
+public final class ImageAnchorCellModel
extends AnchorCellModel {
private ImageTag.State _imageState = null;
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/model/cell/ImageCellModel.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/model/cell/ImageCellModel.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/model/cell/ImageCellModel.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/model/cell/ImageCellModel.java Sat Feb 19 21:26:48 2005
@@ -24,7 +24,7 @@
/**
*
*/
-public class ImageCellModel
+public final class ImageCellModel
extends CellModel {
private ImageTag.State _imageState = null;
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/model/cell/SpanCellModel.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/model/cell/SpanCellModel.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/model/cell/SpanCellModel.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/model/cell/SpanCellModel.java Sat Feb 19 21:26:48 2005
@@ -24,7 +24,7 @@
/**
*
*/
-public class SpanCellModel
+public final class SpanCellModel
extends CellModel {
private static final SpanTag.State DEFAULT_SPAN_STATE = new SpanTag.State();
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/model/cell/TemplateCellModel.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/model/cell/TemplateCellModel.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/model/cell/TemplateCellModel.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/model/cell/TemplateCellModel.java Sat Feb 19 21:26:48 2005
@@ -22,6 +22,6 @@
/**
*
*/
-public class TemplateCellModel
+public final class TemplateCellModel
extends CellModel {
}
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/AnchorCellDecorator.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/AnchorCellDecorator.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/AnchorCellDecorator.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/AnchorCellDecorator.java Sat Feb 19 21:26:48 2005
@@ -37,7 +37,7 @@
/**
*
*/
-public class AnchorCellDecorator
+public final class AnchorCellDecorator
extends CellDecorator {
private static final Logger LOGGER = Logger.getInstance(AnchorCellDecorator.class);
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/ImageAnchorCellDecorator.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/ImageAnchorCellDecorator.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/ImageAnchorCellDecorator.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/ImageAnchorCellDecorator.java Sat Feb 19 21:26:48 2005
@@ -36,7 +36,7 @@
/**
*/
-public class ImageAnchorCellDecorator
+public final class ImageAnchorCellDecorator
extends CellDecorator {
private static final Logger LOGGER = Logger.getInstance(ImageAnchorCellDecorator.class);
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/ImageCellDecorator.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/ImageCellDecorator.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/ImageCellDecorator.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/ImageCellDecorator.java Sat Feb 19 21:26:48 2005
@@ -31,7 +31,7 @@
/**
*
*/
-public class ImageCellDecorator
+public final class ImageCellDecorator
extends CellDecorator {
public void decorate(JspContext jspContext, AbstractRenderAppender appender, CellModel cellModel)
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=154473&r2=154474
==============================================================================
--- 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 Sat Feb 19 21:26:48 2005
@@ -42,7 +42,7 @@
/**
*
*/
-public class SortedCellDecorator
+public final class SortedCellDecorator
extends CellDecorator {
private static final Logger LOGGER = Logger.getInstance(SortedCellDecorator.class);
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/SpanCellDecorator.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/SpanCellDecorator.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/SpanCellDecorator.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/cell/SpanCellDecorator.java Sat Feb 19 21:26:48 2005
@@ -31,7 +31,7 @@
/**
*
*/
-public class SpanCellDecorator
+public final class SpanCellDecorator
extends CellDecorator {
public void decorate(JspContext jspContext, AbstractRenderAppender appender, CellModel cellModel)
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/pager/FirstPreviousNextLastPagerRenderer.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/pager/FirstPreviousNextLastPagerRenderer.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/pager/FirstPreviousNextLastPagerRenderer.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/pager/FirstPreviousNextLastPagerRenderer.java Sat Feb 19 21:26:48 2005
@@ -24,7 +24,7 @@
/**
*
*/
-public class FirstPreviousNextLastPagerRenderer
+public final class FirstPreviousNextLastPagerRenderer
extends PagerRenderer {
protected String internalRender() {
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=154473&r2=154474
==============================================================================
--- 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 Sat Feb 19 21:26:48 2005
@@ -21,7 +21,7 @@
import org.apache.beehive.netui.databinding.datagrid.api.rendering.IDataGridMessageKeys;
import org.apache.beehive.netui.databinding.datagrid.api.rendering.PagerRenderer;
-public class PreviousNextPagerRenderer
+public final class PreviousNextPagerRenderer
extends PagerRenderer {
protected String internalRender() {
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/table/TableRenderer.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/table/TableRenderer.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/table/TableRenderer.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/rendering/table/TableRenderer.java Sat Feb 19 21:26:48 2005
@@ -32,7 +32,7 @@
/**
*
*/
-public class TableRenderer {
+public final class TableRenderer {
private static final CaptionTag.State CAPTION_STATE = new CaptionTag.State();
private static final THeadTag.State THEAD_STATE = new THeadTag.State();
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/sql/SQLSupport.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/sql/SQLSupport.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/sql/SQLSupport.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/sql/SQLSupport.java Sat Feb 19 21:26:48 2005
@@ -32,7 +32,7 @@
/**
* @netui:jspfunctions
*/
-public class SQLSupport {
+public final class SQLSupport {
private static final String EMPTY_STRING = "";
private static final FilterOperation[] FILTER_OPERATIONS;
@@ -60,6 +60,7 @@
private static final FilterOperation STRING_FILTER_OPERATION = FILTER_OPERATIONS[9];
private static final FilterOperation OTHER_FILTER_OPERATION = FILTER_OPERATIONS[1];
+ /* do not construct */
private SQLSupport() {
}
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/util/FilterUtil.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/util/FilterUtil.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/util/FilterUtil.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/util/FilterUtil.java Sat Feb 19 21:26:48 2005
@@ -26,7 +26,7 @@
/**
* @netui:jspfunctions
*/
-public class FilterUtil {
+public final class FilterUtil {
private static final List<Filter> DEFAULT_FILTER_LIST;
private static final Filter DEFAULT_FILTER = new Filter();
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/util/JspUtil.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/util/JspUtil.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/util/JspUtil.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/util/JspUtil.java Sat Feb 19 21:26:48 2005
@@ -31,7 +31,7 @@
import org.apache.beehive.netui.pageflow.scoping.ScopedServletUtils;
import org.apache.beehive.netui.tags.internal.PageFlowTagUtils;
-public class JspUtil {
+public final class JspUtil {
/* do not construct */
private JspUtil() {
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/util/PagedDataSet.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/util/PagedDataSet.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/util/PagedDataSet.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/util/PagedDataSet.java Sat Feb 19 21:26:48 2005
@@ -26,7 +26,7 @@
/**
*
*/
-public class PagedDataSet
+public final class PagedDataSet
implements Iterator {
private static final Logger LOGGER = Logger.getInstance(PagedDataSet.class);
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractCell.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractCell.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractCell.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractCell.java Sat Feb 19 21:26:48 2005
@@ -64,8 +64,8 @@
int gridRenderState = dataGridModel.getRenderState();
- /* START_RENDER_STATE is a no-op for columns */
- if(gridRenderState == DataGridTagModel.START_RENDER_STATE) {
+ /* RENDER_STATE_START is a no-op for columns */
+ if(gridRenderState == DataGridTagModel.RENDER_STATE_START) {
return;
}
// otherwise, the ColumnModel associated with this tag
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Caption.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Caption.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Caption.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Caption.java Sat Feb 19 21:26:48 2005
@@ -238,7 +238,7 @@
if(dgm == null)
throw new JspException("Unable to find a dataGridModel in the JspContext");
- if(dgm.getRenderState() == DataGridTagModel.CAPTION_RENDER_STATE) {
+ if(dgm.getRenderState() == DataGridTagModel.RENDER_STATE_CAPTION) {
JspFragment fragment = getJspBody();
if(fragment != null) {
StringWriter sw = new StringWriter();
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=154473&r2=154474
==============================================================================
--- 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 Sat Feb 19 21:26:48 2005
@@ -21,19 +21,20 @@
import java.io.IOException;
import java.io.StringWriter;
import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.PageContext;
+import javax.servlet.jsp.JspContext;
import javax.servlet.jsp.tagext.SimpleTagSupport;
import javax.servlet.jsp.tagext.JspFragment;
import javax.servlet.http.HttpServletRequest;
import org.apache.beehive.netui.databinding.datagrid.api.rendering.DataGridTagModel;
import org.apache.beehive.netui.databinding.datagrid.api.rendering.StyleModel;
-import org.apache.beehive.netui.databinding.datagrid.runtime.model.style.DefaultStyleModel;
-import org.apache.beehive.netui.databinding.datagrid.runtime.model.style.EmptyStyleModel;
+import org.apache.beehive.netui.databinding.datagrid.api.pager.PagerModel;
+import org.apache.beehive.netui.databinding.datagrid.api.DataGridConfigFactory;
+import org.apache.beehive.netui.databinding.datagrid.api.DataGridConfig;
+import org.apache.beehive.netui.databinding.datagrid.api.DataGridResourceProvider;
import org.apache.beehive.netui.databinding.datagrid.runtime.util.PagedDataSet;
+import org.apache.beehive.netui.databinding.datagrid.runtime.util.JspUtil;
import org.apache.beehive.netui.databinding.datagrid.runtime.rendering.table.TableRenderer;
-import org.apache.beehive.netui.databinding.datagrid.api.pager.PagerModel;
-import org.apache.beehive.netui.databinding.datagrid.runtime.DataGridFactory;
import org.apache.beehive.netui.script.common.IDataAccessProvider;
import org.apache.beehive.netui.script.common.DataAccessProviderStack;
import org.apache.beehive.netui.tags.ExpressionHandling;
@@ -55,16 +56,12 @@
private static final String FACET_RESOURCE = "resource";
- private static final StyleModel DEFAULT_STYLE_POLICY = new DefaultStyleModel("datagrid");
- private static final StyleModel EMPTY_STYLE_POLICY = new EmptyStyleModel();
- private static final String EMPTY_STYLE_POLICY_NAME = "empty";
- private static final String DEFAULT_STYLE_POLICY_NAME = "default";
-
private String _name = null;
private String _styleClassPrefix = null;
private String _stylePolicyName = null;
private String _dataSource = null;
private String _resourceBundlePath = null;
+ private DataGridConfig _dataGridConfig = null;
private DataGridTagModel _gridTagModel = null;
public String getTagName() {
@@ -72,6 +69,13 @@
}
/**
+ * @netui:attribute required="false" rtexprvalue="true"
+ */
+ public void setDataGridConfig(DataGridConfig dataGridConfig) {
+ _dataGridConfig = dataGridConfig;
+ }
+
+ /**
* @netui:attribute required="true"
*/
public void setName(String name) {
@@ -89,8 +93,8 @@
/**
* @netui:attribute required="false" rtexprvalue="true"
*/
- public void setCssClassPrefix(String cssClassPrefix) {
- _styleClassPrefix = cssClassPrefix;
+ public void setStyleClassPrefix(String styleClassPrefix) {
+ _styleClassPrefix = styleClassPrefix;
}
/**
@@ -102,13 +106,12 @@
/**
* @netui:attribute required="false" rtexprvalue="true"
- */
+ */
public void setStyleClassPolicy(String stylePolicy) {
_stylePolicyName = stylePolicy;
}
/**
- *
* @param name
* @param value
* @param facet
@@ -116,119 +119,123 @@
*/
public void setAttribute(String name, String value, String facet)
throws JspException {
-
if(facet.equals(FACET_RESOURCE)) {
_gridTagModel.addResourceOverride(name, value);
- }
- else {
+ } else {
String s = Bundle.getString("Tags_AttributeFacetNotSupported", new Object[]{facet});
throw new JspException(s);
}
}
- /* todo: should this be wrapped in try / finally so that the PageContext gets cleaned up correctly? */
public void doTag()
throws JspException, IOException {
- StyleModel styleModel = null;
- JspFragment fragment = getJspBody();
- String dataSource = getDataSource();
- HttpServletRequest request = (HttpServletRequest)((PageContext)getJspContext()).getRequest();
- TableRenderer tableRenderer = new TableRenderer(request);
-
// ensure the dataSource is a valid expression
+ String dataSource = getDataSource();
ExpressionHandling expr = new ExpressionHandling(this);
String validExpr = expr.ensureValidExpression(dataSource, "dataSource", "DataSourceError");
Object ds = expr.evaluateExpression(validExpr, "dataSource", getPageContext());
Iterator iterator = IteratorFactory.createIterator(ds);
- PagedDataSet dataSet = new PagedDataSet(dataSource, iterator);
- /* todo: extensibility -- need to go to a factory with this */
- if(_stylePolicyName == null || _stylePolicyName.equals(DEFAULT_STYLE_POLICY_NAME)) {
- if(_styleClassPrefix != null)
- styleModel = new DefaultStyleModel(_styleClassPrefix);
- else styleModel = DEFAULT_STYLE_POLICY;
- }
- else if(_stylePolicyName != null && _stylePolicyName.equals(EMPTY_STYLE_POLICY_NAME))
- styleModel = EMPTY_STYLE_POLICY;
+ JspContext jspContext = getJspContext();
+ HttpServletRequest request = JspUtil.getRequest(jspContext);
+
+ if(_dataGridConfig == null)
+ _dataGridConfig = DataGridConfigFactory.getInstance();
+
+ TableRenderer tableRenderer = new TableRenderer(request);
+ PagedDataSet dataSet = new PagedDataSet(dataSource, iterator);
- DataGridFactory dgf = DataGridFactory.getInstance();
+ StyleModel styleModel = _dataGridConfig.getStyleModel(_stylePolicyName, _styleClassPrefix);
+ DataGridResourceProvider resourceProvider = null;
+ if(_resourceBundlePath == null)
+ resourceProvider = _dataGridConfig.getDefaultResourceProvider();
+ else resourceProvider = _dataGridConfig.getResourceProvider(_resourceBundlePath);
+ resourceProvider.setLocale(JspUtil.getLocale(jspContext));
- _gridTagModel = new DataGridTagModel(getJspContext(), _name, dataSet, dgf);
+ _gridTagModel = new DataGridTagModel(_name, _dataGridConfig, jspContext);
+ _gridTagModel.setDataSet(dataSet);
_gridTagModel.setStyleModel(styleModel);
_gridTagModel.setTableRenderer(tableRenderer);
- _gridTagModel.setResourceBundlePath(_resourceBundlePath);
+ _gridTagModel.setResourceProvider(resourceProvider);
+ JspFragment fragment = getJspBody();
if(fragment != null) {
StringBuilder builder = new StringBuilder(2048);
AbstractRenderAppender appender = new StringBuilderRenderAppender(builder);
- /* todo: perf -- this doesn't need to happen when the data set is empty */
- DataAccessProviderStack.addDataAccessProvider(this, getJspContext());
- DataGridUtil.putDataGridTagModel(getJspContext(), _gridTagModel);
-
- /*
- allow sub-tags to do work during START before rendering
- this makes it possible to have tags out of order and to
- have rendering work correctly
-
- todo: perf -- should you be able to turn this off for perf?
- */
- StringWriter sw = new StringWriter();
- fragment.invoke(sw);
-
- /* todo: this needs to move into the DataGridTagModel */
- PagerModel pm = _gridTagModel.getDataGridState().getPagerModel();
- _gridTagModel.getDataSet().createWindow(pm.getRow(), pm.getRow() + pm.getPageSize());
-
- /* now that the model objects have been initialized, it's time to start rendering */
- _gridTagModel.setRenderState(DataGridTagModel.START_RENDER_STATE);
-
- if(!_gridTagModel.isDisableDefaultPagerRendering())
- _gridTagModel.renderPager(appender);
-
- TableTag.State tableState = new TableTag.State();
- tableState.styleClass = styleModel.getTableClass();
- tableRenderer.openTable(tableState, appender);
-
- /* render the caption */
- _gridTagModel.setRenderState(DataGridTagModel.CAPTION_RENDER_STATE);
- sw = new StringWriter();
- fragment.invoke(sw);
- String caption = sw.toString();
- if(caption != null && !caption.trim().equals("")) {
- appender.append(caption);
- }
-
- /* render the grid rows (header and data) */
- _gridTagModel.setRenderState(DataGridTagModel.GRID_RENDER_STATE);
- sw = new StringWriter();
- fragment.invoke(sw);
- appender.append(sw.toString());
-
- /* render the footer */
- _gridTagModel.setRenderState(DataGridTagModel.FOOTER_RENDER_STATE);
- sw = new StringWriter();
- fragment.invoke(sw);
- String footer = sw.toString();
- String trimmed = footer.trim();
- if(footer != null && !trimmed.trim().equals("")) {
- appender.append(footer);
+ boolean addedDataAccessProvider = false;
+ try {
+ /* todo: perf -- this doesn't need to happen when the data set is empty */
+ DataAccessProviderStack.addDataAccessProvider(this, getJspContext());
+ DataGridUtil.putDataGridTagModel(getJspContext(), _gridTagModel);
+ addedDataAccessProvider = true;
+
+ /*
+ allow sub-tags to do work during START before rendering
+ this makes it possible to have tags out of order and to
+ have rendering work correctly
+
+ todo: perf -- should you be able to turn this off for perf?
+ */
+ StringWriter sw = new StringWriter();
+ fragment.invoke(sw);
+
+ /* todo: this needs to move into the DataGridTagModel */
+ PagerModel pm = _gridTagModel.getDataGridState().getPagerModel();
+ _gridTagModel.getDataSet().createWindow(pm.getRow(), pm.getRow() + pm.getPageSize());
+
+ /* now that the model objects have been initialized, it's time to start rendering */
+ _gridTagModel.changeRenderState(DataGridTagModel.RENDER_STATE_START);
+
+ if(!_gridTagModel.isDisableDefaultPagerRendering())
+ _gridTagModel.renderPager(appender);
+
+ TableTag.State tableState = new TableTag.State();
+ tableState.styleClass = styleModel.getTableClass();
+ tableRenderer.openTable(tableState, appender);
+
+ /* render the caption */
+ _gridTagModel.changeRenderState(DataGridTagModel.RENDER_STATE_CAPTION);
+ sw = new StringWriter();
+ fragment.invoke(sw);
+ String caption = sw.toString();
+ if(caption != null && !caption.trim().equals("")) {
+ appender.append(caption);
+ }
+
+ /* render the grid rows (header and data) */
+ _gridTagModel.changeRenderState(DataGridTagModel.RENDER_STATE_GRID);
+ sw = new StringWriter();
+ fragment.invoke(sw);
+ appender.append(sw.toString());
+
+ /* render the footer */
+ _gridTagModel.changeRenderState(DataGridTagModel.RENDER_STATE_FOOTER);
+ sw = new StringWriter();
+ fragment.invoke(sw);
+ String footer = sw.toString();
+ String trimmed = footer.trim();
+ if(footer != null && !trimmed.trim().equals("")) {
+ appender.append(footer);
+ }
+
+ tableRenderer.closeTable(appender);
+
+ _gridTagModel.changeRenderState(DataGridTagModel.RENDER_STATE_END);
+
+ /* todo: when rendering using thead / tfoot / tbody, they need to be rendered
+ in order. when not rendering like this, they need to be written
+ in thead / tbody / tfoot order.
+ */
+ write(builder.toString());
+ } finally {
+ if(addedDataAccessProvider) {
+ DataAccessProviderStack.removeDataAccessProvider(getJspContext());
+ DataGridUtil.removeDataGridTagModel(getJspContext());
+ }
}
-
- tableRenderer.closeTable(appender);
-
- _gridTagModel.setRenderState(DataGridTagModel.END_RENDER_STATE);
-
- /* todo: when rendering using thead / tfoot / tbody, they need to be rendered
- in order. when not rendering like this, they need to be written
- in thead / tbody / tfoot order.
- */
- write(builder.toString());
}
-
- DataAccessProviderStack.removeDataAccessProvider(getJspContext());
- DataGridUtil.removeDataGridTagModel(getJspContext());
}
/* ===========================================================
@@ -246,14 +253,14 @@
}
public Object getCurrentMetadata() {
- throw new UnsupportedOperationException();
+ throw new UnsupportedOperationException("The data grid does not support metadata binding");
}
public String getDataSource() {
return "{" + _dataSource + "}";
}
- /* todo: seems that this should be done via the stack of DAPs in the PageContext */
+ /* todo: bug. nested grids are broken here. this should be done via the stack of objects in the PageContext */
public IDataAccessProvider getProviderParent() {
return (IDataAccessProvider)SimpleTagSupport.findAncestorWithClass(this, IDataAccessProvider.class);
}
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGridUtil.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGridUtil.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGridUtil.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGridUtil.java Sat Feb 19 21:26:48 2005
@@ -27,7 +27,7 @@
/**
*
*/
-public class DataGridUtil {
+public final class DataGridUtil {
private static final Logger LOGGER = Logger.getInstance(DataGridUtil.class);
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Footer.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Footer.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Footer.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Footer.java Sat Feb 19 21:26:48 2005
@@ -34,11 +34,9 @@
import org.apache.beehive.netui.databinding.datagrid.runtime.rendering.table.TableRenderer;
/**
- * @netui:tag name="footer"
+ * @netui:tag name="footer" body-content="scriptless"
* description="Renders a footer into a NetUI data grid"
- * body-content="scriptless"
- * @netui.tldx:tag whitespace="indent"
- * renderer=""*
+ * @netui.tldx:tag whitespace="indent" renderer=""*
*/
public class Footer
extends AbstractSimpleTag {
@@ -242,7 +240,7 @@
if(dgm == null)
throw new JspException("Unable to find a dataGridModel in the JspContext");
- if(dgm.getRenderState() == DataGridTagModel.FOOTER_RENDER_STATE) {
+ if(dgm.getRenderState() == DataGridTagModel.RENDER_STATE_FOOTER) {
JspFragment fragment = getJspBody();
if(fragment != null) {
StringWriter sw = new StringWriter();
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Header.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Header.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Header.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Header.java Sat Feb 19 21:26:48 2005
@@ -242,7 +242,7 @@
throw new JspException("Unable to find a dataGridModel in the JspContext");
int gridRenderState = dataGridModel.getRenderState();
- if(gridRenderState == DataGridTagModel.GRID_RENDER_STATE) {
+ if(gridRenderState == DataGridTagModel.RENDER_STATE_GRID) {
StringBuilder content = new StringBuilder();
AbstractRenderAppender appender = new StringBuilderRenderAppender(content);
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=154473&r2=154474
==============================================================================
--- 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 Sat Feb 19 21:26:48 2005
@@ -414,7 +414,6 @@
tableRenderer.closeHeaderCell(appender);
}
- /* todo: support rendering sort / filter links */
protected void renderHeaderCellContents(AbstractRenderAppender appender)
throws IOException, JspException {
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/RenderPager.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/RenderPager.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/RenderPager.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/RenderPager.java Sat Feb 19 21:26:48 2005
@@ -37,14 +37,12 @@
public void doTag()
throws JspException {
- JspContext jspContext = getJspContext();
- DataGridTagModel dgm = (DataGridTagModel)jspContext.getAttribute("dataGrid");
+
+ DataGridTagModel dgm = (DataGridTagModel)getJspContext().getAttribute("dataGrid");
assert dgm != null : "RenderPager did not find a DataGridTagModel";
String output = dgm.getPagerRenderer().render();
if(output != null)
write(output);
-
- return;
}
}
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Rows.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Rows.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Rows.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Rows.java Sat Feb 19 21:26:48 2005
@@ -52,7 +52,7 @@
if(dataGridModel == null)
throw new JspException("Unable to find a dataGridModel in the JspContext");
- if(dataGridModel.getRenderState() == DataGridTagModel.GRID_RENDER_STATE) {
+ if(dataGridModel.getRenderState() == DataGridTagModel.RENDER_STATE_GRID) {
StyleModel stylePolicy = dataGridModel.getStyleModel();
assert stylePolicy != null;
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/TemplateCell.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/TemplateCell.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/TemplateCell.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/TemplateCell.java Sat Feb 19 21:26:48 2005
@@ -36,9 +36,7 @@
return "TemplateCell";
}
- protected void renderDataCellContents(AbstractRenderAppender appender, String jspFragmentOutput)
- throws JspException, IOException {
-
+ protected void renderDataCellContents(AbstractRenderAppender appender, String jspFragmentOutput) {
appender.append(jspFragmentOutput);
}
Modified: incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/DataGridTestUtil.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/DataGridTestUtil.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/DataGridTestUtil.java (original)
+++ incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/DataGridTestUtil.java Sat Feb 19 21:26:48 2005
@@ -20,15 +20,18 @@
import java.lang.reflect.Proxy;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.Locale;
import javax.servlet.ServletRequest;
import javax.servlet.jsp.JspContext;
import javax.servlet.jsp.PageContext;
-import org.apache.beehive.netui.test.servlet.HttpServletRequestHandler;
import org.apache.beehive.netui.databinding.datagrid.api.pager.PagerModel;
import org.apache.beehive.netui.databinding.datagrid.api.rendering.DataGridTagModel;
-import org.apache.beehive.netui.databinding.datagrid.runtime.DataGridFactory;
+import org.apache.beehive.netui.databinding.datagrid.api.DataGridConfigFactory;
+import org.apache.beehive.netui.databinding.datagrid.api.DataGridConfig;
+import org.apache.beehive.netui.databinding.datagrid.api.DataGridResourceProvider;
import org.apache.beehive.netui.databinding.datagrid.runtime.util.PagedDataSet;
+import org.apache.beehive.netui.test.servlet.HttpServletRequestHandler;
/**
*
@@ -86,7 +89,12 @@
}
private static final DataGridTagModel buildDataGridTagModel(JspContext jspContext, String name, PagedDataSet dataSet) {
- DataGridTagModel dgm = new DataGridTagModel(jspContext, name, dataSet, getDataGridFactory());
+ DataGridConfig config = getDataGridConfig();
+ DataGridResourceProvider provider = getDataGridConfig().getDefaultResourceProvider();
+ provider.setLocale(Locale.US);
+ DataGridTagModel dgm = new DataGridTagModel(name, config, jspContext);
+ dgm.setDataSet(dataSet);
+ dgm.setResourceProvider(provider);
dgm.getDataGridState().getPagerModel().setPageAction("fauxPageAction.do");
return dgm;
@@ -96,7 +104,7 @@
return dgm.getDataGridState().getPagerModel();
}
- static final DataGridFactory getDataGridFactory() {
- return DataGridFactory.getInstance();
+ static final DataGridConfig getDataGridConfig() {
+ return DataGridConfigFactory.getInstance();
}
}
Modified: incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/PagerModelTest.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/PagerModelTest.java?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/PagerModelTest.java (original)
+++ incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/PagerModelTest.java Sat Feb 19 21:26:48 2005
@@ -24,11 +24,11 @@
import junit.framework.TestCase;
import junit.framework.TestSuite;
-import org.apache.beehive.netui.test.servlet.ServletFactory;
+import org.apache.beehive.netui.databinding.datagrid.api.DataGridState;
import org.apache.beehive.netui.databinding.datagrid.api.pager.PagerModel;
import org.apache.beehive.netui.databinding.datagrid.api.rendering.DataGridTagModel;
-import org.apache.beehive.netui.databinding.datagrid.runtime.DataGridState;
import org.apache.beehive.netui.databinding.datagrid.runtime.DataGridURLService;
+import org.apache.beehive.netui.test.servlet.ServletFactory;
/**
*
Modified: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/misc/customHeaderStyle.jsp
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/misc/customHeaderStyle.jsp?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/misc/customHeaderStyle.jsp (original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/misc/customHeaderStyle.jsp Sat Feb 19 21:26:48 2005
@@ -26,7 +26,7 @@
<p>
<datagrid:portfolioXmlBean/>
<br/>
- <netui-data:dataGrid dataSource="pageScope.stocks" name="portfolio" cssClassPrefix="foo" >
+ <netui-data:dataGrid dataSource="pageScope.stocks" name="portfolio" styleClassPrefix="foo" >
<netui-data:header>
<netui-data:headerCell headerText="Symbol" cellStyleClass="custom-header"/>
<netui-data:headerCell headerText="Price"/>
Modified: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/misc/helloHeaderDecorator.jsp
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/misc/helloHeaderDecorator.jsp?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/misc/helloHeaderDecorator.jsp (original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/misc/helloHeaderDecorator.jsp Sat Feb 19 21:26:48 2005
@@ -26,7 +26,7 @@
<p>
<datagrid:portfolioXmlBean/>
<br/>
- <netui-data:dataGrid dataSource="pageScope.stocks" name="portfolio" cssClassPrefix="foo" >
+ <netui-data:dataGrid dataSource="pageScope.stocks" name="portfolio" styleClassPrefix="foo" >
<netui-data:header>
<netui-data:headerCell headerText="Symbol">
<netui:attribute facet="renderer" name="extends" value="databinding.datagrid.decorator.HelloWorldDecorator"/>
Modified: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/misc/stylePrefix.jsp
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/misc/stylePrefix.jsp?view=diff&r1=154473&r2=154474
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/misc/stylePrefix.jsp (original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/misc/stylePrefix.jsp Sat Feb 19 21:26:48 2005
@@ -23,7 +23,7 @@
<p>
<datagrid:portfolioXmlBean/>
<br/>
- <netui-data:dataGrid dataSource="pageScope.stocks" name="portfolio" cssClassPrefix="foo" >
+ <netui-data:dataGrid dataSource="pageScope.stocks" name="portfolio" styleClassPrefix="foo" >
<netui-data:header>
<netui-data:headerCell headerText="Symbol"/>
<netui-data:headerCell headerText="Price"/>