[vcs] "Add to VCS" action: minor refactoring

Let getUnversionedFiles return not-null list, just empty in case if
there are no unversioned files.
This commit is contained in:
Kirill Likhodedov
2013-03-30 16:58:38 +04:00
parent e5d315d90c
commit d6b86fc73b
@@ -34,7 +34,7 @@ import com.intellij.openapi.vcs.changes.ChangeListManagerImpl;
import com.intellij.openapi.vcs.changes.ui.ChangesListView;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.util.IconUtil;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.List;
@@ -45,7 +45,7 @@ public class ScheduleForAdditionAction extends AnAction implements DumbAware {
}
public void update(AnActionEvent e) {
final boolean enabled = e.getData(PlatformDataKeys.PROJECT) != null && (thereAreUnversionedFiles(e));
final boolean enabled = e.getData(PlatformDataKeys.PROJECT) != null && thereAreUnversionedFiles(e);
e.getPresentation().setEnabled(enabled);
final String place = e.getPlace();
if (ActionPlaces.ACTION_PLACE_VCS_QUICK_LIST_POPUP_ACTION.equals(place) || ActionPlaces.CHANGES_VIEW_POPUP.equals(place) ) {
@@ -55,42 +55,41 @@ public class ScheduleForAdditionAction extends AnAction implements DumbAware {
public void actionPerformed(AnActionEvent e) {
final List<VirtualFile> unversionedFiles = getUnversionedFiles(e);
if (unversionedFiles == null) {
if (unversionedFiles.isEmpty()) {
return;
}
final ChangeListManagerImpl changeListManager = ChangeListManagerImpl.getInstanceImpl(e.getData(PlatformDataKeys.PROJECT));
changeListManager.addUnversionedFiles(changeListManager.getDefaultChangeList(), unversionedFiles);
}
protected boolean thereAreUnversionedFiles(final AnActionEvent e) {
final List<VirtualFile> unversionedFiles = getUnversionedFiles(e);
return unversionedFiles != null && !(unversionedFiles.isEmpty());
private static boolean thereAreUnversionedFiles(AnActionEvent e) {
return !getUnversionedFiles(e).isEmpty();
}
@Nullable
protected List<VirtualFile> getUnversionedFiles(final AnActionEvent e) {
@NotNull
private static List<VirtualFile> getUnversionedFiles(final AnActionEvent e) {
// first get from the ChangeListView
List<VirtualFile> unversionedFiles = e.getData(ChangesListView.UNVERSIONED_FILES_DATA_KEY);
if (unversionedFiles != null && !unversionedFiles.isEmpty()) {
return unversionedFiles;
}
unversionedFiles = new ArrayList<VirtualFile>();
// then get from selection
final VirtualFile[] files = PlatformDataKeys.VIRTUAL_FILE_ARRAY.getData(e.getDataContext());
if (files == null) {
return null;
return unversionedFiles;
}
final Project project = e.getData(PlatformDataKeys.PROJECT);
if (project == null) {
return null;
return unversionedFiles;
}
unversionedFiles = new ArrayList<VirtualFile>(files.length);
for (VirtualFile file : files) {
if (file != null && FileStatusManager.getInstance(project).getStatus(file) == FileStatus.UNKNOWN) {
unversionedFiles.add(file);
}
}
return unversionedFiles.isEmpty() ? null : unversionedFiles;
return unversionedFiles;
}
}