From 6637ca274dd23caf76f0ff0d73747ca87b5a018e Mon Sep 17 00:00:00 2001 From: Konstantin Kolosovsky Date: Sun, 28 Oct 2018 21:02:53 +0300 Subject: [PATCH] svn: Migrate "String" to "Url" in "SvnRepositoryCache" --- .../svn/dialogs/browserCache/CacheLoader.java | 6 ++---- .../dialogs/browserCache/RepositoryLoader.java | 4 ++-- .../dialogs/browserCache/SvnRepositoryCache.kt | 15 ++++++++------- .../dialogs/browserCache/SyntheticWorker.java | 16 +++++++--------- 4 files changed, 19 insertions(+), 22 deletions(-) diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/browserCache/CacheLoader.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/browserCache/CacheLoader.java index 6c69a943b35a..c6ce79bfc0d9 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/browserCache/CacheLoader.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/browserCache/CacheLoader.java @@ -25,13 +25,11 @@ public class CacheLoader extends Loader { @Override public void load(@NotNull final RepositoryTreeNode node, @NotNull final Expander expander) { SwingUtilities.invokeLater(() -> { - final String nodeUrl = node.getURL().toString(); - - final List cached = myCache.getChildren(nodeUrl); + final List cached = myCache.getChildren(node.getURL()); if (cached != null) { refreshNode(node, cached, expander); } - final String error = myCache.getError(nodeUrl); + final String error = myCache.getError(node.getURL()); if (error != null) { refreshNodeError(node, error); } diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/browserCache/RepositoryLoader.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/browserCache/RepositoryLoader.java index 921ee0a5bf7e..c1150003fcb5 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/browserCache/RepositoryLoader.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/browserCache/RepositoryLoader.java @@ -50,12 +50,12 @@ class RepositoryLoader extends Loader { } private void setResults(@NotNull Pair data, @NotNull List children) { - myCache.put(data.first.getURL().toString(), children); + myCache.put(data.first.getURL(), children); refreshNode(data.first, children, data.second); } private void setError(@NotNull Pair data, @NotNull String message) { - myCache.put(data.first.getURL().toString(), message); + myCache.put(data.first.getURL(), message); refreshNodeError(data.first, message); } diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/browserCache/SvnRepositoryCache.kt b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/browserCache/SvnRepositoryCache.kt index 9e5ac17c4ae2..b2a3a9b39d0c 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/browserCache/SvnRepositoryCache.kt +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/browserCache/SvnRepositoryCache.kt @@ -3,27 +3,28 @@ package org.jetbrains.idea.svn.dialogs.browserCache import com.intellij.openapi.components.service import com.intellij.util.containers.ContainerUtil.createSoftMap +import org.jetbrains.idea.svn.api.Url import org.jetbrains.idea.svn.browse.DirectoryEntry class SvnRepositoryCache private constructor() { - private val myMap = createSoftMap>() - private val myErrorsMap = createSoftMap() + private val myMap = createSoftMap>() + private val myErrorsMap = createSoftMap() - fun getChildren(parent: String) = myMap[parent] + fun getChildren(parent: Url) = myMap[parent] - fun getError(parent: String) = myErrorsMap[parent] + fun getError(parent: Url) = myErrorsMap[parent] - fun put(parent: String, error: String) { + fun put(parent: Url, error: String) { myMap.remove(parent) myErrorsMap[parent] = error } - fun put(parent: String, children: List) { + fun put(parent: Url, children: List) { myErrorsMap.remove(parent) myMap[parent] = children } - fun remove(parent: String) { + fun remove(parent: Url) { myErrorsMap.remove(parent) myMap.remove(parent) } diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/browserCache/SyntheticWorker.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/browserCache/SyntheticWorker.java index 26b22fc2931e..a7732b653b55 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/browserCache/SyntheticWorker.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/browserCache/SyntheticWorker.java @@ -28,9 +28,9 @@ public class SyntheticWorker { } public void removeSelf() { - final String parentUrl; + final Url parentUrl; try { - parentUrl = removePathTail(myUrl).toString(); + parentUrl = removePathTail(myUrl); } catch (SvnBindException e) { return; @@ -50,16 +50,14 @@ public class SyntheticWorker { } public void addSyntheticChildToSelf(final Url newUrl, final Url repositoryUrl, final String name, final boolean isDir) { - final String currentUrlAsString = myUrl.toString(); - - final List children = myCache.getChildren(currentUrlAsString); + final List children = myCache.getChildren(myUrl); if (children == null) { return; } children.add(createSyntheticEntry(newUrl, repositoryUrl, name, isDir)); sort(children, DirectoryEntry.CASE_INSENSITIVE_ORDER); - myCache.put(currentUrlAsString, children); + myCache.put(myUrl, children); } public void copyTreeToSelf(final RepositoryTreeNode node) { @@ -84,7 +82,7 @@ public class SyntheticWorker { @Override @NotNull public Object fun(final RepositoryTreeNode repositoryTreeNode) { - myCache.remove(repositoryTreeNode.getURL().toString()); + myCache.remove(repositoryTreeNode.getURL()); return Boolean.FALSE; } } @@ -101,7 +99,7 @@ public class SyntheticWorker { @Override @NotNull public Object fun(final RepositoryTreeNode repositoryTreeNode) { - final List children = myCache.getChildren(repositoryTreeNode.getURL().toString()); + final List children = myCache.getChildren(repositoryTreeNode.getURL()); if (children == null) { return Boolean.FALSE; } @@ -111,7 +109,7 @@ public class SyntheticWorker { for (DirectoryEntry child : children) { newChildren.add(createSyntheticEntry(convertUrl(child.getUrl()), child.getRepositoryRoot(), child.getName(), child.isDirectory())); } - myCache.put(convertUrl(repositoryTreeNode.getURL()).toString(), newChildren); + myCache.put(convertUrl(repositoryTreeNode.getURL()), newChildren); } catch (SvnBindException ignored) { }