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();
}
/**