From 7356753aaa2b7a773a23ae128f8278359cff6ae2 Mon Sep 17 00:00:00 2001 From: nik Date: Mon, 9 Jan 2017 17:53:49 +0100 Subject: [PATCH] AbstractUrl: cleanup and notnullification --- .../ide/projectView/impl/AbstractUrl.java | 18 ++++++++---------- .../ide/projectView/impl/DirectoryUrl.java | 2 +- .../ide/projectView/impl/ModuleGroupUrl.java | 9 ++------- .../ide/projectView/impl/ModuleUrl.java | 2 +- 4 files changed, 12 insertions(+), 19 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/ide/projectView/impl/AbstractUrl.java b/platform/lang-impl/src/com/intellij/ide/projectView/impl/AbstractUrl.java index b66e4a92dec2..b3d026147ad7 100644 --- a/platform/lang-impl/src/com/intellij/ide/projectView/impl/AbstractUrl.java +++ b/platform/lang-impl/src/com/intellij/ide/projectView/impl/AbstractUrl.java @@ -17,8 +17,10 @@ package com.intellij.ide.projectView.impl; import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.text.StringUtil; import org.jdom.Element; import org.jetbrains.annotations.NonNls; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** @@ -29,9 +31,9 @@ public abstract class AbstractUrl { protected final String moduleName; private final String myType; - protected AbstractUrl(String url, String moduleName, @NonNls String type) { + protected AbstractUrl(String url, @Nullable String moduleName, @NotNull @NonNls String type) { myType = type; - this.url = url == null ? "" : url; + this.url = StringUtil.notNullize(url); this.moduleName = moduleName; } @@ -47,7 +49,7 @@ public abstract class AbstractUrl { @Nullable public abstract Object[] createPath(Project project); - // return null if cannot recognize the element + @Nullable("return null if cannot recognize the element") public AbstractUrl createUrl(String type, String moduleName, String url){ if (type.equals(myType)) { return createUrl(moduleName, url); @@ -65,17 +67,13 @@ public abstract class AbstractUrl { final AbstractUrl that = (AbstractUrl)o; if (moduleName != null ? !moduleName.equals(that.moduleName) : that.moduleName != null) return false; - if (myType != null ? !myType.equals(that.myType) : that.myType != null) return false; - if (url != null ? !url.equals(that.url) : that.url != null) return false; - - return true; + return myType.equals(that.myType) && url.equals(that.url); } public int hashCode() { - int result; - result = (url != null ? url.hashCode() : 0); + int result = url.hashCode(); result = 29 * result + (moduleName != null ? moduleName.hashCode() : 0); - result = 29 * result + (myType != null ? myType.hashCode() : 0); + result = 29 * result + myType.hashCode(); return result; } } diff --git a/platform/lang-impl/src/com/intellij/ide/projectView/impl/DirectoryUrl.java b/platform/lang-impl/src/com/intellij/ide/projectView/impl/DirectoryUrl.java index 9c431c9a0630..680c03ac5c88 100644 --- a/platform/lang-impl/src/com/intellij/ide/projectView/impl/DirectoryUrl.java +++ b/platform/lang-impl/src/com/intellij/ide/projectView/impl/DirectoryUrl.java @@ -36,7 +36,7 @@ public class DirectoryUrl extends AbstractUrl { @NonNls private static final String ELEMENT_TYPE = "directory"; public DirectoryUrl(String url, String moduleName) { - super(url, moduleName,ELEMENT_TYPE); + super(url, moduleName, ELEMENT_TYPE); } public static DirectoryUrl create(PsiDirectory directory) { Project project = directory.getProject(); diff --git a/platform/lang-impl/src/com/intellij/ide/projectView/impl/ModuleGroupUrl.java b/platform/lang-impl/src/com/intellij/ide/projectView/impl/ModuleGroupUrl.java index 2e4c6f9fe167..4686c6c874b6 100644 --- a/platform/lang-impl/src/com/intellij/ide/projectView/impl/ModuleGroupUrl.java +++ b/platform/lang-impl/src/com/intellij/ide/projectView/impl/ModuleGroupUrl.java @@ -17,6 +17,7 @@ package com.intellij.ide.projectView.impl; import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.text.StringUtil; import org.jetbrains.annotations.NonNls; @@ -43,13 +44,7 @@ public class ModuleGroupUrl extends AbstractUrl { if (element instanceof ModuleGroup) { ModuleGroup group = (ModuleGroup)element; final String[] groupPath = group.getGroupPath(); - StringBuffer sb = new StringBuffer(); - for (int i = 0; i < groupPath.length; i++) { - String s = groupPath[i]; - sb.append(s); - sb.append(";"); - } - return new ModuleGroupUrl(sb.toString()); + return new ModuleGroupUrl(StringUtil.join(groupPath, ";")); } return null; } diff --git a/platform/lang-impl/src/com/intellij/ide/projectView/impl/ModuleUrl.java b/platform/lang-impl/src/com/intellij/ide/projectView/impl/ModuleUrl.java index e41093b023e9..7148f1ca7c2c 100644 --- a/platform/lang-impl/src/com/intellij/ide/projectView/impl/ModuleUrl.java +++ b/platform/lang-impl/src/com/intellij/ide/projectView/impl/ModuleUrl.java @@ -28,7 +28,7 @@ public class ModuleUrl extends AbstractUrl { @NonNls private static final String ELEMENT_TYPE = "module"; public ModuleUrl(String url, String moduleName) { - super(url, moduleName,ELEMENT_TYPE); + super(url, moduleName, ELEMENT_TYPE); } @Override