You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@click.apache.org by me...@apache.org on 2009/05/16 13:45:10 UTC
svn commit: r775450 - in /incubator/click/trunk/click:
documentation/docs/roadmap-changes.html
framework/src/org/apache/click/ClickServlet.java
Author: medgar
Date: Sat May 16 11:45:10 2009
New Revision: 775450
URL: http://svn.apache.org/viewvc?rev=775450&view=rev
Log:
CLK-539
Modified:
incubator/click/trunk/click/documentation/docs/roadmap-changes.html
incubator/click/trunk/click/framework/src/org/apache/click/ClickServlet.java
Modified: incubator/click/trunk/click/documentation/docs/roadmap-changes.html
URL: http://svn.apache.org/viewvc/incubator/click/trunk/click/documentation/docs/roadmap-changes.html?rev=775450&r1=775449&r2=775450&view=diff
==============================================================================
--- incubator/click/trunk/click/documentation/docs/roadmap-changes.html (original)
+++ incubator/click/trunk/click/documentation/docs/roadmap-changes.html Sat May 16 11:45:10 2009
@@ -193,6 +193,12 @@
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-528">528</a>].
</li>
<li class="change">
+ Added TypeConverter configuration option to ClickServlet.
+ See <a href="click-api/org/apache/click/ClickServlet.html#getTypeConverter()">getTypeConverter()</a>
+ method for details. This issue was raised Joseph Schmidt and fixed by Adrian A.
+ [<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-539">539</a>].
+ </li>
+ <li class="change">
Improved Table to support very large datasets by promoting the methods
<a href="click-api/org/apache/click/control/Table.html#getFirstRow()">getFirstRow()</a>
and <a href="click-api/org/apache/click/control/Table.html#getLastRow()">getLastRow()</a>
Modified: incubator/click/trunk/click/framework/src/org/apache/click/ClickServlet.java
URL: http://svn.apache.org/viewvc/incubator/click/trunk/click/framework/src/org/apache/click/ClickServlet.java?rev=775450&r1=775449&r2=775450&view=diff
==============================================================================
--- incubator/click/trunk/click/framework/src/org/apache/click/ClickServlet.java (original)
+++ incubator/click/trunk/click/framework/src/org/apache/click/ClickServlet.java Sat May 16 11:45:10 2009
@@ -137,6 +137,12 @@
protected final static String CONFIG_SERVICE_CLASS = "config-service-class";
/**
+ * The custom TypeConverter classname as an init parameter name:
+ * &nbps; "<tt>type-converter-class</tt>".
+ */
+ protected final static String TYPE_CONVERTER_CLASS = "type-converter-class";
+
+ /**
* The forwarded request marker attribute: "<tt>click-forward</tt>".
*/
protected final static String CLICK_FORWARD = "click-forward";
@@ -146,7 +152,7 @@
*/
protected final static String FORWARD_PAGE = "forward-page";
- // ------------------------------------------------------ Instance Varables
+ // ----------------------------------------------------- Instance Variables
/** The click application configuration service. */
protected ConfigService configService;
@@ -174,7 +180,6 @@
// Create and initialize the application config service
configService = createConfigService(getServletContext());
initConfigService(getServletContext());
-
logger = configService.getLogService();
if (logger.isInfoEnabled()) {
@@ -1380,14 +1385,30 @@
}
/**
- * Return the request parameters OGNL <tt>TypeConverter</tt>. By default
- * this method returns a {@link RequestTypeConverter} instance.
+ * Return the request parameters OGNL <tt>TypeConverter</tt>. This method
+ * performs a lazy load of the TypeConverter object, using the classname
+ * defined in the Servlet init parameter <tt>type-converter-class</tt>,
+ * if this parameter is not defined this method will return a
+ * {@link RequestTypeConverter} instance.
*
* @return the request parameters OGNL <tt>TypeConverter</tt>
+ * @throws RuntimeException if the TypeConverter instance could not be created
*/
- protected TypeConverter getTypeConverter() {
+ protected TypeConverter getTypeConverter() throws RuntimeException {
if (typeConverter == null) {
- typeConverter = new RequestTypeConverter();
+ Class converter = RequestTypeConverter.class;
+
+ try {
+ String classname = getInitParameter(TYPE_CONVERTER_CLASS);
+ if (StringUtils.isNotBlank(classname)) {
+ converter = ClickUtils.classForName(classname);
+ }
+
+ typeConverter = (TypeConverter) converter.newInstance();
+
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
}
return typeConverter;