Current Releases

Battery Manager Logo Battery Manager 1.6.3
2015-05-06  Notes
Data Digester Logo Data Digester 1.6.15
2015-04-15  Notes
VFSLib Logo VFSLib 1.6.7
2015-12-28  Notes
CarrierLib Logo CarrierLib 1.6.1
2015-12-28  Notes

VFSLib Release Notes

Print E-mail

Changes in version VFSLib 1.6.7 Build 59 (2015-12-28)
Changes in version VFSLib 1.6.6 Build 57 (2015-04-15)
Changes in version VFSLib 1.6.5 Build 56 (2014-06-20)
Changes in version VFSLib 1.6.4 Build 52 (2014-02-04)
Changes in version VFSLib 1.6.3 Build 46 (2013-10-24)
Changes in version VFSLib 1.6.2 Build 37 (2013-10-13)
Changes in version VFSLib 1.6.1 Build 33 (2013-10-04)

 


VFSLib 1.6.7 Build 59 (2015-12-28)

Enhanced functionality  Easier Deployment of VFSLib Examples

The VFSLib may now be executed much easier. Additional resources have been added to the "example" subdirectory of the ZIP/TGZ library archives. This includes an Ant environment so that there is no need to install Ant separately on your system. Two separate scripts "runexamples.bat" for Windows and "runexamples.sh" for Linux/UNIX systems have been added. The necessary steps to run the examples are documented in the new "example/README.txt" file.

Please keep in mind that Java 1.6 or newer must be installed and available in the execution PATH to run the examples.

Due to a bug reported with Ant (see NetBeans [Bug 200790]) the VFSLib examples have been modified so that this issue can be circumvented.

Links:  Visit the NetBeans website for issue [Bug 200790]
Type:  Enhanced functionality
Categories:  Deployment, Documentation
Editions:  Dropbox, Google Drive, Amazon S3, Enterprise

VFSLib 1.6.6 Build 57 (2015-04-15)

Fixed bug  Applied Patch For Bug In Commons VFS [VFS-228]

Previous versions of VFSLib were shipped with the original Commons VFS JAR library named commons-vfs-2.0.jar. VFSLib is now packaged with a substitute file named vfs-2.0.jar indicating that it's not the original Commons library but a self-compiled one.

The original Commons VFS library threw ClassNotFoundException's for DefaultLocalFileProvider which could cause a program based on VFS to crash. For example this happened often if VFS was used by Ant tasks which perform a specific class loading internally. In order to solve this VFS bug a patch had to be applied. Then the patched library had to be compiled freshly.

All developers using VFSLib up to version 1.6.5 and planning to update to 1.6.6 or later should also remove the old commons-vfs-2.0.jar and add the new vfs-2.0.jar library instead.

Links:  Visit the Apache.org website for issue [VFS-228]
Type:  Fixed bug
Categories:  Core, Compatibility, Applications, Libraries
Editions:  Dropbox, Google Drive, Amazon S3, Enterprise

Fixed bug  Network URL Address Parsing Not Functional

The network connections dialog provides the functionality to specify network connections to reach servers via protocols like FTP/SFTP. Due to a bug in the standard Java API (URI class!) the parsing of fully specified URLs like ftp://kernel.org:21/pub went wrong. The port (here: ":21") was not recognized properly as separate part of the URL address but as part of the server name (here: "kernel.org:21"). This caused the other methods like getPort() returning false values, of course also components like the connection dialog then displayed these wrong values.

This behaviour has been fixed so that network URI addresses may be edited properly.

Type:  Fixed bug
Categories:  Core, Applications
Editions:  Dropbox, Google Drive, Amazon S3, Enterprise

Fixed bug  License Not Valid

Due to a timezone issue found in the license engine used by Leisenfels both license types for evaluation and commercial have been rejected in certain situations. For example if a U.S. customer obtained a license at 10 p.m. then the license was generated being valid from the next day. The license could not be used immediately in these rare cases.

This behaviour has been fixed so that licenses are valid from one day before the license is obtained.

Type:  Fixed bug
Categories:  Deployment
Editions:  Dropbox, Google Drive, Amazon S3, Enterprise

VFSLib 1.6.5 Build 56 (2014-06-20)

Fixed bug  Setting Upload Content Length Only When Required

