From 3aca4d55bb48a57c263aec91a2975f9de383a0e7 Mon Sep 17 00:00:00 2001 From: Konstantin Kolosovsky Date: Sun, 25 Sep 2016 19:19:15 +0300 Subject: [PATCH] svn: Refactored "QuickMergeTestInteraction" and inheritors --- .../idea/svn/QuickMergeTestInteraction.java | 53 +++++++------------ .../jetbrains/idea/svn/SvnQuickMergeTest.java | 34 +++--------- 2 files changed, 25 insertions(+), 62 deletions(-) diff --git a/plugins/svn4idea/testSource/org/jetbrains/idea/svn/QuickMergeTestInteraction.java b/plugins/svn4idea/testSource/org/jetbrains/idea/svn/QuickMergeTestInteraction.java index 6cd5a6b81636..c6a271df4eb0 100644 --- a/plugins/svn4idea/testSource/org/jetbrains/idea/svn/QuickMergeTestInteraction.java +++ b/plugins/svn4idea/testSource/org/jetbrains/idea/svn/QuickMergeTestInteraction.java @@ -20,31 +20,26 @@ import com.intellij.openapi.vcs.VcsException; import com.intellij.openapi.vcs.versionBrowser.CommittedChangeList; import com.intellij.util.PairConsumer; import org.jetbrains.annotations.NotNull; -import org.jetbrains.idea.svn.integrate.LocalChangesAction; import org.jetbrains.idea.svn.dialogs.MergeDialogI; +import org.jetbrains.idea.svn.integrate.LocalChangesAction; import org.jetbrains.idea.svn.integrate.QuickMergeContentsVariants; import org.jetbrains.idea.svn.integrate.QuickMergeInteraction; import org.jetbrains.idea.svn.mergeinfo.MergeChecker; -import java.util.ArrayList; import java.util.List; -/** - * Created with IntelliJ IDEA. - * User: Irina.Chernushina - * Date: 3/27/13 - * Time: 6:56 PM - */ +import static com.intellij.util.containers.ContainerUtil.isEmpty; +import static com.intellij.util.containers.ContainerUtil.newArrayList; + public class QuickMergeTestInteraction implements QuickMergeInteraction { + private QuickMergeContentsVariants myMergeVariant = QuickMergeContentsVariants.all; - private boolean myReintegrateAnswer = false; - private LocalChangesAction myLocalChangesAction = LocalChangesAction.continueMerge; - private QuickMergeContentsVariants mySelectMergeAction2ndStep = QuickMergeContentsVariants.all; + private final boolean myReintegrateAnswer; + @NotNull private final List myExceptions; - private final List myExceptions; - - public QuickMergeTestInteraction() { - myExceptions = new ArrayList<>(); + public QuickMergeTestInteraction(boolean reintegrate) { + myReintegrateAnswer = reintegrate; + myExceptions = newArrayList(); } @Override @@ -62,7 +57,6 @@ public class QuickMergeTestInteraction implements QuickMergeInteraction { @Override public boolean shouldContinueSwitchedRootFound() { - // not gonna test this at the moment return false; } @@ -71,21 +65,13 @@ public class QuickMergeTestInteraction implements QuickMergeInteraction { return myReintegrateAnswer; } - public void setReintegrateAnswer(boolean reintegrateAnswer) { - myReintegrateAnswer = reintegrateAnswer; - } - - public void setSelectMergeAction2ndStep(QuickMergeContentsVariants selectMergeAction2ndStep) { - mySelectMergeAction2ndStep = selectMergeAction2ndStep; - } - @NotNull @Override public SelectMergeItemsResult selectMergeItems(List lists, String mergeTitle, MergeChecker mergeChecker) { return new SelectMergeItemsResult() { @Override public QuickMergeContentsVariants getResultCode() { - return mySelectMergeAction2ndStep; + return QuickMergeContentsVariants.all; } @Override @@ -107,11 +93,7 @@ public class QuickMergeTestInteraction implements QuickMergeInteraction { @NotNull @Override public LocalChangesAction selectLocalChangesAction(boolean mergeAll) { - return myLocalChangesAction; - } - - public void setLocalChangesAction(LocalChangesAction localChangesAction) { - myLocalChangesAction = localChangesAction; + return LocalChangesAction.continueMerge; } @Override @@ -125,11 +107,12 @@ public class QuickMergeTestInteraction implements QuickMergeInteraction { @Override public void showErrors(String message, List exceptions) { - if (exceptions != null && ! exceptions.isEmpty()) { + if (!isEmpty(exceptions)) { myExceptions.addAll(exceptions); - return; } - myExceptions.add(new RuntimeException(message)); + else { + myExceptions.add(new RuntimeException(message)); + } } @Override @@ -142,8 +125,8 @@ public class QuickMergeTestInteraction implements QuickMergeInteraction { } public void throwIfExceptions() throws Exception { - for (Exception exception : myExceptions) { - throw exception; + if (!myExceptions.isEmpty()) { + throw myExceptions.get(0); } } } diff --git a/plugins/svn4idea/testSource/org/jetbrains/idea/svn/SvnQuickMergeTest.java b/plugins/svn4idea/testSource/org/jetbrains/idea/svn/SvnQuickMergeTest.java index 44c528aeae66..97086045b001 100644 --- a/plugins/svn4idea/testSource/org/jetbrains/idea/svn/SvnQuickMergeTest.java +++ b/plugins/svn4idea/testSource/org/jetbrains/idea/svn/SvnQuickMergeTest.java @@ -38,8 +38,8 @@ import org.jetbrains.idea.svn.branchConfig.InfoReliability; import org.jetbrains.idea.svn.branchConfig.InfoStorage; import org.jetbrains.idea.svn.branchConfig.SvnBranchConfigurationManager; import org.jetbrains.idea.svn.branchConfig.SvnBranchConfigurationNew; -import org.jetbrains.idea.svn.dialogs.*; -import org.jetbrains.idea.svn.branchConfig.SvnBranchItem; +import org.jetbrains.idea.svn.dialogs.MergeDialogI; +import org.jetbrains.idea.svn.dialogs.WCInfo; import org.jetbrains.idea.svn.integrate.MergeContext; import org.jetbrains.idea.svn.integrate.QuickMerge; import org.jetbrains.idea.svn.integrate.QuickMergeContentsVariants; @@ -110,12 +110,7 @@ public class SvnQuickMergeTest extends Svn17TestCase { final QuickMerge quickMerge = newQuickMerge(myBranchUrl); // by default merges all - final QuickMergeTestInteraction testInteraction = new QuickMergeTestInteraction() { - @Override - public boolean shouldReintegrate(@NotNull String sourceUrl, @NotNull String targetUrl) { - return true; - } - }; + QuickMergeTestInteraction testInteraction = new QuickMergeTestInteraction(true); final WaitingTaskDescriptor descriptor = new WaitingTaskDescriptor(); ApplicationManager.getApplication().invokeLater(new Runnable() { @Override @@ -176,12 +171,7 @@ public class SvnQuickMergeTest extends Svn17TestCase { final QuickMerge quickMerge = newQuickMerge(myBranchUrl); // by default merges all final AtomicReference selectionError = new AtomicReference<>(); - final QuickMergeTestInteraction testInteraction = new QuickMergeTestInteraction() { - @Override - public boolean shouldReintegrate(@NotNull String sourceUrl, @NotNull String targetUrl) { - return true; - } - + QuickMergeTestInteraction testInteraction = new QuickMergeTestInteraction(true) { @Override public List showRecentListsForSelection(@NotNull List list, @NotNull String mergeTitle, @@ -268,12 +258,7 @@ public class SvnQuickMergeTest extends Svn17TestCase { final QuickMerge quickMerge = newQuickMerge(myRepoUrl + "/branches/b2"); // by default merges all final AtomicReference selectionError = new AtomicReference<>(); - final QuickMergeTestInteraction testInteraction = new QuickMergeTestInteraction() { - @Override - public boolean shouldReintegrate(@NotNull String sourceUrl, @NotNull String targetUrl) { - return true; - } - + QuickMergeTestInteraction testInteraction = new QuickMergeTestInteraction(true) { @Override public List showRecentListsForSelection(@NotNull List list, @NotNull String mergeTitle, @@ -341,12 +326,7 @@ public class SvnQuickMergeTest extends Svn17TestCase { final QuickMerge quickMerge = newQuickMerge(myBranchUrl); // by default merges all - final QuickMergeTestInteraction testInteraction = new QuickMergeTestInteraction() { - @Override - public boolean shouldReintegrate(@NotNull String sourceUrl, @NotNull String targetUrl) { - return true; - } - + QuickMergeTestInteraction testInteraction = new QuickMergeTestInteraction(true) { @NotNull @Override public SelectMergeItemsResult selectMergeItems(final List lists, @@ -431,7 +411,7 @@ public class SvnQuickMergeTest extends Svn17TestCase { refreshSvnMappingsSynchronously(); final QuickMerge quickMerge = newQuickMerge(trunkUrl); // by default merges all - final QuickMergeTestInteraction testInteraction = new QuickMergeTestInteraction(); + QuickMergeTestInteraction testInteraction = new QuickMergeTestInteraction(false); final WaitingTaskDescriptor descriptor = new WaitingTaskDescriptor(); ApplicationManager.getApplication().invokeLater(new Runnable() { @Override