Author: tv
Date: Thu Aug 9 20:45:22 2012
New Revision: 1371473
URL: http://svn.apache.org/viewvc?rev=1371473&view=rev
Log:
Use enum instead of integer/string constants
Modified:
turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java
Modified:
turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java?rev=1371473&r1=1371472&r2=1371473&view=diff
==============================================================================
---
turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java
(original)
+++
turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java
Thu Aug 9 20:45:22 2012
@@ -34,7 +34,9 @@ import org.apache.avalon.framework.servi
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.commons.fileupload.FileItem;
+import org.apache.commons.fileupload.FileItemIterator;
import org.apache.commons.lang.StringUtils;
+import org.apache.fulcrum.parser.ValueParser.URLCaseFolding;
import org.apache.fulcrum.pool.PoolException;
import org.apache.fulcrum.pool.PoolService;
import org.apache.fulcrum.upload.UploadService;
@@ -53,7 +55,7 @@ public class DefaultParserService
Configurable, Serviceable
{
/** The folding from the configuration */
- private int folding = URL_CASE_FOLDING_NONE;
+ private URLCaseFolding folding = URLCaseFolding.NONE;
/** The automaticUpload setting from the configuration */
private boolean automaticUpload = AUTOMATIC_DEFAULT;
@@ -87,7 +89,7 @@ public class DefaultParserService
* string so that it does not destroy the value data.
*
* @param value A String to be processed.
- * @return A new String converted to lowercase and trimmed.
+ * @return A new String converted to the case as specified by
URL_CASE_FOLDING and trimmed.
*/
public String convert(String value)
{
@@ -116,7 +118,7 @@ public class DefaultParserService
* @param value A String to be processed.
* @return A new String converted to lowercase and trimmed.
*/
- public String convertAndTrim(String value, int fold)
+ public String convertAndTrim(String value, URLCaseFolding fold)
{
if(value == null) return "";
@@ -124,18 +126,18 @@ public class DefaultParserService
switch (fold)
{
- case URL_CASE_FOLDING_NONE:
+ case NONE:
{
break;
}
- case URL_CASE_FOLDING_LOWER:
+ case LOWER:
{
tmp = tmp.toLowerCase();
break;
}
- case URL_CASE_FOLDING_UPPER:
+ case UPPER:
{
tmp = tmp.toUpperCase();
break;
@@ -155,7 +157,7 @@ public class DefaultParserService
*
* @return The current Folding Value
*/
- public int getUrlFolding()
+ public URLCaseFolding getUrlFolding()
{
return folding;
}
@@ -174,7 +176,7 @@ public class DefaultParserService
* Use the UploadService if available to parse the given request
* for uploaded files
*
- * @return A list of {@link org.apache.commons.upload.FileItem}s
+ * @return A list of {@link org.apache.commons.fileupload.FileItem}s
*
* @throws ServiceException if parsing fails or the UploadService
* is not available
@@ -192,6 +194,27 @@ public class DefaultParserService
}
/**
+ * Use the UploadService if available to parse the given request
+ * for uploaded files using the streaming API
+ *
+ * @return A {@link org.apache.commons.fileupload.FileItemIterator}
+ *
+ * @throws ServiceException if parsing fails or the UploadService
+ * is not available
+ */
+ public FileItemIterator getItemIterator(HttpServletRequest request) throws
ServiceException
+ {
+ if (uploadService == null)
+ {
+ throw new ServiceException(ParserService.ROLE, "UploadService is
not available.");
+ }
+ else
+ {
+ return uploadService.getItemIterator(request);
+ }
+ }
+
+ /**
* Get a {@link ValueParser} instance from the service. Use the
* given Class to create the object.
*
@@ -246,33 +269,22 @@ public class DefaultParserService
*/
public void configure(Configuration conf) throws ConfigurationException
{
- if (folding == URL_CASE_FOLDING_UNSET)
- {
- String foldString =
conf.getChild(URL_CASE_FOLDING_KEY).getValue(URL_CASE_FOLDING_NONE_VALUE).toLowerCase();
+ String foldString =
conf.getChild(URL_CASE_FOLDING_KEY).getValue(URLCaseFolding.NONE.name()).toLowerCase();
- folding = URL_CASE_FOLDING_NONE;
+ folding = URLCaseFolding.NONE;
- getLogger().debug("Setting folding from " + foldString);
+ getLogger().debug("Setting folding from " + foldString);
- if (StringUtils.isNotEmpty(foldString))
+ if (StringUtils.isNotEmpty(foldString))
+ {
+ try
{
- if (foldString.equals(URL_CASE_FOLDING_NONE_VALUE))
- {
- folding = URL_CASE_FOLDING_NONE;
- }
- else if (foldString.equals(URL_CASE_FOLDING_LOWER_VALUE))
- {
- folding = URL_CASE_FOLDING_LOWER;
- }
- else if (foldString.equals(URL_CASE_FOLDING_UPPER_VALUE))
- {
- folding = URL_CASE_FOLDING_UPPER;
- }
- else
- {
- getLogger().error("Got " + foldString + " from " +
URL_CASE_FOLDING_KEY + " property, which is illegal!");
- throw new ConfigurationException("Value " + foldString + "
is illegal!");
- }
+ folding = URLCaseFolding.valueOf(foldString.toUpperCase());
+ }
+ catch (IllegalArgumentException e)
+ {
+ getLogger().error("Got " + foldString + " from " +
URL_CASE_FOLDING_KEY + " property, which is illegal!");
+ throw new ConfigurationException("Value " + foldString + " is
illegal!", e);
}
}
@@ -280,7 +292,7 @@ public class DefaultParserService
.getValue(PARAMETER_ENCODING_DEFAULT).toLowerCase();
automaticUpload =
conf.getChild(AUTOMATIC_KEY).getValueAsBoolean(AUTOMATIC_DEFAULT);
-
+
}
// ---------------- Avalon Lifecycle Methods ---------------------