ndw/xmlcalabash1 — pull request #161 by jwcranford (2014-06-20 04:42:09+00:00)
Title: Close many potential resource leaks

This pull request closes many potential resource leaks by closing all resources in finally blocks.

It also includes a patch to build.xml to read the saxon version from the Version class instead of hardcoding it in the build file.

I recommend ignoring whitespace when viewing the differences in this pull request. Github doesn't ignore whitespace when showing the differences, but you can do that from the command-line:

> git diff -b -w 986694d 13fa597

or my favorite

> git diff -b -w --color 986694d 13fa597

Additional notes:
src/com/xmlcalabash/io/ReadableData.java
- changed so that underlying stream only gets closed manually when necessary

src/com/xmlcalabash/util/Base64.java
- Patched Base64 to prevent NullPointerExceptions and to log any exceptions
on close (instead of silently swallowing them). The following are still viable upgrade paths for Base64 in the future:
+ Upgrade to the next version (2.3) of
Base64 (http://iharder.net/base64). It's not backwards compatible, as it
throws exceptions instead of silently swallowing them, so it's not a
drop-in replacement. This patch doesn't make upgrading to the next version any more difficult.
+ Upgrade to Java 8 and java.util.Base64. API not compatible, so some
porting would be necessary.