Some time ago a new method for setting the S3 upload content length has been introduced to VFSLib (see release note #11 written 2014-02-03). As this works perfectly for the Amazon S3 provider this settings MUST NOT be used for SFTP connections when large files are being transferred. For example if a 2 GB video file is to be transferred via SFTP then a 2 GB array is allocated internally by the SFTP driver. Normally this leads to OutOfMemoryErrors of the Java VM which then has to be terminated by force (e.g. using the Windows Task Manager).

To avoid this unwanted side effect programmatically the method VFSUtils.isContentLengthRequired() has been added to VFSLib. It checks if the VFSLibConstants.ATTR_CONTENT_LENGTH attribute is required for a given VFS network file. Currently only the Amazon S3 provider requires this attribute.

Programmers should modify existing code using the FileObject.getContent().setAttribute() method as follows:

if (VFSUtils.isContentLengthRequired(url)) { url.getContent().setAttribute(VFSLibConstants.ATTR_CONTENT_LENGTH, len); }

Type:  Fixed bug
Categories:  Compatibility, Provider Options
Editions:  Amazon S3, Enterprise

Miscellaneous change  Stack Trace Due To Missing Scheme

The VFSConnection.getDefaultFileSystemOptions() method printed stack traces if a null scheme has been passed as method parameter. Since VFSLib by design avoids printing unnecessary stack traces this behaviour has been fixed (scheme is checked for null values).

The null scheme stack trace has been detected only on Linux systems so far.

Type:  Miscellaneous change
Categories:  Compatibility
Editions:  Dropbox, Google Drive, Amazon S3, Enterprise

VFSLib 1.6.4 Build 52 (2014-02-04)

Fixed bug  Open Amazon S3 Object Multiple Times

Due to a limitation in the Amazon S3 API a workaround has been implemented for the S3 provider so that a S3 FileObject may be opened multiple times. This is necessary for example if digests are calculated once for MD5 and for SHA-1 using multiple threads. The S3Object.getObjectContent() method returns a previous input stream if it has not been closed in the meantime. So if it is still in use the same reference is provided which produces application errors. The workaround clones the S3Object and lets the clone open the new input stream instead.

Type:  Fixed bug
Categories:  Compatibility
Editions:  Amazon S3, Enterprise

Miscellaneous change  Data Digester Now To Support VFSLib

The Data Digester software now is shipped with the current VFSLib component and therefore supports all file systems including Dropbox, Google Drive, and Amazon S3. Currently these features are only available for the Data Digester Enterprise Edition (EE) which comes with network support. Please download an installer appropriate for your computer. The software may be evaluated for 30 days. Please request an evaluation license which is possible also directly from the running application (Internet connection required).

Links:  Visit the Data Digester homepage
Type:  Miscellaneous change
Categories:  Applications, Download
Editions:  Dropbox, Google Drive, Amazon S3, Enterprise

Fixed bug  Added Content Length For Uploads

As required by the Amazon S3 API the content length for uploads can now be specified. If a file is uploaded to Amazon, Dropbox, or Google this is done with web requests. This kind of transfer technique requires that prior to the transfer the overall length of the transmitted data is specified.

All current providers have been modified the way that it is now possible to set the content length easily. Before an upload output stream is requested with getContent().getOutputStream() the length should be set with getContent().setAttribute(VFSLibConstants.ATTR_CONTENT_LENGTH, length). If this attribute is not set for the cloud providers then uploading small files may work but uploading large files > 10 MB will certainly fail. Please check out the modified example classes for details.

Type:  Fixed bug
Categories:  Compatibility, Documentation, Provider Options
Editions:  Dropbox, Google Drive, Amazon S3, Enterprise

Miscellaneous change  Updated To Dropbox 1.7.6

The current VFSLib is now shipped with Dropbox for Java API version 1.7.6.

The access token is now only valid for the Java session it has been requested for. For the ExampleDropbox.java and ExampleDropboxOptimized.java classes this means that the -token parameter is not longer supported. The access token MUST be requested each time the script is restarted, copied from the Dropbox website and inserted into the dialog input field. This is a little less convenient but surely the token security benefits from this change.

As for the earlier Dropbox versions also the new one has some limitations e.g. when uploading large files. Uploading files using the Java API is still slow compared to the Dropbox desktop application. According to forum posts at Dropbox this is the programmed behaviour. For large files users should use the Dropbox desktop client or switch to other cloud file system providers without this kind of limitation.

Links:  Visit the Dropbox homepage
Type:  Miscellaneous change
Categories:  Libraries, Compatibility, Deployment
Editions:  Dropbox, Enterprise

New feature  New Option "Use bucket URI"

For the Amazon S3 provider a new protocol option has been added: "Use bucket URI". By default the host name aws.amazon.com ist used to assemble the URI for Amazon S3 connections as for the traditional file systems like FTP/SFTP. Since bucket names are globally unique IDs by design it is now possible to configure VFSLib so that URIs like s3:// This e-mail address is being protected from spambots. You need JavaScript enabled to view it. can be used internally.

This is only a display feature which does not influence the internal behaviour of the Amazon S3 provider that comes with VFSLib. It may be changed at runtime.

Type:  New feature
Categories:  Provider Options
Editions:  Amazon S3, Enterprise

Fixed bug  Save Token/Secret Key Feature Fixed

Like for the traditional VFSLib file systems also for the new cloud file systems Dropbox, Google Drive, and Amazon S3 it's now possible to save secret options like the access token or secret key. Applications like Data Digester provide a check box flag to configure the program behaviour for the configured network connections.

The previous version of VFSLib always stored the secret options, the flag did not work. This has now been fixed so that VFSLib applications may now "forget" about secret options. Remember that the secret options are still remembered while the application is running but not if it is restarted and the save flag has been disabled before.

Type:  Fixed bug
Categories:  Provider Options
Editions:  Dropbox, Google Drive, Amazon S3, Enterprise

Enhanced functionality  File System Options Validation

The file system options to be configured with the various FileSystemConfigBuilder classes are now checked for proper required values. For Dropbox and Google Drive the access token must be configured to operate properly. For Amazon S3 the access key ID, the secret key, and the bucket name are required options now.

Applications like Data Digester will show some indicator if one of these options are missing for the configured network connections.

Links:  Visit the Data Digester homepage
Type:  Enhanced functionality
Categories:  Provider Options
Editions:  Dropbox, Google Drive, Amazon S3, Enterprise

Miscellaneous change  Obfuscation Issue

If VFSLib is used as part of an obfuscated (scrambled) application then the providers for Dropbox, Google Drive, and Amazon S3 could not be activated. This happens although a proper commercial or evaluation license has been installed before.

The log file shows entries like "VFSLIB-0015: Dropbox functions require a Dropbox Edition or Enterprise Edition".

If you use ProGuard for obfuscation then add something like the following to your scripts:

Type:  Miscellaneous change
Categories:  Compatibility, Deployment
Editions:  Dropbox, Google Drive, Amazon S3, Enterprise

VFSLib 1.6.3 Build 46 (2013-10-24)

New feature  Enterprise Edition Available

While all VFSLib providers can be obtained separately the Enterprise Edition has now been released. The Enterprise Edition includes all providers currently available (Dropbox, Google Drive, Amazon S3). Please check out the attractive license pricing and volume discount offers.

Type:  New feature
Categories:  Release management, Download
Editions:  Dropbox, Google Drive, Amazon S3, Enterprise

New feature  VFSLib Now to Support Amazon S3 (Amazon S3 Edition)

As third cloud file system provider the Amazon S3 Edition has been added to VFSLib. Please register a valid Amazon Web Services (AWS) account first. All necessary parameters for the Amazon S3 provider including the keys are provided by the Amazon S3 system.

Like the Dropbox provider also the Amazon S3 provider supports all standard VFS operation as there are creating files and folders, renaming, deleting, downloading, uploading etc. Remember that versioning is not supported by the original Commons VFS and so VFSLib doesn't.

Links:  Visit the Amazon S3 homepage
Type:  New feature
Categories:  Release management, Download
Editions:  Amazon S3

VFSLib 1.6.2 Build 37 (2013-10-13)

New feature  Added Google Drive To VFSLib (Google Drive Edition)

As second file system provider Google Drive has been added to VFSLib.

Developers need a Google Drive account and their application setup on the Google website. Once an application token has been generated (you must allow your application to access your Google Drive files first) then the VFSLib Google Drive provider can be configured with a few steps.

Like the Dropbox provider also the Google Drive provider supports all standard VFS operation as there are creating files and folders, renaming, deleting, downloading, uploading etc. Remember that versioning is not supported by the original Commons VFS and so VFSLib doesn't.

Links:  Visit the Google Drive homepage
Type:  New feature
Categories:  Release management, Download
Editions:  Google Drive

Fixed bug  Bugs in Java Examples Fixed

Some minor bugs found in the VFSLib Java examples have been fixed for the current release:

* ExampleDropbox: for loop uses iterated variable instead of fileobj (List a Dropbox folder)

Type:  Fixed bug
Categories:  Documentation
Editions:  Dropbox, Google Drive

VFSLib 1.6.1 Build 33 (2013-10-04)

New feature  First Official VFSLib (Dropbox Edition)

The release of the first official VFSLib for Dropbox (Dropbox Edition, aka DBE) is now likely to be published in the next few weeks. This initial version comes with a VFS provider implementing the functionality to access the Dropbox network file system.

Developers need a Dropbox account and their application setup on the Dropbox website. Once an application token has been generated (you must allow your application to access your Dropbox files first) then the VFSLib Dropbox provider can be configured with a few steps.

The first available VFSLib edition will be the Dropbox Edition (DBE), additional VFS providers e.g. to access Amazon S3 will be released in Q4/2013. Finally an Enterprise Edition will be published which contains all available VFSLib providers for an attractive price.

Links:  Visit the Dropbox homepage
Type:  New feature
Categories:  Release management, Download
Editions:  Dropbox