diff --git a/platform/platform-impl/src/com/intellij/util/UrlImpl.java b/platform/platform-impl/src/com/intellij/util/UrlImpl.java index 04af1fada4e9..f5afeb6c8fcd 100644 --- a/platform/platform-impl/src/com/intellij/util/UrlImpl.java +++ b/platform/platform-impl/src/com/intellij/util/UrlImpl.java @@ -147,26 +147,11 @@ public final class UrlImpl implements Url { return true; } if (!(o instanceof UrlImpl)) { - if (o instanceof Url && isInLocalFileSystem()) { - Url url = (Url)o; - if (url.isInLocalFileSystem()) { - return url.getPath().equals(path); - } - } return false; } UrlImpl url = (UrlImpl)o; - if (scheme == null ? url.scheme == null : !scheme.equals(url.scheme)) { - return false; - } - if (authority == null ? url.authority != null : !authority.equals(url.authority)) { - return false; - } - if (!getPath().equals(url.getPath())) { - return false; - } - return parameters == null ? url.parameters == null : parameters.equals(url.parameters); + return StringUtil.equals(scheme, url.scheme) && StringUtil.equals(authority, url.authority) && getPath().equals(url.getPath()) && StringUtil.equals(parameters, url.parameters); } @Override @@ -177,10 +162,10 @@ public final class UrlImpl implements Url { @Override public int hashCode() { int result = scheme == null ? 0 : scheme.hashCode(); - result = 31 * result + (authority != null ? authority.hashCode() : 0); + result = 31 * result + (authority == null ? 0 : authority.hashCode()); String decodedPath = getPath(); result = 31 * result + decodedPath.hashCode(); - result = 31 * result + (parameters != null ? parameters.hashCode() : 0); + result = 31 * result + (parameters == null ? 0 : parameters.hashCode()); return result; } } \ No newline at end of file diff --git a/platform/platform-impl/src/com/intellij/util/Urls.java b/platform/platform-impl/src/com/intellij/util/Urls.java index 240c30686ef6..ddc581f11718 100644 --- a/platform/platform-impl/src/com/intellij/util/Urls.java +++ b/platform/platform-impl/src/com/intellij/util/Urls.java @@ -44,11 +44,16 @@ public final class Urls { @NotNull public static Url newFromEncoded(@NotNull String url) { - Url result = parse(url, false); + Url result = parseEncoded(url); LOG.assertTrue(result != null, url); return result; } + @Nullable + public static Url parseEncoded(@NotNull String url) { + return parse(url, false); + } + @NotNull public static Url newHttpUrl(@NotNull String authority, @Nullable String path) { return new UrlImpl("http", authority, path);