svn: Refactored AutoSvnUpdater - utility method to run svn updates

This commit is contained in:
Konstantin Kolosovsky
2014-03-03 22:37:58 +04:00
parent 97e7cebe62
commit ee584cefba
2 changed files with 18 additions and 12 deletions
@@ -15,10 +15,6 @@
*/
package org.jetbrains.idea.svn.checkin;
import com.intellij.ide.DataManager;
import com.intellij.openapi.actionSystem.ActionManager;
import com.intellij.openapi.actionSystem.ActionPlaces;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ModalityState;
import com.intellij.openapi.project.Project;
@@ -38,14 +34,12 @@ import com.intellij.openapi.vcs.ui.RefreshableOnComponent;
import com.intellij.openapi.vcs.update.ActionInfo;
import com.intellij.openapi.vfs.VfsUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.wm.WindowManager;
import com.intellij.util.PairConsumer;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.idea.svn.*;
import org.jetbrains.idea.svn.update.AutoSvnUpdater;
import javax.swing.*;
import java.io.File;
import java.util.ArrayList;
import java.util.Collection;
@@ -126,12 +120,7 @@ public class SvnCheckinHandlerFactory extends VcsCheckinHandlerFactory {
ApplicationManager.getApplication().invokeLater(new Runnable() {
@Override
public void run() {
final JComponent frame = WindowManager.getInstance().getIdeFrame(project).getComponent();
final AutoSvnUpdater updater = new AutoSvnUpdater(project, paths.toArray(new FilePath[paths.size()]));
updater.getTemplatePresentation().setText(ActionInfo.UPDATE.getActionName());
updater.actionPerformed(
new AnActionEvent(null, DataManager.getInstance().getDataContext(frame), ActionPlaces.UNKNOWN,
updater.getTemplatePresentation(), ActionManager.getInstance(), 0));
AutoSvnUpdater.run(new AutoSvnUpdater(project, paths.toArray(new FilePath[paths.size()])), ActionInfo.UPDATE.getActionName());
}
}, ModalityState.NON_MODAL);
}
@@ -15,17 +15,24 @@
*/
package org.jetbrains.idea.svn.update;
import com.intellij.ide.DataManager;
import com.intellij.openapi.actionSystem.ActionManager;
import com.intellij.openapi.actionSystem.ActionPlaces;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.options.Configurable;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vcs.AbstractVcs;
import com.intellij.openapi.vcs.FilePath;
import com.intellij.openapi.vcs.actions.VcsContext;
import com.intellij.openapi.vcs.update.*;
import com.intellij.openapi.wm.WindowManager;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.idea.svn.SvnConfiguration;
import org.jetbrains.idea.svn.SvnVcs;
import org.tmatesoft.svn.core.SVNDepth;
import org.tmatesoft.svn.core.wc.SVNRevision;
import javax.swing.*;
import java.util.LinkedHashMap;
/**
@@ -44,6 +51,16 @@ public class AutoSvnUpdater extends AbstractCommonUpdateAction {
myRoots = roots;
}
public static void run(@NotNull AutoSvnUpdater updater, @NotNull String title) {
JComponent frame = WindowManager.getInstance().getIdeFrame(updater.myProject).getComponent();
updater.getTemplatePresentation().setText(title);
updater.actionPerformed(
new AnActionEvent(null, DataManager.getInstance().getDataContext(frame), ActionPlaces.UNKNOWN, updater.getTemplatePresentation(),
ActionManager.getInstance(), 0)
);
}
@Override
protected void actionPerformed(VcsContext context) {
final SvnConfiguration configuration17 = SvnConfiguration.getInstance(myProject);