Author: jochen
Date: Sat Jan 17 18:41:04 2009
New Revision: 735376
URL: http://svn.apache.org/viewvc?rev=735376&view=rev
Log:
PR: FILEUPLOAD-154
A FileSizeLimitExceededException does now contain the
file and field name of the item, which caused the
exception.
Modified:
commons/proper/fileupload/trunk/src/changes/changes.xml
commons/proper/fileupload/trunk/src/java/org/apache/commons/fileupload/FileUploadBase.java
Modified: commons/proper/fileupload/trunk/src/changes/changes.xml
URL:
http://svn.apache.org/viewvc/commons/proper/fileupload/trunk/src/changes/changes.xml?rev=735376&r1=735375&r2=735376&view=diff
==============================================================================
--- commons/proper/fileupload/trunk/src/changes/changes.xml (original)
+++ commons/proper/fileupload/trunk/src/changes/changes.xml Sat Jan 17 18:41:04
2009
@@ -68,6 +68,10 @@
Fixed the error message for FileSizeLimitExceededException
from "too many characters" to "too many bytes".
</action>
+ <action dev="jochen" type="add" issue="FILEUPLOAD-154">
+ A FileSizeLimitExceededException does now contain the
+ file and field name of the item, which caused the problem.
+ </action>
</release>
<release version="1.2.1" date="2008-01-18">
Modified:
commons/proper/fileupload/trunk/src/java/org/apache/commons/fileupload/FileUploadBase.java
URL:
http://svn.apache.org/viewvc/commons/proper/fileupload/trunk/src/java/org/apache/commons/fileupload/FileUploadBase.java?rev=735376&r1=735375&r2=735376&view=diff
==============================================================================
---
commons/proper/fileupload/trunk/src/java/org/apache/commons/fileupload/FileUploadBase.java
(original)
+++
commons/proper/fileupload/trunk/src/java/org/apache/commons/fileupload/FileUploadBase.java
Sat Jan 17 18:41:04 2009
@@ -743,27 +743,31 @@
if (fileSizeMax != -1) {
if (pContentLength != -1
&& pContentLength > fileSizeMax) {
- FileUploadException e =
+ FileSizeLimitExceededException e =
new FileSizeLimitExceededException(
"The field " + fieldName
+ " exceeds its maximum permitted "
+ " size of " + fileSizeMax
+ " bytes.",
pContentLength, fileSizeMax);
+ e.setFileName(pName);
+ e.setFieldName(pFieldName);
throw new FileUploadIOException(e);
}
istream = new LimitedInputStream(istream, fileSizeMax) {
protected void raiseError(long pSizeMax, long pCount)
throws IOException {
itemStream.close(true);
- FileUploadException e =
+ FileSizeLimitExceededException e =
new FileSizeLimitExceededException(
"The field " + fieldName
+ " exceeds its maximum permitted "
+ " size of " + pSizeMax
+ " bytes.",
pCount, pSizeMax);
- throw new FileUploadIOException(e);
+ e.setFieldName(getFieldName());
+ e.setFieldName(getName());
+ throw new FileUploadIOException(e);
}
};
}
@@ -1292,6 +1296,16 @@
private static final long serialVersionUID = 8150776562029630058L;
/**
+ * File name of the item, which caused the exception.
+ */
+ private String fileName;
+
+ /**
+ * Field name of the item, which caused the exception.
+ */
+ private String fieldName;
+
+ /**
* Constructs a <code>SizeExceededException</code> with
* the specified detail message, and actual and permitted sizes.
*
@@ -1303,6 +1317,40 @@
long permitted) {
super(message, actual, permitted);
}
+
+ /**
+ * Returns the file name of the item, which caused the
+ * exception.
+ * @return File name, if known, or null.
+ */
+ public String getFileName() {
+ return fileName;
+ }
+
+ /**
+ * Sets the file name of the item, which caused the
+ * exception.
+ */
+ public void setFileName(String pFileName) {
+ fileName = pFileName;
+ }
+
+ /**
+ * Returns the field name of the item, which caused the
+ * exception.
+ * @return Field name, if known, or null.
+ */
+ public String getFieldName() {
+ return fieldName;
+ }
+
+ /**
+ * Sets the field name of the item, which caused the
+ * exception.
+ */
+ public void setFieldName(String pFieldName) {
+ fieldName = pFieldName;
+ }
}
/**