From d4e4a4045c7d3b30b303ecfe55a0fd8085f614fc Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Mon, 18 Nov 2013 17:30:47 +0100 Subject: [PATCH] move Url to platform - avoid raw string --- .../impl/http/JumpFromRemoteFileToLocalAction.java | 9 +++++---- .../platform-api/src/com/intellij/util}/Url.java | 2 +- .../openapi/fileEditor/impl/http/LocalFileFinder.java | 3 ++- .../src/com/intellij/util}/LocalFileUrl.java | 2 +- .../platform-impl/src/com/intellij/util}/UrlImpl.java | 2 +- .../platform-impl/src/com/intellij/util}/Urls.java | 4 ++-- .../src/com/intellij/ide/browsers/BrowserStarter.java | 1 + .../ide/browsers/OpenFileInDefaultBrowserAction.java | 1 + .../ide/browsers/SelectInDefaultBrowserTarget.java | 1 + .../src/com/intellij/ide/browsers/StartBrowserPanel.java | 1 + .../ide/browsers/impl/WebBrowserServiceImpl.java | 4 ++-- .../src/com/intellij/ide/browsers/WebBrowserService.java | 1 + .../com/intellij/ide/browsers/WebBrowserUrlProvider.java | 1 + 13 files changed, 20 insertions(+), 12 deletions(-) rename {xml/openapi/src/com/intellij/ide/browsers => platform/platform-api/src/com/intellij/util}/Url.java (94%) rename {xml/impl/src/com/intellij/ide/browsers => platform/platform-impl/src/com/intellij/util}/LocalFileUrl.java (98%) rename {xml/impl/src/com/intellij/ide/browsers => platform/platform-impl/src/com/intellij/util}/UrlImpl.java (99%) rename {xml/impl/src/com/intellij/ide/browsers => platform/platform-impl/src/com/intellij/util}/Urls.java (97%) diff --git a/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/http/JumpFromRemoteFileToLocalAction.java b/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/http/JumpFromRemoteFileToLocalAction.java index 5178202df385..92901ebb0288 100644 --- a/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/http/JumpFromRemoteFileToLocalAction.java +++ b/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/http/JumpFromRemoteFileToLocalAction.java @@ -31,6 +31,8 @@ import com.intellij.psi.search.FilenameIndex; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.ui.ColoredListCellRenderer; import com.intellij.ui.components.JBList; +import com.intellij.util.Url; +import com.intellij.util.Urls; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; @@ -56,10 +58,9 @@ public class JumpFromRemoteFileToLocalAction extends AnAction { @Override public void actionPerformed(AnActionEvent e) { - final String url = myFile.getUrl(); - Collection files = findLocalFiles(myProject, url, myFile.getName()); + Collection files = findLocalFiles(myProject, Urls.newFromVirtualFile(myFile), myFile.getName()); if (files.isEmpty()) { - Messages.showErrorDialog(myProject, "Cannot find local file for '" + url + "'", CommonBundle.getErrorTitle()); + Messages.showErrorDialog(myProject, "Cannot find local file for '" + myFile.getUrl() + "'", CommonBundle.getErrorTitle()); return; } @@ -90,7 +91,7 @@ public class JumpFromRemoteFileToLocalAction extends AnAction { } } - private static Collection findLocalFiles(Project project, String url, String fileName) { + private static Collection findLocalFiles(Project project, Url url, String fileName) { for (LocalFileFinder finder : LocalFileFinder.EP_NAME.getExtensions()) { final VirtualFile file = finder.findLocalFile(url, project); if (file != null) { diff --git a/xml/openapi/src/com/intellij/ide/browsers/Url.java b/platform/platform-api/src/com/intellij/util/Url.java similarity index 94% rename from xml/openapi/src/com/intellij/ide/browsers/Url.java rename to platform/platform-api/src/com/intellij/util/Url.java index 8d1efcc93de4..14bf116500d5 100644 --- a/xml/openapi/src/com/intellij/ide/browsers/Url.java +++ b/platform/platform-api/src/com/intellij/util/Url.java @@ -1,4 +1,4 @@ -package com.intellij.ide.browsers; +package com.intellij.util; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/http/LocalFileFinder.java b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/http/LocalFileFinder.java index dfbff7563b20..893f24d7c029 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/http/LocalFileFinder.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/http/LocalFileFinder.java @@ -18,6 +18,7 @@ package com.intellij.openapi.fileEditor.impl.http; import com.intellij.openapi.extensions.ExtensionPointName; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.util.Url; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -25,5 +26,5 @@ public abstract class LocalFileFinder { public static final ExtensionPointName EP_NAME = ExtensionPointName.create("com.intellij.http.localFileFinder"); @Nullable - public abstract VirtualFile findLocalFile(@NotNull String url, @NotNull Project project); + public abstract VirtualFile findLocalFile(@NotNull Url url, @NotNull Project project); } diff --git a/xml/impl/src/com/intellij/ide/browsers/LocalFileUrl.java b/platform/platform-impl/src/com/intellij/util/LocalFileUrl.java similarity index 98% rename from xml/impl/src/com/intellij/ide/browsers/LocalFileUrl.java rename to platform/platform-impl/src/com/intellij/util/LocalFileUrl.java index c91941f1cea9..fdbbd885a3d5 100644 --- a/xml/impl/src/com/intellij/ide/browsers/LocalFileUrl.java +++ b/platform/platform-impl/src/com/intellij/util/LocalFileUrl.java @@ -1,4 +1,4 @@ -package com.intellij.ide.browsers; +package com.intellij.util; import com.intellij.openapi.util.SystemInfo; import org.jetbrains.annotations.NotNull; diff --git a/xml/impl/src/com/intellij/ide/browsers/UrlImpl.java b/platform/platform-impl/src/com/intellij/util/UrlImpl.java similarity index 99% rename from xml/impl/src/com/intellij/ide/browsers/UrlImpl.java rename to platform/platform-impl/src/com/intellij/util/UrlImpl.java index f4dd334c442a..8e6ecf5a614d 100644 --- a/xml/impl/src/com/intellij/ide/browsers/UrlImpl.java +++ b/platform/platform-impl/src/com/intellij/util/UrlImpl.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.intellij.ide.browsers; +package com.intellij.util; import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.text.StringUtil; diff --git a/xml/impl/src/com/intellij/ide/browsers/Urls.java b/platform/platform-impl/src/com/intellij/util/Urls.java similarity index 97% rename from xml/impl/src/com/intellij/ide/browsers/Urls.java rename to platform/platform-impl/src/com/intellij/util/Urls.java index e1abd3727a63..c864a8316f34 100644 --- a/xml/impl/src/com/intellij/ide/browsers/Urls.java +++ b/platform/platform-impl/src/com/intellij/util/Urls.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.intellij.ide.browsers; +package com.intellij.util; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.io.FileUtil; @@ -51,7 +51,7 @@ public final class Urls { // java.net.URI.create cannot parse "file:///Test Stuff" - but you don't need to worry about it - this method is aware @Nullable - public static Url newFromIdea(@NotNull String url) { + public static Url parseFromIdea(@NotNull String url) { return URLUtil.containsScheme(url) ? parseUrl(url) : new LocalFileUrl(url); } diff --git a/xml/impl/src/com/intellij/ide/browsers/BrowserStarter.java b/xml/impl/src/com/intellij/ide/browsers/BrowserStarter.java index 20201d31b3b5..b2d5c6f66ed7 100644 --- a/xml/impl/src/com/intellij/ide/browsers/BrowserStarter.java +++ b/xml/impl/src/com/intellij/ide/browsers/BrowserStarter.java @@ -6,6 +6,7 @@ import com.intellij.execution.configurations.RunConfiguration; import com.intellij.execution.process.ProcessHandler; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.text.StringUtil; +import com.intellij.util.Urls; import com.intellij.util.net.NetUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/xml/impl/src/com/intellij/ide/browsers/OpenFileInDefaultBrowserAction.java b/xml/impl/src/com/intellij/ide/browsers/OpenFileInDefaultBrowserAction.java index 92f5abf20591..424f119fe13b 100644 --- a/xml/impl/src/com/intellij/ide/browsers/OpenFileInDefaultBrowserAction.java +++ b/xml/impl/src/com/intellij/ide/browsers/OpenFileInDefaultBrowserAction.java @@ -32,6 +32,7 @@ import com.intellij.testFramework.LightVirtualFile; import com.intellij.ui.ColoredListCellRenderer; import com.intellij.ui.components.JBList; import com.intellij.util.Consumer; +import com.intellij.util.Url; import com.intellij.util.containers.ContainerUtil; import com.intellij.xml.XmlBundle; import com.intellij.xml.util.HtmlUtil; diff --git a/xml/impl/src/com/intellij/ide/browsers/SelectInDefaultBrowserTarget.java b/xml/impl/src/com/intellij/ide/browsers/SelectInDefaultBrowserTarget.java index 55ceeeb5e977..322e3c85a208 100644 --- a/xml/impl/src/com/intellij/ide/browsers/SelectInDefaultBrowserTarget.java +++ b/xml/impl/src/com/intellij/ide/browsers/SelectInDefaultBrowserTarget.java @@ -24,6 +24,7 @@ import com.intellij.openapi.util.Pair; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.testFramework.LightVirtualFile; +import com.intellij.util.Url; import com.intellij.xml.XmlBundle; import com.intellij.xml.util.HtmlUtil; diff --git a/xml/impl/src/com/intellij/ide/browsers/StartBrowserPanel.java b/xml/impl/src/com/intellij/ide/browsers/StartBrowserPanel.java index 8661a263939a..37dc8e565824 100644 --- a/xml/impl/src/com/intellij/ide/browsers/StartBrowserPanel.java +++ b/xml/impl/src/com/intellij/ide/browsers/StartBrowserPanel.java @@ -18,6 +18,7 @@ import com.intellij.psi.PsiBinaryFile; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiManager; import com.intellij.ui.AncestorListenerAdapter; +import com.intellij.util.Url; import com.intellij.util.io.URLUtil; import com.intellij.util.ui.UIUtil; import com.intellij.xml.XmlBundle; diff --git a/xml/impl/src/com/intellij/ide/browsers/impl/WebBrowserServiceImpl.java b/xml/impl/src/com/intellij/ide/browsers/impl/WebBrowserServiceImpl.java index af7eb2e28278..ddbe31c22970 100644 --- a/xml/impl/src/com/intellij/ide/browsers/impl/WebBrowserServiceImpl.java +++ b/xml/impl/src/com/intellij/ide/browsers/impl/WebBrowserServiceImpl.java @@ -15,8 +15,6 @@ */ package com.intellij.ide.browsers.impl; -import com.intellij.ide.browsers.Url; -import com.intellij.ide.browsers.Urls; import com.intellij.ide.browsers.WebBrowserService; import com.intellij.ide.browsers.WebBrowserUrlProvider; import com.intellij.openapi.project.DumbService; @@ -27,6 +25,8 @@ import com.intellij.openapi.vfs.impl.http.HttpVirtualFile; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.testFramework.LightVirtualFile; +import com.intellij.util.Url; +import com.intellij.util.Urls; import com.intellij.util.containers.ContainerUtil; import com.intellij.xml.util.HtmlUtil; import org.jetbrains.annotations.NotNull; diff --git a/xml/openapi/src/com/intellij/ide/browsers/WebBrowserService.java b/xml/openapi/src/com/intellij/ide/browsers/WebBrowserService.java index 267cfd013fba..a63e2bc3d545 100644 --- a/xml/openapi/src/com/intellij/ide/browsers/WebBrowserService.java +++ b/xml/openapi/src/com/intellij/ide/browsers/WebBrowserService.java @@ -17,6 +17,7 @@ package com.intellij.ide.browsers; import com.intellij.openapi.components.ServiceManager; import com.intellij.psi.PsiElement; +import com.intellij.util.Url; import org.jetbrains.annotations.NotNull; import java.util.Set; diff --git a/xml/openapi/src/com/intellij/ide/browsers/WebBrowserUrlProvider.java b/xml/openapi/src/com/intellij/ide/browsers/WebBrowserUrlProvider.java index e0d0c85713b6..3cfad33222f2 100644 --- a/xml/openapi/src/com/intellij/ide/browsers/WebBrowserUrlProvider.java +++ b/xml/openapi/src/com/intellij/ide/browsers/WebBrowserUrlProvider.java @@ -20,6 +20,7 @@ import com.intellij.openapi.util.Ref; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; +import com.intellij.util.Url; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable;