[UIMA-1746] set useCaches(false) for URL connections that could connect to files, to avoid "locking" those files persistently, after they are closed

git-svn-id: https://svn.apache.org/repos/asf/uima/uimaj/branches/test-parent-pom-6@1024030 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/uimaj-core/src/main/java/org/apache/uima/pear/util/FileUtil.java b/uimaj-core/src/main/java/org/apache/uima/pear/util/FileUtil.java
index a0793c4..43c49e4 100644
--- a/uimaj-core/src/main/java/org/apache/uima/pear/util/FileUtil.java
+++ b/uimaj-core/src/main/java/org/apache/uima/pear/util/FileUtil.java
@@ -851,6 +851,8 @@
       try {
         URL fileUrl = new URL(fileLocation);
         URLConnection urlConn = fileUrl.openConnection();
+        // See https://issues.apache.org/jira/browse/UIMA-1746
+        urlConn.setUseCaches(false);
         fileSize = urlConn.getContentLength();
       } catch (IOException e) {
         fileSize = -1;
@@ -1038,6 +1040,8 @@
    */
   public static String[] loadListOfStrings(URL textFileURL) throws IOException {
     URLConnection urlConnection = textFileURL.openConnection();
+    // See https://issues.apache.org/jira/browse/UIMA-1746
+    urlConnection.setUseCaches(false);
     BufferedReader iStream = null;
     String[] outputArray = null;
     try {
@@ -1192,6 +1196,8 @@
    */
   public static String loadTextFile(URL textFileURL) throws IOException {
     URLConnection urlConnection = textFileURL.openConnection();
+    // See https://issues.apache.org/jira/browse/UIMA-1746
+    urlConnection.setUseCaches(false);    
     return loadTextFile(urlConnection);
   }
 
@@ -1207,6 +1213,8 @@
   public static String loadTextFile(URLConnection urlConnection) throws IOException {
     BufferedReader iStream = null;
     String content = null;
+    // See https://issues.apache.org/jira/browse/UIMA-1746
+    urlConnection.setUseCaches(false);    
     try {
       iStream = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
       content = loadTextFile(iStream);
diff --git a/uimaj-core/src/main/java/org/apache/uima/util/XMLInputSource.java b/uimaj-core/src/main/java/org/apache/uima/util/XMLInputSource.java
index 5ddedc2..d03b421 100644
--- a/uimaj-core/src/main/java/org/apache/uima/util/XMLInputSource.java
+++ b/uimaj-core/src/main/java/org/apache/uima/util/XMLInputSource.java
@@ -24,6 +24,7 @@
 import java.io.InputStream;
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.net.URLConnection;
 
 import org.apache.uima.UIMARuntimeException;
 
@@ -111,7 +112,13 @@
    */
   public XMLInputSource(URL aURL) throws IOException {
     mURL = aURL;
-    mInputStream = aURL.openStream();
+    // replace openStream which is openConnection().getInputStream() with
+    // version that allows setting caching(false)
+    // See https://issues.apache.org/jira/browse/UIMA-1746
+    URLConnection urlConnection= aURL.openConnection();
+    urlConnection.setUseCaches(false);
+    mInputStream = urlConnection.getInputStream();
+//    mInputStream = aURL.openStream();
   }
 
   /**