Index: src/main/java/common/javax/swing/text/html/HTML.java
===================================================================
--- src/main/java/common/javax/swing/text/html/HTML.java (revision 559141)
+++ src/main/java/common/javax/swing/text/html/HTML.java (working copy)
@@ -25,8 +25,6 @@
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URISyntaxException;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
@@ -554,38 +552,47 @@
if (url == null) {
return null;
}
- return resolveURL(url.toString(), base != null ? base.toString() : null);
+
+ try {
+ return ((base != null) ? new URL(base, url.toString()) : url);
+ } catch (MalformedURLException e) {
+ return null;
+ }
}
static URL resolveURL(final String url, final URL base) {
if (Utilities.isEmptyString(url)) {
return null;
}
- return resolveURL(url, base != null ? base.toString() : null);
+
+ try {
+ return ((base != null) ? new URL(base, url) : new URL(url));
+ } catch (MalformedURLException e) {
+ return null;
+ }
}
+ static URL resolveURL(final URL url, final String base) {
+ if (url == null) {
+ return null;
+ }
+
+ try {
+ return ((base != null) ? new URL(new URL(base), url.toString()) : url);
+ } catch (MalformedURLException e) {
+ return null;
+ }
+ }
+
static URL resolveURL(final String url, final String base) {
if (Utilities.isEmptyString(url)) {
return null;
}
- URI uri = null;
- if (base != null) {
- try {
- uri = new URI(base).resolve(url);
- } catch (URISyntaxException e) { }
+ try {
+ return ((base != null) ? new URL(new URL(base), url) : new URL(url));
+ } catch (MalformedURLException e) {
+ return null;
}
-
- URL result = null;
- try {
- if (uri != null) {
- result = uri.toURL();
- } else {
- result = new URL(url);
- }
- } catch (final MalformedURLException e) { }
-
- return result;
}
}
-