TODO list

The following is a list of items that need to be completed in Fileupload. Contributions are welcome!

High priority

Medium priority

  • Additional unit tests to increase code coverage.
  • Documentation for the customization capabilities.

Low priority

Completed

Since 1.0 Beta 1 Release

  • Split the FileUpload class into an abstract base class and two concrete classes, one of which is specific to a disk-based repository and the other a more generic implementation.
  • Replaced the ad hoc newInstance() means of creating FileItem instances with a factory-based scheme for much greater flexibility and simpler customization. This change also eliminates a dependency on Commons BeanUtils.
  • Change the semantics of the size threshold to apply to the size of individual items, instead of the size of the overall request. This is in line with the original documentation, and better meets user expectations.
  • Added unit tests for exceptional conditions, and to test new functionality.

Deprecated

Since 1.0 Beta 1 Release

  • In the FileItem interface, the setIsFormField() method has been replaced by the setFormField() method.
  • In the FileItem interface, the write(String) method has been replaced by the write(File) method.
  • The sizeThreshold property of the FileUpload class has been moved to the DiskFileUpload class.
  • The repositoryPath property of the FileUpload class has been moved to the DiskFileUpload class.
  • The disk-specific parseRequest() method of the FileUpload class has been moved to the DiskFileUpload class.

Backwards Incompatible Changes

Since 1.0 Beta 1

  • FileItem.newInstance() has been replaced by the use of factories to create new FileItem instances.
  • The storeLocation property of the FileItem interface has been removed, since it is (disk-based) implementation specific.

Semantic Changes

Since 1.0 Beta 1

  • The sizeThreshold property now applies to the size of each item, rather than the size of the request as a whole. This is more in keeping which user expectations, as well as matching the original documentation.