svn: Refactored "QuickMergeTestInteraction" and inheritors

This commit is contained in:
Konstantin Kolosovsky
2016-10-11 04:28:23 +03:00
parent 997e9b5e9b
commit 3aca4d55bb
2 changed files with 25 additions and 62 deletions
@@ -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<Exception> myExceptions;
private final List<Exception> 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<CommittedChangeList> 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<VcsException> 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);
}
}
}
@@ -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<String> 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<CommittedChangeList> showRecentListsForSelection(@NotNull List<CommittedChangeList> 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<String> 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<CommittedChangeList> showRecentListsForSelection(@NotNull List<CommittedChangeList> 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<CommittedChangeList> 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