From 37900bfdb3a335284608e4f35cb47644f34f7997 Mon Sep 17 00:00:00 2001 From: Konstantin Kolosovsky Date: Sat, 18 Mar 2017 14:58:43 +0300 Subject: [PATCH] Replace "ObjectsConvertor" usages with "ContainerUtil" alternatives --- .../openapi/vcs/ObjectsConvertor.java | 56 ++++++------------- .../patch/ApplyPatchDifferentiatedDialog.java | 12 ++-- .../vcs/changes/patch/MatchPatchPaths.java | 18 +----- .../vcs/impl/projectlevelman/NewMappings.java | 27 ++++----- .../update/AbstractCommonUpdateAction.java | 4 +- .../changes/GitOutgoingChangesProvider.java | 16 +++--- .../history/browser/GitHeavyCommit.java | 11 ---- .../HgWorkingCopyRevisionsCommand.java | 4 +- .../zmlx/hg4idea/provider/HgDiffProvider.java | 3 +- .../idea/svn/SvnFileSystemListener.java | 14 ++--- .../jetbrains/idea/svn/SvnRootsDetector.java | 5 +- .../src/org/jetbrains/idea/svn/SvnVcs.java | 3 +- .../SvnBranchConfigurationNew.java | 4 +- .../idea/svn/dialogs/CopiesPanel.java | 7 +-- 14 files changed, 65 insertions(+), 119 deletions(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/ObjectsConvertor.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/ObjectsConvertor.java index cf118ab7280a..cc225eddd139 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/ObjectsConvertor.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/ObjectsConvertor.java @@ -16,57 +16,35 @@ package com.intellij.openapi.vcs; import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.util.NotNullFunction; +import com.intellij.util.Function; import com.intellij.util.containers.Convertor; import com.intellij.vcsUtil.VcsUtil; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import java.util.ArrayList; import java.util.Collection; import java.util.List; +import static com.intellij.util.containers.ContainerUtil.map; + public class ObjectsConvertor { - public static final Convertor FILEPATH_TO_VIRTUAL = new Convertor() { - public VirtualFile convert(FilePath fp) { - return fp.getVirtualFile(); - } - }; - - public static final Convertor VIRTUAL_FILEPATH = new Convertor() { - public FilePath convert(VirtualFile vf) { - return VcsUtil.getFilePath(vf); - } - }; - - public static final NotNullFunction NOT_NULL = new NotNullFunction() { - @NotNull - public Boolean fun(final Object o) { - return o != null; - } - }; - - public static List fp2vf(@NotNull final Collection in) { - return convert(in, FILEPATH_TO_VIRTUAL); + @NotNull + public static List fp2vf(@NotNull Collection in) { + return map(in, FilePath::getVirtualFile); } - public static List vf2fp(@NotNull final List in) { - return convert(in, VIRTUAL_FILEPATH); + @NotNull + public static List vf2fp(@NotNull List in) { + return map(in, VcsUtil::getFilePath); } - public static List convert(@NotNull final Collection in, final Convertor convertor) { - return convert(in, convertor, null); - } - - public static List convert(@NotNull final Collection in, final Convertor convertor, - @Nullable final NotNullFunction outFilter) { - final List out = new ArrayList<>(); - for (T t : in) { - final S converted = convertor.convert(t); - if ((outFilter != null) && (! Boolean.TRUE.equals(outFilter.fun(converted)))) continue; - out.add(converted); - } - return out; + /** + * @deprecated Use {@link com.intellij.util.containers.ContainerUtil#map(Collection, Function)} + */ + @SuppressWarnings("unused") // Required for compatibility with external plugins. + @Deprecated + @NotNull + public static List convert(@NotNull Collection in, @NotNull Convertor convertor) { + return map(in, convertor::convert); } } diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/ApplyPatchDifferentiatedDialog.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/ApplyPatchDifferentiatedDialog.java index 0d57cd90b640..722cf9e9aefc 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/ApplyPatchDifferentiatedDialog.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/ApplyPatchDifferentiatedDialog.java @@ -47,7 +47,6 @@ import com.intellij.openapi.util.*; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vcs.FilePath; import com.intellij.openapi.vcs.FileStatus; -import com.intellij.openapi.vcs.ObjectsConvertor; import com.intellij.openapi.vcs.VcsBundle; import com.intellij.openapi.vcs.changes.Change; import com.intellij.openapi.vcs.changes.ChangeListManager; @@ -82,6 +81,7 @@ import java.util.List; import java.util.concurrent.atomic.AtomicReference; import static com.intellij.ui.SimpleTextAttributes.STYLE_PLAIN; +import static com.intellij.util.containers.ContainerUtil.map; public class ApplyPatchDifferentiatedDialog extends DialogWrapper { @@ -567,7 +567,7 @@ public class ApplyPatchDifferentiatedDialog extends DialogWrapper { @Override protected List getSelectedObjects(ChangesBrowserNode node) { final List under = node.getAllChangesUnder(); - return ObjectsConvertor.convert(under, o -> (AbstractFilePatchInProgress.PatchChange)o); + return map(under, AbstractFilePatchInProgress.PatchChange.class::cast); } @Override @@ -689,8 +689,7 @@ public class ApplyPatchDifferentiatedDialog extends DialogWrapper { } private List getAllChanges() { - return ObjectsConvertor.convert(myPatches, - AbstractFilePatchInProgress::getChange); + return map(myPatches, AbstractFilePatchInProgress::getChange); } private static void acceptChange(final NamedLegendStatuses nameStatuses, final AbstractFilePatchInProgress.PatchChange change) { @@ -790,7 +789,7 @@ public class ApplyPatchDifferentiatedDialog extends DialogWrapper { } private static List changes2patches(final List selectedChanges) { - return ObjectsConvertor.convert(selectedChanges, AbstractFilePatchInProgress.PatchChange::getPatchInProgress); + return map(selectedChanges, AbstractFilePatchInProgress.PatchChange::getPatchInProgress); } private class MapPopup extends BaseListPopupStep { @@ -980,8 +979,7 @@ public class ApplyPatchDifferentiatedDialog extends DialogWrapper { } private Collection getIncluded() { - return ObjectsConvertor.convert(myChangesTreeList.getIncludedChanges(), - AbstractFilePatchInProgress.PatchChange::getPatchInProgress); + return map(myChangesTreeList.getIncludedChanges(), AbstractFilePatchInProgress.PatchChange::getPatchInProgress); } @Nullable diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/MatchPatchPaths.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/MatchPatchPaths.java index d70decdf8e3e..ce5a89332f08 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/MatchPatchPaths.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/MatchPatchPaths.java @@ -24,7 +24,6 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Computable; import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.io.FileUtil; -import com.intellij.openapi.vcs.ObjectsConvertor; import com.intellij.openapi.vcs.changes.shelf.ShelveChangesManager; import com.intellij.openapi.vcs.changes.shelf.ShelvedBinaryFilePatch; import com.intellij.openapi.vfs.VfsUtil; @@ -32,7 +31,6 @@ import com.intellij.openapi.vfs.VfsUtilCore; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.ArrayUtil; import com.intellij.util.containers.ContainerUtil; -import com.intellij.util.containers.Convertor; import com.intellij.util.containers.MultiMap; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -45,6 +43,7 @@ import java.util.Iterator; import java.util.List; import static com.intellij.openapi.vcs.changes.patch.AutoMatchStrategy.processStipUp; +import static com.intellij.util.containers.ContainerUtil.mapNotNull; public class MatchPatchPaths { private static final int BIG_FILE_BOUND = 100000; @@ -186,13 +185,7 @@ public class MatchPatchPaths { } else { //files order is not defined, so get the best variant depends on it, too - final List variants = - ObjectsConvertor.convert(files, new Convertor() { - @Override - public AbstractFilePatchInProgress convert(VirtualFile o) { - return processMatch(patch, o); - } - }, ObjectsConvertor.NOT_NULL); + List variants = mapNotNull(files, file -> processMatch(patch, file)); if (variants.isEmpty()) { newOrWithoutMatches.add(patch); // just to be sure } @@ -217,12 +210,7 @@ public class MatchPatchPaths { private static void putSelected(@NotNull MultiMap result, @NotNull final List variants, @NotNull AbstractFilePatchInProgress patchInProgress) { - patchInProgress.setAutoBases(ObjectsConvertor.convert(variants, new Convertor() { - @Override - public VirtualFile convert(AbstractFilePatchInProgress o) { - return o.getBase(); - } - }, ObjectsConvertor.NOT_NULL)); + patchInProgress.setAutoBases(mapNotNull(variants, AbstractFilePatchInProgress::getBase)); result.putValue(patchInProgress.getBase(), patchInProgress); } diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/projectlevelman/NewMappings.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/projectlevelman/NewMappings.java index 024f698daf03..f869bc9845e3 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/projectlevelman/NewMappings.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/projectlevelman/NewMappings.java @@ -33,6 +33,7 @@ import com.intellij.openapi.vcs.ui.VcsBalloonProblemNotifier; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.ArrayUtil; +import com.intellij.util.Functions; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.Convertor; import com.intellij.util.containers.MultiMap; @@ -41,6 +42,9 @@ import org.jetbrains.annotations.Nullable; import java.util.*; +import static com.intellij.util.containers.ContainerUtil.map; +import static com.intellij.util.containers.ContainerUtil.mapNotNull; + public class NewMappings { public static final Comparator MAPPINGS_COMPARATOR = Comparator.comparing(VcsDirectoryMapping::getDirectory); @@ -364,16 +368,13 @@ public class NewMappings { final String vcsName = iterator.next(); final Collection mappings = myVcsToPaths.get(vcsName); - final List> objects = ObjectsConvertor.convert(mappings, - new Convertor>() { - public Pair convert(final VcsDirectoryMapping dm) { - VirtualFile vf = lfs.findFileByPath(dm.getDirectory()); - if (vf == null) { - vf = lfs.refreshAndFindFileByPath(dm.getDirectory()); - } - return vf == null ? null : Pair.create(vf, dm); + List> objects = mapNotNull(mappings, dm -> { + VirtualFile vf = lfs.findFileByPath(dm.getDirectory()); + if (vf == null) { + vf = lfs.refreshAndFindFileByPath(dm.getDirectory()); } - }, ObjectsConvertor.NOT_NULL); + return vf == null ? null : Pair.create(vf, dm); + }); final List> filteredFiles; // todo static @@ -395,13 +396,7 @@ public class NewMappings { filteredFiles = vcs.filterUniqueRoots(objects, fileConvertor); } - final List filteredMappings = - ObjectsConvertor.convert(filteredFiles, new Convertor, VcsDirectoryMapping>() { - public VcsDirectoryMapping convert(final Pair o) { - return o.getSecond(); - } - }); - + List filteredMappings = map(filteredFiles, Functions.pairSecond()); // to calculate what had been removed mappings.removeAll(filteredMappings); diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/update/AbstractCommonUpdateAction.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/update/AbstractCommonUpdateAction.java index 697265d66e40..f2d94d43e5e3 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/update/AbstractCommonUpdateAction.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/update/AbstractCommonUpdateAction.java @@ -186,8 +186,8 @@ public abstract class AbstractCommonUpdateAction extends AbstractVcsAction { final Map> result = new THashMap<>(); for (Map.Entry> entry : resultPrep.entrySet()) { - AbstractVcs vcs = entry.getKey(); - result.put(vcs, vcs.filterUniqueRoots(new ArrayList<>(entry.getValue()), ObjectsConvertor.FILEPATH_TO_VIRTUAL)); + AbstractVcs vcs = entry.getKey(); + result.put(vcs, vcs.filterUniqueRoots(new ArrayList<>(entry.getValue()), FilePath::getVirtualFile)); } return result; } diff --git a/plugins/git4idea/src/git4idea/changes/GitOutgoingChangesProvider.java b/plugins/git4idea/src/git4idea/changes/GitOutgoingChangesProvider.java index 3af606927234..e61a27b747dc 100644 --- a/plugins/git4idea/src/git4idea/changes/GitOutgoingChangesProvider.java +++ b/plugins/git4idea/src/git4idea/changes/GitOutgoingChangesProvider.java @@ -18,13 +18,15 @@ package git4idea.changes; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Pair; -import com.intellij.openapi.vcs.*; +import com.intellij.openapi.vcs.FilePath; +import com.intellij.openapi.vcs.ProjectLevelVcsManager; +import com.intellij.openapi.vcs.VcsException; +import com.intellij.openapi.vcs.VcsOutgoingChangesProvider; import com.intellij.openapi.vcs.changes.Change; import com.intellij.openapi.vcs.history.VcsRevisionNumber; import com.intellij.openapi.vcs.versionBrowser.CommittedChangeList; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.Consumer; -import com.intellij.util.containers.Convertor; import com.intellij.vcsUtil.VcsUtil; import git4idea.GitBranch; import git4idea.GitBranchesSearcher; @@ -38,6 +40,9 @@ import org.jetbrains.annotations.Nullable; import java.util.*; +import static com.intellij.util.Functions.identity; +import static com.intellij.util.containers.ContainerUtil.map; + public class GitOutgoingChangesProvider implements VcsOutgoingChangesProvider { private final static Logger LOG = Logger.getInstance("#git4idea.changes.GitOutgoingChangesProvider"); private final Project myProject; @@ -62,12 +67,7 @@ public class GitOutgoingChangesProvider implements VcsOutgoingChangesProvider(base, ObjectsConvertor.convert(lists, new Convertor() { - @Override - public CommittedChangeList convert(GitCommittedChangeList o) { - return o; - } - })); + return new Pair<>(base, map(lists, identity())); } @Nullable diff --git a/plugins/git4idea/src/git4idea/history/browser/GitHeavyCommit.java b/plugins/git4idea/src/git4idea/history/browser/GitHeavyCommit.java index dfa06bab4a46..3bad1c2d43d6 100644 --- a/plugins/git4idea/src/git4idea/history/browser/GitHeavyCommit.java +++ b/plugins/git4idea/src/git4idea/history/browser/GitHeavyCommit.java @@ -16,10 +16,8 @@ package git4idea.history.browser; import com.intellij.openapi.vcs.FilePath; -import com.intellij.openapi.vcs.ObjectsConvertor; import com.intellij.openapi.vcs.changes.Change; import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.util.containers.Convertor; import git4idea.GitCommit; import git4idea.history.wholeTree.AbstractHash; import org.jetbrains.annotations.NotNull; @@ -227,15 +225,6 @@ public class GitHeavyCommit { myOnTracked = onTracked; } - public List getConvertedParents() { - return ObjectsConvertor.convert(getParentsHashes(), new Convertor() { - @Override - public AbstractHash convert(String o) { - return AbstractHash.create(o); - } - }); - } - public String getSubject() { return mySubject; } diff --git a/plugins/hg4idea/src/org/zmlx/hg4idea/command/HgWorkingCopyRevisionsCommand.java b/plugins/hg4idea/src/org/zmlx/hg4idea/command/HgWorkingCopyRevisionsCommand.java index 4f0a3923a399..61cec1a1237f 100644 --- a/plugins/hg4idea/src/org/zmlx/hg4idea/command/HgWorkingCopyRevisionsCommand.java +++ b/plugins/hg4idea/src/org/zmlx/hg4idea/command/HgWorkingCopyRevisionsCommand.java @@ -17,9 +17,9 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Couple; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vcs.FilePath; -import com.intellij.openapi.vcs.ObjectsConvertor; import com.intellij.openapi.vcs.changes.ChangeListManager; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.vcsUtil.VcsUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.zmlx.hg4idea.HgRevisionNumber; @@ -76,7 +76,7 @@ public class HgWorkingCopyRevisionsCommand { */ @NotNull public Couple parents(@NotNull VirtualFile repo, @Nullable VirtualFile file, @Nullable HgRevisionNumber revision) { - return parents(repo, ObjectsConvertor.VIRTUAL_FILEPATH.convert(file), revision); + return parents(repo, VcsUtil.getFilePath(file), revision); } /** diff --git a/plugins/hg4idea/src/org/zmlx/hg4idea/provider/HgDiffProvider.java b/plugins/hg4idea/src/org/zmlx/hg4idea/provider/HgDiffProvider.java index e8ebb5595e17..e4dd773a4642 100644 --- a/plugins/hg4idea/src/org/zmlx/hg4idea/provider/HgDiffProvider.java +++ b/plugins/hg4idea/src/org/zmlx/hg4idea/provider/HgDiffProvider.java @@ -14,7 +14,6 @@ package org.zmlx.hg4idea.provider; import com.intellij.openapi.project.Project; import com.intellij.openapi.vcs.FilePath; -import com.intellij.openapi.vcs.ObjectsConvertor; import com.intellij.openapi.vcs.changes.ChangeListManager; import com.intellij.openapi.vcs.changes.ContentRevision; import com.intellij.openapi.vcs.diff.DiffProvider; @@ -42,7 +41,7 @@ public class HgDiffProvider implements DiffProvider { return null; } - FilePath filePath = ObjectsConvertor.VIRTUAL_FILEPATH.convert(file); + FilePath filePath = VcsUtil.getFilePath(file); return new HgWorkingCopyRevisionsCommand(project).parents(vcsRoot, filePath).first; } diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnFileSystemListener.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnFileSystemListener.java index 9b0f5fc040a4..f8d5ae797dcc 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnFileSystemListener.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnFileSystemListener.java @@ -40,8 +40,8 @@ import com.intellij.openapi.vfs.LocalFileOperationsHandler; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.newvfs.RefreshQueue; +import com.intellij.util.Functions; import com.intellij.util.ThrowableConsumer; -import com.intellij.util.containers.Convertor; import com.intellij.util.containers.MultiMap; import com.intellij.vcsUtil.ActionWithTempFile; import com.intellij.vcsUtil.VcsUtil; @@ -63,6 +63,7 @@ import java.io.IOException; import java.util.*; import static com.intellij.openapi.vfs.VfsUtilCore.virtualToIoFile; +import static com.intellij.util.containers.ContainerUtil.map; public class SvnFileSystemListener extends CommandAdapter implements LocalFileOperationsHandler, Disposable { private static final Logger LOG = Logger.getInstance("#org.jetbrains.idea.svn.SvnFileSystemListener"); @@ -897,7 +898,7 @@ public class SvnFileSystemListener extends CommandAdapter implements LocalFileOp if (!filesToProcess.isEmpty()) { runInBackground(project, "Deleting files from Subversion", createDeleteRunnable(project, vcs, filesToProcess, exceptions)); } - final List deletedFilesFiles = ObjectsConvertor.convert(deletedFiles, o -> o.getFirst()); + List deletedFilesFiles = map(deletedFiles, Functions.pairFirst()); for (FilePath file : deletedFilesFiles) { final FilePath parent = file.getParentPath(); if (parent != null) { @@ -946,10 +947,9 @@ public class SvnFileSystemListener extends CommandAdapter implements LocalFileOp SvnVcs vcs, VcsShowConfirmationOption.Value value, AbstractVcsHelper vcsHelper) { - final Convertor, FilePath> convertor = o -> o.getFirst(); Collection filesToProcess; if (value == VcsShowConfirmationOption.Value.DO_ACTION_SILENTLY) { - filesToProcess = ObjectsConvertor.convert(deletedFiles, convertor); + filesToProcess = map(deletedFiles, Functions.pairFirst()); } else { final String singleFilePrompt; @@ -961,9 +961,9 @@ public class SvnFileSystemListener extends CommandAdapter implements LocalFileOp else { singleFilePrompt = SvnBundle.getString("confirmation.text.delete.file"); } - final Collection files = vcsHelper - .selectFilePathsToProcess(ObjectsConvertor.convert(deletedFiles, convertor), SvnBundle.message("confirmation.title.delete.multiple.files"), null, - SvnBundle.message("confirmation.title.delete.file"), singleFilePrompt, vcs.getDeleteConfirmation()); + Collection files = vcsHelper + .selectFilePathsToProcess(map(deletedFiles, Functions.pairFirst()), SvnBundle.message("confirmation.title.delete.multiple.files"), + null, SvnBundle.message("confirmation.title.delete.file"), singleFilePrompt, vcs.getDeleteConfirmation()); filesToProcess = files == null ? null : new ArrayList<>(files); } return filesToProcess; diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnRootsDetector.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnRootsDetector.java index 5503c191e050..828855021b06 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnRootsDetector.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnRootsDetector.java @@ -17,7 +17,6 @@ package org.jetbrains.idea.svn; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.io.FileUtil; -import com.intellij.openapi.vcs.ObjectsConvertor; import com.intellij.openapi.vcs.changes.ChangeListManager; import com.intellij.openapi.vcs.changes.InvokeAfterUpdateMode; import com.intellij.openapi.vfs.VfsUtilCore; @@ -36,6 +35,7 @@ import java.util.List; import java.util.Set; import static com.intellij.openapi.vfs.VfsUtilCore.virtualToIoFile; +import static com.intellij.util.containers.ContainerUtil.map; /** * @author Konstantin Kolosovsky. @@ -92,8 +92,7 @@ public class SvnRootsDetector { } private void addNestedRoots(final boolean clearState, final Runnable callback) { - final List basicVfRoots = ObjectsConvertor.convert(myResult.myTopRoots, real -> real.getVirtualFile()); - + List basicVfRoots = map(myResult.myTopRoots, RootUrlInfo::getVirtualFile); final ChangeListManager clManager = ChangeListManager.getInstance(myVcs.getProject()); if (clearState) { diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnVcs.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnVcs.java index fecb008910d5..f168c31334c6 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnVcs.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnVcs.java @@ -97,6 +97,7 @@ import java.io.File; import java.util.*; import static com.intellij.openapi.vfs.VfsUtilCore.virtualToIoFile; +import static com.intellij.util.containers.ContainerUtil.map; import static java.util.Collections.emptyList; @SuppressWarnings({"IOResourceOpenedButNotSafelyClosed"}) @@ -799,7 +800,7 @@ public class SvnVcs extends AbstractVcs { infos.add(new MyPair<>(vf, url.toString(), s)); } final List> filtered = new UniqueRootsFilter().filter(infos); - final List converted = ObjectsConvertor.convert(filtered, o -> o.getSrc()); + List converted = map(filtered, MyPair::getSrc); if (!notMatched.isEmpty()) { // potential bug is here: order is not kept. but seems it only occurs for cases where result is sorted after filtering so ok converted.addAll(notMatched); diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/branchConfig/SvnBranchConfigurationNew.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/branchConfig/SvnBranchConfigurationNew.java index 7d653be82e6e..db585cdd79c0 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/branchConfig/SvnBranchConfigurationNew.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/branchConfig/SvnBranchConfigurationNew.java @@ -17,7 +17,6 @@ package org.jetbrains.idea.svn.branchConfig; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; -import com.intellij.openapi.vcs.ObjectsConvertor; import com.intellij.openapi.vfs.VirtualFile; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -34,6 +33,7 @@ import java.io.File; import java.util.*; import static com.intellij.openapi.vfs.VfsUtilCore.virtualToIoFile; +import static com.intellij.util.containers.ContainerUtil.map; public class SvnBranchConfigurationNew { private static final Logger LOG = Logger.getInstance("#org.jetbrains.idea.svn.branchConfig.SvnBranchConfigurationNew"); @@ -65,7 +65,7 @@ public class SvnBranchConfigurationNew { public List getBranchUrls() { final ArrayList result = new ArrayList<>(myBranchMap.keySet()); - final List cutList = ObjectsConvertor.convert(result, s -> cutEndSlash(s)); + List cutList = map(result, SvnBranchConfigurationNew::cutEndSlash); Collections.sort(cutList); return cutList; } diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/CopiesPanel.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/CopiesPanel.java index e09efa34a92c..91c77e672ce2 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/CopiesPanel.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/CopiesPanel.java @@ -26,7 +26,6 @@ import com.intellij.openapi.progress.Task; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.Messages; import com.intellij.openapi.util.Comparing; -import com.intellij.openapi.vcs.ObjectsConvertor; import com.intellij.openapi.vcs.VcsException; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; @@ -73,6 +72,7 @@ import java.util.*; import java.util.List; import static com.intellij.notification.NotificationDisplayType.STICKY_BALLOON; +import static com.intellij.util.containers.ContainerUtil.map; import static java.util.Collections.singletonList; public class CopiesPanel { @@ -110,9 +110,8 @@ public class CopiesPanel { final List supportedFormats = getSupportedFormats(); Runnable runnable = () -> { if (myCurrentInfoList != null) { - final List> newList = - ObjectsConvertor - .convert(infoList, o -> new OverrideEqualsWrapper<>(InfoEqualityPolicy.getInstance(), o), ObjectsConvertor.NOT_NULL); + List> newList = + map(infoList, info -> new OverrideEqualsWrapper<>(InfoEqualityPolicy.getInstance(), info)); if (Comparing.haveEqualElements(newList, myCurrentInfoList)) { myRefreshLabel.setEnabled(true);