From da53ded13de7aa7486d0c430ed6f398ec8a63f65 Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Sun, 7 Sep 2014 17:06:44 +0400 Subject: [PATCH] ContainerUtil.notNullize for Set --- .../src/com/intellij/ui/CollectionListModel.java | 1 + .../com/intellij/util/containers/ContainerUtil.java | 10 ++++++++-- .../com/intellij/vcs/log/ui/VcsStructureChooser.java | 1 + .../log/ui/filter/StructureFilterPopupComponent.java | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/platform/platform-api/src/com/intellij/ui/CollectionListModel.java b/platform/platform-api/src/com/intellij/ui/CollectionListModel.java index c301aa3be252..d806eb2e06b8 100644 --- a/platform/platform-api/src/com/intellij/ui/CollectionListModel.java +++ b/platform/platform-api/src/com/intellij/ui/CollectionListModel.java @@ -103,6 +103,7 @@ public class CollectionListModel extends AbstractListModel implements Editabl Collections.sort(myItems, comparator); } + @NotNull public List getItems() { return Collections.unmodifiableList(myItems); } diff --git a/platform/util/src/com/intellij/util/containers/ContainerUtil.java b/platform/util/src/com/intellij/util/containers/ContainerUtil.java index 821cf5122903..213ae8ef4bc0 100644 --- a/platform/util/src/com/intellij/util/containers/ContainerUtil.java +++ b/platform/util/src/com/intellij/util/containers/ContainerUtil.java @@ -2274,9 +2274,15 @@ public class ContainerUtil extends ContainerUtilRt { @NotNull @Contract(pure=true) - public static > C notNullize(@Nullable C collection) { + public static List notNullize(@Nullable List list) { + return list == null ? ContainerUtilRt.emptyList() : list; + } + + @NotNull + @Contract(pure=true) + public static Set notNullize(@Nullable Set set) { //noinspection unchecked - return collection == null ? (C)ContainerUtilRt.emptyList() : collection; + return set == null ? Collections.emptySet() : set; } @Nullable diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsStructureChooser.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsStructureChooser.java index 34c638088476..0078669cd811 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsStructureChooser.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsStructureChooser.java @@ -126,6 +126,7 @@ public class VcsStructureChooser extends DialogWrapper { return myModulesSet; } + @NotNull public Collection getSelectedFiles() { return ((CollectionListModel) mySelectedList.getModel()).getItems(); } diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/filter/StructureFilterPopupComponent.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/filter/StructureFilterPopupComponent.java index c134b1aa330d..3140d647795f 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/filter/StructureFilterPopupComponent.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/filter/StructureFilterPopupComponent.java @@ -101,7 +101,7 @@ class StructureFilterPopupComponent extends FilterPopupComponent(myRoots)); if (chooser.showAndGet()) { myFiles.clear(); - myFiles.addAll(ContainerUtil.notNullize(chooser.getSelectedFiles())); + myFiles.addAll(chooser.getSelectedFiles()); setValue(myFiles); applyFilters(); }