summaryrefslogtreecommitdiff
path: root/plugins/svn4idea/src/org/jetbrains/idea
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/svn4idea/src/org/jetbrains/idea')
-rw-r--r--plugins/svn4idea/src/org/jetbrains/idea/svn/SvnConfiguration.java7
-rw-r--r--plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/RepositoryTreeModel.java2
-rw-r--r--plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/RepositoryTreeNode.java86
-rw-r--r--plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/SimpleTextNode.java46
-rw-r--r--plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/SvnRepositoryTreeCellRenderer.java15
-rw-r--r--plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/browserCache/CacheLoader.java15
-rw-r--r--plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/browserCache/Loader.java57
-rw-r--r--plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/browserCache/RepositoryLoader.java34
8 files changed, 136 insertions, 126 deletions
diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnConfiguration.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnConfiguration.java
index 9d8df6591268..bbafc719f43b 100644
--- a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnConfiguration.java
+++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnConfiguration.java
@@ -53,12 +53,7 @@ import java.util.TreeSet;
@State(
name = "SvnConfiguration",
- roamingType = RoamingType.DISABLED,
- storages = {
- @Storage(
- file = StoragePathMacros.WORKSPACE_FILE
- )
- }
+ storages = {@Storage(file = StoragePathMacros.WORKSPACE_FILE)}
)
public class SvnConfiguration implements PersistentStateComponent<SvnConfigurationState> {
diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/RepositoryTreeModel.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/RepositoryTreeModel.java
index c57391dc546e..38195f64053f 100644
--- a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/RepositoryTreeModel.java
+++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/RepositoryTreeModel.java
@@ -122,10 +122,12 @@ public class RepositoryTreeModel extends DefaultTreeModel implements Disposable
return myCacheLoader;
}
+ @NotNull
public Expander getLazyLoadingExpander() {
return myDefaultExpanderFactory.fun(myBrowser);
}
+ @NotNull
public Expander getSelectionKeepingExpander() {
return new KeepingSelectionExpander(myBrowser);
}
diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/RepositoryTreeNode.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/RepositoryTreeNode.java
index f21ca1735ff4..90f617ecad72 100644
--- a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/RepositoryTreeNode.java
+++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/RepositoryTreeNode.java
@@ -15,9 +15,12 @@
*/
package org.jetbrains.idea.svn.dialogs;
+import com.intellij.CommonBundle;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.util.NotNullFunction;
+import com.intellij.util.containers.ContainerUtil;
+import com.intellij.util.containers.FilteringIterator;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.idea.svn.SvnVcs;
@@ -27,7 +30,6 @@ import org.jetbrains.idea.svn.dialogs.browserCache.NodeLoadState;
import org.tmatesoft.svn.core.SVNURL;
import org.tmatesoft.svn.core.internal.util.SVNPathUtil;
-import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreeNode;
import java.util.ArrayList;
import java.util.Collections;
@@ -37,16 +39,16 @@ import java.util.List;
public class RepositoryTreeNode implements TreeNode, Disposable {
private TreeNode myParentNode;
- private List<TreeNode> myChildren;
+ @NotNull private final List<TreeNode> myChildren;
private final RepositoryTreeModel myModel;
private final SVNURL myURL;
private final Object myUserObject;
- private final NodeLoadState myLoadState;
+ @NotNull private final NodeLoadState myLoadState;
private NodeLoadState myChildrenLoadState;
public RepositoryTreeNode(RepositoryTreeModel model, TreeNode parentNode,
- @NotNull SVNURL url, Object userObject, final NodeLoadState state) {
+ @NotNull SVNURL url, Object userObject, @NotNull NodeLoadState state) {
myParentNode = parentNode;
myURL = url;
@@ -54,6 +56,7 @@ public class RepositoryTreeNode implements TreeNode, Disposable {
myUserObject = userObject;
myLoadState = state;
+ myChildren = ContainerUtil.newArrayList();
myChildrenLoadState = NodeLoadState.EMPTY;
}
@@ -113,10 +116,10 @@ public class RepositoryTreeNode implements TreeNode, Disposable {
return SVNPathUtil.tail(myURL.getPath());
}
- public void reload(final Expander expander, final boolean removeCurrentChildren) {
+ public void reload(@NotNull Expander expander, boolean removeCurrentChildren) {
ApplicationManager.getApplication().assertIsDispatchThread();
- if (removeCurrentChildren || (myChildren == null)) {
+ if (removeCurrentChildren || NodeLoadState.EMPTY.equals(myChildrenLoadState)) {
initChildren();
}
@@ -124,15 +127,15 @@ public class RepositoryTreeNode implements TreeNode, Disposable {
}
private void initChildren() {
- myChildren = new ArrayList<TreeNode>();
- myChildren.add(new DefaultMutableTreeNode("Loading"));
+ myChildren.clear();
+ myChildren.add(new SimpleTextNode(CommonBundle.getLoadingTreeNodeText()));
myChildrenLoadState = NodeLoadState.LOADING;
}
private List getChildren() {
ApplicationManager.getApplication().assertIsDispatchThread();
-
- if (myChildren == null) {
+
+ if (NodeLoadState.EMPTY.equals(myChildrenLoadState)) {
initChildren();
myModel.getCacheLoader().load(this, myModel.getLazyLoadingExpander());
}
@@ -145,10 +148,7 @@ public class RepositoryTreeNode implements TreeNode, Disposable {
@Nullable
public DirectoryEntry getSVNDirEntry() {
- if (myUserObject instanceof DirectoryEntry) {
- return (DirectoryEntry) myUserObject;
- }
- return null;
+ return myUserObject instanceof DirectoryEntry ? (DirectoryEntry)myUserObject : null;
}
public void dispose() {
@@ -164,35 +164,19 @@ public class RepositoryTreeNode implements TreeNode, Disposable {
@NotNull
public List<TreeNode> getAllAlreadyLoadedChildren() {
- if (myChildren != null) {
- final List<TreeNode> result = new ArrayList<TreeNode>(myChildren.size());
- for (TreeNode child : myChildren) {
- result.add(child);
- }
- return result;
- }
- return Collections.emptyList();
+ return ContainerUtil.newArrayList(myChildren);
}
@NotNull
public List<RepositoryTreeNode> getAlreadyLoadedChildren() {
- if (myChildren != null) {
- final List<RepositoryTreeNode> result = new ArrayList<RepositoryTreeNode>(myChildren.size());
- for (TreeNode child : myChildren) {
- if (child instanceof RepositoryTreeNode) {
- result.add((RepositoryTreeNode) child);
- }
- }
- return result;
- }
- return Collections.emptyList();
+ return ContainerUtil.collect(myChildren.iterator(), FilteringIterator.instanceOf(RepositoryTreeNode.class));
}
public boolean isDisposed() {
return myModel.isDisposed();
}
- public void setChildren(final List<DirectoryEntry> children, final NodeLoadState state) {
+ public void setChildren(@NotNull List<DirectoryEntry> children, @NotNull NodeLoadState state) {
final List<TreeNode> nodes = new ArrayList<TreeNode>();
for (final DirectoryEntry entry : children) {
if (!myModel.isShowFiles() && !entry.isDirectory()) {
@@ -213,19 +197,17 @@ public class RepositoryTreeNode implements TreeNode, Disposable {
}
public void setAlienChildren(final List<TreeNode> children, final NodeLoadState oldState) {
- if (myChildren == null) {
- myChildren = new ArrayList<TreeNode>();
- } else {
- myChildren.clear();
- }
+ myChildren.clear();
for (TreeNode child : children) {
if (child instanceof RepositoryTreeNode) {
((RepositoryTreeNode) child).setParentNode(this);
myChildren.add(child);
myChildrenLoadState = oldState;
- } else if (child instanceof DefaultMutableTreeNode) {
- myChildren.add(new DefaultMutableTreeNode(((DefaultMutableTreeNode) child).getUserObject()));
+ }
+ else if (child instanceof SimpleTextNode) {
+ SimpleTextNode node = (SimpleTextNode)child;
+ myChildren.add(new SimpleTextNode(node.getText(), node.isError()));
myChildrenLoadState = oldState;
}
}
@@ -233,13 +215,9 @@ public class RepositoryTreeNode implements TreeNode, Disposable {
myModel.reload(this);
}
- public void setErrorNode(final String text, final NodeLoadState state) {
- if (myChildren == null) {
- myChildren = new ArrayList<TreeNode>();
- }
+ public void setErrorNode(@NotNull String text) {
myChildren.clear();
- myChildren.add(new DefaultMutableTreeNode(text));
-
+ myChildren.add(new SimpleTextNode(text, true));
myChildrenLoadState = NodeLoadState.ERROR;
myModel.reload(this);
}
@@ -257,24 +235,20 @@ public class RepositoryTreeNode implements TreeNode, Disposable {
return myModel.findByUrl(this);
}
- public RepositoryTreeModel getModel() {
- return myModel;
- }
-
public NodeLoadState getChildrenLoadState() {
return myChildrenLoadState;
}
- public void doOnSubtree(final NotNullFunction<RepositoryTreeNode, Object> function) {
- final SubTreeWalker walker = new SubTreeWalker(this, function);
- walker.execute();
+ public void doOnSubtree(@NotNull NotNullFunction<RepositoryTreeNode, Object> function) {
+ new SubTreeWalker(this, function).execute();
}
private static class SubTreeWalker {
- private final RepositoryTreeNode myNode;
- private final NotNullFunction<RepositoryTreeNode, Object> myFunction;
- private SubTreeWalker(final RepositoryTreeNode node, final NotNullFunction<RepositoryTreeNode, Object> function) {
+ @NotNull private final RepositoryTreeNode myNode;
+ @NotNull private final NotNullFunction<RepositoryTreeNode, Object> myFunction;
+
+ private SubTreeWalker(@NotNull RepositoryTreeNode node, @NotNull NotNullFunction<RepositoryTreeNode, Object> function) {
myNode = node;
myFunction = function;
}
diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/SimpleTextNode.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/SimpleTextNode.java
new file mode 100644
index 000000000000..ce3f0d923252
--- /dev/null
+++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/SimpleTextNode.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2000-2014 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jetbrains.idea.svn.dialogs;
+
+import org.jetbrains.annotations.NotNull;
+
+import javax.swing.tree.DefaultMutableTreeNode;
+
+/**
+ * @author Konstantin Kolosovsky.
+ */
+public class SimpleTextNode extends DefaultMutableTreeNode {
+
+ private final boolean myIsError;
+
+ public SimpleTextNode(@NotNull String text) {
+ this(text, false);
+ }
+
+ public SimpleTextNode(@NotNull String text, boolean isError) {
+ super(text);
+ myIsError = isError;
+ }
+
+ public boolean isError() {
+ return myIsError;
+ }
+
+ @NotNull
+ public String getText() {
+ return (String)getUserObject();
+ }
+}
diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/SvnRepositoryTreeCellRenderer.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/SvnRepositoryTreeCellRenderer.java
index 6ecd89f82fd7..75742303b050 100644
--- a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/SvnRepositoryTreeCellRenderer.java
+++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/SvnRepositoryTreeCellRenderer.java
@@ -15,17 +15,14 @@
*/
package org.jetbrains.idea.svn.dialogs;
-import com.intellij.CommonBundle;
import com.intellij.openapi.fileTypes.FileTypeManager;
import com.intellij.ui.ColoredTreeCellRenderer;
import com.intellij.ui.SimpleTextAttributes;
import com.intellij.util.PlatformIcons;
import com.intellij.util.text.DateFormatUtil;
import org.jetbrains.idea.svn.browse.DirectoryEntry;
-import org.tmatesoft.svn.core.SVNErrorMessage;
import javax.swing.*;
-import javax.swing.tree.DefaultMutableTreeNode;
public class SvnRepositoryTreeCellRenderer extends ColoredTreeCellRenderer {
@@ -56,13 +53,11 @@ public class SvnRepositoryTreeCellRenderer extends ColoredTreeCellRenderer {
? FileTypeManager.getInstance().getFileTypeByFileName(name).getIcon()
: PlatformIcons.DIRECTORY_CLOSED_ICON);
}
- } else if (value instanceof DefaultMutableTreeNode) {
- DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
- if (node.getUserObject() instanceof String) {
- append(CommonBundle.getLoadingTreeNodeText(), SimpleTextAttributes.REGULAR_ATTRIBUTES);
- } else if (node.getUserObject() instanceof SVNErrorMessage) {
- append(node.getUserObject().toString(), SimpleTextAttributes.ERROR_ATTRIBUTES);
- }
+ }
+ else if (value instanceof SimpleTextNode) {
+ SimpleTextNode node = (SimpleTextNode)value;
+
+ append(node.getText(), node.isError() ? SimpleTextAttributes.ERROR_ATTRIBUTES : SimpleTextAttributes.REGULAR_ATTRIBUTES);
}
}
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 d80efb97a123..f8553d5c66c3 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
@@ -16,6 +16,7 @@
package org.jetbrains.idea.svn.dialogs.browserCache;
import com.intellij.openapi.components.ServiceManager;
+import org.jetbrains.annotations.NotNull;
import org.jetbrains.idea.svn.browse.DirectoryEntry;
import org.jetbrains.idea.svn.dialogs.RepositoryTreeNode;
@@ -23,7 +24,8 @@ import javax.swing.*;
import java.util.List;
public class CacheLoader extends Loader {
- private final Loader myRepositoryLoader;
+
+ @NotNull private final Loader myRepositoryLoader;
public static Loader getInstance() {
return ServiceManager.getService(Loader.class);
@@ -34,7 +36,7 @@ public class CacheLoader extends Loader {
myRepositoryLoader = new RepositoryLoader(myCache);
}
- public void load(final RepositoryTreeNode node, final Expander expander) {
+ public void load(@NotNull final RepositoryTreeNode node, @NotNull final Expander expander) {
SwingUtilities.invokeLater(new Runnable(){
public void run() {
final String nodeUrl = node.getURL().toString();
@@ -53,15 +55,8 @@ public class CacheLoader extends Loader {
});
}
- public void forceRefresh(final String repositoryRootUrl) {
- myCache.clear(repositoryRootUrl);
- }
-
+ @NotNull
protected NodeLoadState getNodeLoadState() {
return NodeLoadState.CACHED;
}
-
- public Loader getRepositoryLoader() {
- return myRepositoryLoader;
- }
}
diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/browserCache/Loader.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/browserCache/Loader.java
index ab2b6ddb67f3..62d7ec10024a 100644
--- a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/browserCache/Loader.java
+++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/browserCache/Loader.java
@@ -15,51 +15,52 @@
*/
package org.jetbrains.idea.svn.dialogs.browserCache;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import org.jetbrains.idea.svn.browse.DirectoryEntry;
import org.jetbrains.idea.svn.dialogs.RepositoryTreeNode;
import java.util.List;
public abstract class Loader {
- protected final SvnRepositoryCache myCache;
- protected Loader(final SvnRepositoryCache cache) {
+ @NotNull protected final SvnRepositoryCache myCache;
+
+ protected Loader(@NotNull SvnRepositoryCache cache) {
myCache = cache;
}
- public abstract void load(final RepositoryTreeNode node, final Expander afterRefreshExpander);
- public abstract void forceRefresh(final String repositoryRootUrl);
+ public abstract void load(@NotNull RepositoryTreeNode node, @NotNull Expander afterRefreshExpander);
+
+ @NotNull
protected abstract NodeLoadState getNodeLoadState();
- protected void refreshNodeError(final RepositoryTreeNode node, final String text) {
- if (node.isDisposed()) {
- return;
- }
- final RepositoryTreeNode existingNode = node.getNodeWithSamePathUnderModelRoot();
- if (existingNode == null) {
- return;
- }
- if (existingNode.isDisposed()) {
- return;
- }
+ protected void refreshNodeError(@NotNull RepositoryTreeNode node, @NotNull String text) {
+ RepositoryTreeNode existingNode = findExistingNode(node);
- existingNode.setErrorNode(text, getNodeLoadState());
+ if (existingNode != null) {
+ existingNode.setErrorNode(text);
+ }
}
- protected void refreshNode(final RepositoryTreeNode node, final List<DirectoryEntry> data, final Expander expander) {
- if (node.isDisposed()) {
- return;
- }
- final RepositoryTreeNode existingNode = node.getNodeWithSamePathUnderModelRoot();
- if (existingNode == null) {
- return;
+ protected void refreshNode(@NotNull RepositoryTreeNode node, @NotNull List<DirectoryEntry> data, @NotNull Expander expander) {
+ RepositoryTreeNode existingNode = findExistingNode(node);
+
+ if (existingNode != null) {
+ expander.onBeforeRefresh(existingNode);
+ existingNode.setChildren(data, getNodeLoadState());
+ expander.onAfterRefresh(existingNode);
}
+ }
- if (existingNode.isDisposed()) {
- return;
+ @Nullable
+ private static RepositoryTreeNode findExistingNode(@NotNull RepositoryTreeNode node) {
+ RepositoryTreeNode result = null;
+
+ if (!node.isDisposed()) {
+ result = node.getNodeWithSamePathUnderModelRoot();
}
- expander.onBeforeRefresh(existingNode);
- existingNode.setChildren(data, getNodeLoadState());
- expander.onAfterRefresh(existingNode);
+
+ return result == null || result.isDisposed() ? null : result;
}
}
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 319699cfc1b8..6786d8648300 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
@@ -21,6 +21,7 @@ import com.intellij.openapi.progress.EmptyProgressIndicator;
import com.intellij.openapi.progress.ProgressManager;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.vcs.VcsException;
+import com.intellij.util.containers.ContainerUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.idea.svn.SvnVcs;
import org.jetbrains.idea.svn.api.Depth;
@@ -28,26 +29,29 @@ import org.jetbrains.idea.svn.auth.SvnAuthenticationProvider;
import org.jetbrains.idea.svn.browse.DirectoryEntry;
import org.jetbrains.idea.svn.browse.DirectoryEntryConsumer;
import org.jetbrains.idea.svn.dialogs.RepositoryTreeNode;
-import org.tmatesoft.svn.core.*;
+import org.tmatesoft.svn.core.SVNException;
import org.tmatesoft.svn.core.wc.SVNRevision;
import org.tmatesoft.svn.core.wc2.SvnTarget;
import javax.swing.*;
-import java.util.*;
+import java.util.Collection;
+import java.util.List;
+import java.util.Queue;
+import java.util.TreeSet;
class RepositoryLoader extends Loader {
// may be several requests if: several same-level nodes are expanded simultaneosly; or browser can be opening into some expanded state
- private final Queue<Pair<RepositoryTreeNode, Expander>> myLoadQueue;
+ @NotNull private final Queue<Pair<RepositoryTreeNode, Expander>> myLoadQueue;
private boolean myQueueProcessorActive;
- RepositoryLoader(final SvnRepositoryCache cache) {
+ RepositoryLoader(@NotNull SvnRepositoryCache cache) {
super(cache);
- myLoadQueue = new LinkedList<Pair<RepositoryTreeNode, Expander>>();
+ myLoadQueue = ContainerUtil.newLinkedList();
myQueueProcessorActive = false;
}
- public void load(final RepositoryTreeNode node, final Expander afterRefreshExpander) {
+ public void load(@NotNull RepositoryTreeNode node, @NotNull Expander afterRefreshExpander) {
ApplicationManager.getApplication().assertIsDispatchThread();
final Pair<RepositoryTreeNode, Expander> data = Pair.create(node, afterRefreshExpander);
@@ -59,12 +63,12 @@ class RepositoryLoader extends Loader {
}
}
- private void setResults(final Pair<RepositoryTreeNode, Expander> data, final List<DirectoryEntry> children) {
+ private void setResults(@NotNull Pair<RepositoryTreeNode, Expander> data, @NotNull List<DirectoryEntry> children) {
myCache.put(data.first.getURL().toString(), children);
refreshNode(data.first, children, data.second);
}
- private void setError(final Pair<RepositoryTreeNode, Expander> data, final String message) {
+ private void setError(@NotNull Pair<RepositoryTreeNode, Expander> data, @NotNull String message) {
myCache.put(data.first.getURL().toString(), message);
refreshNodeError(data.first, message);
}
@@ -85,7 +89,7 @@ class RepositoryLoader extends Loader {
}
}
- private void startLoadTask(final Pair<RepositoryTreeNode, Expander> data) {
+ private void startLoadTask(@NotNull final Pair<RepositoryTreeNode, Expander> data) {
final ModalityState state = ModalityState.current();
ApplicationManager.getApplication().executeOnPooledThread(new Runnable() {
@Override
@@ -101,18 +105,16 @@ class RepositoryLoader extends Loader {
});
}
- public void forceRefresh(final String repositoryRootUrl) {
- // ? remove
- }
-
+ @NotNull
protected NodeLoadState getNodeLoadState() {
return NodeLoadState.REFRESHED;
}
private class LoadTask implements Runnable {
- private final Pair<RepositoryTreeNode, Expander> myData;
- private LoadTask(final Pair<RepositoryTreeNode, Expander> data) {
+ @NotNull private final Pair<RepositoryTreeNode, Expander> myData;
+
+ private LoadTask(@NotNull Pair<RepositoryTreeNode, Expander> data) {
myData = data;
}
@@ -147,7 +149,7 @@ class RepositoryLoader extends Loader {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
- setResults(myData, new ArrayList<DirectoryEntry>(entries));
+ setResults(myData, ContainerUtil.newArrayList(entries));
startNext();
}
});