From 47d55ea4e9398c29144bf391bee913b1250af011 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Thu, 6 Sep 2012 18:21:25 +0400 Subject: [PATCH] EA-39010 - IAE: AbstractTreeUi.doSelect --- .../src/com/intellij/ide/util/treeView/AbstractTreeUi.java | 7 ++++--- .../com/intellij/ide/util/treeView/SelectionRequest.java | 4 +++- .../com/intellij/ide/util/treeView/UpdaterTreeState.java | 7 +++++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUi.java b/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUi.java index 3faecccb6f28..6e0c230da31d 100644 --- a/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUi.java +++ b/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUi.java @@ -3834,7 +3834,7 @@ public class AbstractTreeUi { } } - Set toSelect = new HashSet(); + Set toSelect = new THashSet(); clearSelection(); ContainerUtil.addAll(toSelect, elements); if (addToSelection) { @@ -3979,11 +3979,12 @@ public class AbstractTreeUi { } } - public void select(final Object element, @Nullable final Runnable onDone) { + public void select(@Nullable Object element, @Nullable final Runnable onDone) { select(element, onDone, false); } - public void select(final Object element, @Nullable final Runnable onDone, boolean addToSelection) { + public void select(@Nullable Object element, @Nullable final Runnable onDone, boolean addToSelection) { + if (element == null) return; _select(new Object[]{element}, onDone, addToSelection, true, false); } diff --git a/platform/platform-api/src/com/intellij/ide/util/treeView/SelectionRequest.java b/platform/platform-api/src/com/intellij/ide/util/treeView/SelectionRequest.java index 60fad7ec6e5b..d382a9549eb5 100644 --- a/platform/platform-api/src/com/intellij/ide/util/treeView/SelectionRequest.java +++ b/platform/platform-api/src/com/intellij/ide/util/treeView/SelectionRequest.java @@ -15,6 +15,8 @@ */ package com.intellij.ide.util.treeView; +import org.jetbrains.annotations.NotNull; + class SelectionRequest { final Object[] myElements; final Runnable myOnDone; @@ -25,7 +27,7 @@ class SelectionRequest { final boolean myDeferred; final boolean myCanSmartExpand; - SelectionRequest(Object[] elements, + SelectionRequest(@NotNull Object[] elements, Runnable onDone, boolean addToSelection, boolean checkCurrentSelection, diff --git a/platform/platform-api/src/com/intellij/ide/util/treeView/UpdaterTreeState.java b/platform/platform-api/src/com/intellij/ide/util/treeView/UpdaterTreeState.java index 4a6fe05317e3..d8ab18646aee 100644 --- a/platform/platform-api/src/com/intellij/ide/util/treeView/UpdaterTreeState.java +++ b/platform/platform-api/src/com/intellij/ide/util/treeView/UpdaterTreeState.java @@ -21,6 +21,7 @@ import com.intellij.util.ArrayUtil; import com.intellij.util.Function; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NonNls; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import javax.swing.*; @@ -105,15 +106,17 @@ public class UpdaterTreeState { return target; } + @NotNull public Object[] getToSelect() { return myToSelect.keySet().toArray(new Object[myToSelect.size()]); } + @NotNull public Object[] getToExpand() { return myToExpand.keySet().toArray(new Object[myToExpand.size()]); } - public boolean process(Runnable runnable) { + public boolean process(@NotNull Runnable runnable) { try { setProcessingNow(true); runnable.run(); @@ -134,7 +137,7 @@ public class UpdaterTreeState { return myProcessingCount > 0; } - public void addAll(final UpdaterTreeState state) { + public void addAll(@NotNull UpdaterTreeState state) { myToExpand.putAll(state.myToExpand); Object[] toSelect = state.getToSelect();