You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2012/02/01 18:35:13 UTC
svn commit: r1239221 - in
/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util:
IO.java UpdateChecker.java
Author: rmannibucau
Date: Wed Feb 1 17:35:12 2012
New Revision: 1239221
URL: http://svn.apache.org/viewvc?rev=1239221&view=rev
Log:
some enhancement about update checker
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/IO.java
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/UpdateChecker.java
Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/IO.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/IO.java?rev=1239221&r1=1239220&r2=1239221&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/IO.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/IO.java Wed Feb 1 17:35:12 2012
@@ -33,6 +33,9 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
+import java.net.Proxy;
+import java.net.ProxySelector;
+import java.net.URI;
import java.net.URL;
import java.net.URLConnection;
import java.util.zip.ZipInputStream;
@@ -44,20 +47,30 @@ import java.util.zip.ZipOutputStream;
public class IO {
private static final int MAX_TIMEOUT = Integer.getInteger("openejb.io.util.timeout", 5000);
- public static String readFileAsString(final URL url) throws IOException {
- final URLConnection connection = url.openConnection();
- connection.setConnectTimeout(MAX_TIMEOUT);
- final InputStream in = connection.getInputStream();
+ public static String readFileAsString(final URI uri) throws IOException {
final StringBuilder builder = new StringBuilder("");
- String line;
- try {
- final BufferedReader reader = new BufferedReader(new InputStreamReader(in));
- while ((line = reader.readLine()) != null) {
- builder.append(line);
+ for (Proxy proxy : ProxySelector.getDefault().select(uri)) {
+ InputStream is;
+
+ try {
+ URLConnection urlConnection = uri.toURL().openConnection(proxy);
+ urlConnection.setConnectTimeout(MAX_TIMEOUT);
+ is = urlConnection.getInputStream();
+ } catch (IOException e) {
+ continue;
+ }
+
+ String line;
+ try {
+ final BufferedReader reader = new BufferedReader(new InputStreamReader(is));
+ while ((line = reader.readLine()) != null) {
+ builder.append(line);
+ }
+ } finally {
+ close(is);
}
- } finally {
- close(in);
}
+
return builder.toString();
}
Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/UpdateChecker.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/UpdateChecker.java?rev=1239221&r1=1239220&r2=1239221&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/UpdateChecker.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/UpdateChecker.java Wed Feb 1 17:35:12 2012
@@ -24,7 +24,7 @@ public class UpdateChecker implements Ru
try {
final URL url = new URL(URL);
- final String metaData = IO.readFileAsString(url);
+ final String metaData = IO.readFileAsString(url.toURI());
final String latest = extractLatest(metaData);
RESULT.set(message(latest, OpenEjbVersion.get().getVersion()));
} catch (Exception e) {
@@ -42,8 +42,8 @@ public class UpdateChecker implements Ru
return "running on the latest version";
}
return new StringBuilder("current version => ").append(version)
- .append(", latest stable version ").append(latest).append(" is available ")
- .append(" on ").append(REPO_URL).toString();
+ .append(", latest stable version ").append(latest)
+ .append(" is available on ").append(REPO_URL).toString();
}
private static String extractLatest(final String metaData) {