Author: schor
Date: Thu Jun  9 19:12:32 2016
New Revision: 1747583

URL: http://svn.apache.org/viewvc?rev=1747583&view=rev
Log:
[UIMA-4674] add util method to convert a string for a classpath into an array 
of URLs.  Replace a StringBuffer with StringBuilder

Modified:
    
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/internal/util/Misc.java
    
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/util/FileUtils.java

Modified: 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/internal/util/Misc.java
URL: 
http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/internal/util/Misc.java?rev=1747583&r1=1747582&r2=1747583&view=diff
==============================================================================
--- 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/internal/util/Misc.java
 (original)
+++ 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/internal/util/Misc.java
 Thu Jun  9 19:12:32 2016
@@ -29,6 +29,8 @@ import java.lang.invoke.MethodHandles.Lo
 import java.lang.ref.WeakReference;
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
+import java.net.MalformedURLException;
+import java.net.URL;
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
@@ -52,7 +54,6 @@ public class Misc {
     return whitespace.matcher(s).replaceAll(replacement);
   }
   
-  
   /**
    * @param s starting frames above invoker
    * @param n max number of callers to return
@@ -108,6 +109,19 @@ public class Misc {
   
   public final static MethodHandles.Lookup UIMAlookup = MethodHandles.lookup();
   
+  public static URL[] classpath2urls (String classpath) {
+    try {
+      String [] sa = classpath.split(File.pathSeparator);
+      URL[] r = new URL[sa.length];
+      for (int i = 0; i < sa.length; i++) {
+        r[i] = new File(sa[i]).toURI().toURL();
+      }
+      return r;
+    } catch (MalformedURLException e) {
+      throw new RuntimeException(e);
+    }
+  }
+  
   /**
    * 
    * @param name of property

Modified: 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/util/FileUtils.java
URL: 
http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/util/FileUtils.java?rev=1747583&r1=1747582&r2=1747583&view=diff
==============================================================================
--- 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/util/FileUtils.java
 (original)
+++ 
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/util/FileUtils.java
 Thu Jun  9 19:12:32 2016
@@ -113,17 +113,17 @@ public class FileUtils {
    *           Various I/O errors.
    */
   public static String reader2String(Reader reader) throws IOException {
-    StringBuffer strBuffer = new StringBuffer();
+    StringBuilder sb = new StringBuilder();
     char[] buf = new char[10000];
     int charsRead;
     try {
       while ((charsRead = reader.read(buf)) >= 0) {
-        strBuffer.append(buf, 0, charsRead);
+        sb.append(buf, 0, charsRead);
       }
     } finally {
       reader.close();
     }
-    return strBuffer.toString();
+    return sb.toString();
   }
 
   /**
@@ -373,15 +373,15 @@ public class FileUtils {
         && filePathComponents[i].equals(relToPathComponents[i])) {
       i++;
     }
-    StringBuffer buf = new StringBuffer();
+    StringBuilder sb = new StringBuilder();
     for (int j = i; j < relToPathComponents.length; j++) {
-      buf.append("../");
+      sb.append("../");
     }
     for (int j = i; j < filePathComponents.length - 1; j++) {
-      buf.append(filePathComponents[j]).append('/');
+      sb.append(filePathComponents[j]).append('/');
     }
-    buf.append(filePathComponents[filePathComponents.length - 1]);
-    return buf.toString();
+    sb.append(filePathComponents[filePathComponents.length - 1]);
+    return sb.toString();
   }
 
   /**


Reply via email to