From 65d9f59439e59a4b28a968a2a3abe309082b690e Mon Sep 17 00:00:00 2001 From: Olesya Smirnova Date: Fri, 28 Jan 2005 19:13:03 +0300 Subject: [PATCH] SCR42557 --- .../vcs/actions/VcsContextFactory.java | 10 ++++++++++ .../config/CvsRootConfiguration.java | 9 +++++---- .../cvsMessages/CvsListenerWithProgress.java | 14 +++++++------ .../intellij/peer/impl/PeerFactoryImpl.java | 20 +++++++++++++++++-- 4 files changed, 41 insertions(+), 12 deletions(-) diff --git a/openapi/src/com/intellij/openapi/vcs/actions/VcsContextFactory.java b/openapi/src/com/intellij/openapi/vcs/actions/VcsContextFactory.java index a8f10762a86c..acf7be21f663 100644 --- a/openapi/src/com/intellij/openapi/vcs/actions/VcsContextFactory.java +++ b/openapi/src/com/intellij/openapi/vcs/actions/VcsContextFactory.java @@ -32,7 +32,17 @@ package com.intellij.openapi.vcs.actions; import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.vcs.FilePath; +import com.intellij.openapi.vfs.VirtualFile; + +import java.io.File; public interface VcsContextFactory { VcsContext createOn(AnActionEvent event); + + FilePath createOn(VirtualFile virtualFile); + + FilePath createOn(File file); + + FilePath createOn(VirtualFile parent, String name); } diff --git a/plugins/cvs2/source/com/intellij/cvsSupport2/config/CvsRootConfiguration.java b/plugins/cvs2/source/com/intellij/cvsSupport2/config/CvsRootConfiguration.java index df25df3f283e..99d0e00593aa 100644 --- a/plugins/cvs2/source/com/intellij/cvsSupport2/config/CvsRootConfiguration.java +++ b/plugins/cvs2/source/com/intellij/cvsSupport2/config/CvsRootConfiguration.java @@ -143,10 +143,8 @@ public class CvsRootConfiguration testConnection(getSettings().createConnection(new ReadWriteStatistics(), new ModalityContext(true)), getSettings()); } - public static void testConnection(final IConnection connection, CvsConnectionSettings settings) + public static void testConnection(final IConnection connection, final CvsConnectionSettings settings) throws AuthenticationException, IOException { - final GetModulesListOperation operation = - new GetModulesListOperation(settings); ErrorMessagesProcessor errorProcessor = new ErrorMessagesProcessor(); final CvsExecutionEnvironment cvsExecutionEnvironment = new CvsExecutionEnvironment(errorProcessor, CvsExecutionEnvironment.DUMMY_STOPPER, @@ -156,9 +154,12 @@ public class CvsRootConfiguration final CvsResult result = new CvsResultEx(); try { - final CvsRootProvider cvsRootProvider = operation.getCvsRootProvider(); ApplicationManager.getApplication().runProcessWithProgressSynchronously(new Runnable() { public void run() { + final GetModulesListOperation operation = new GetModulesListOperation(settings); + + final CvsRootProvider cvsRootProvider = operation.getCvsRootProvider(); + try { if (connection instanceof SelfTestingConnection) { ((SelfTestingConnection)connection).test(CvsListenerWithProgress.createOnProgress()); diff --git a/plugins/cvs2/source/com/intellij/cvsSupport2/cvsoperations/cvsMessages/CvsListenerWithProgress.java b/plugins/cvs2/source/com/intellij/cvsSupport2/cvsoperations/cvsMessages/CvsListenerWithProgress.java index 615ec6bd03b0..d673401627d9 100644 --- a/plugins/cvs2/source/com/intellij/cvsSupport2/cvsoperations/cvsMessages/CvsListenerWithProgress.java +++ b/plugins/cvs2/source/com/intellij/cvsSupport2/cvsoperations/cvsMessages/CvsListenerWithProgress.java @@ -2,13 +2,12 @@ package com.intellij.cvsSupport2.cvsoperations.cvsMessages; import com.intellij.cvsSupport2.errorHandling.CvsProcessException; import com.intellij.cvsSupport2.errorHandling.ErrorRegistry; -import com.intellij.cvsSupport2.errorHandling.CvsProcessException; import com.intellij.openapi.progress.ProgressIndicator; import com.intellij.openapi.progress.ProgressManager; import org.netbeans.lib.cvsclient.ICvsCommandStopper; public class CvsListenerWithProgress extends CvsMessagesAdapter implements ICvsCommandStopper,ErrorRegistry { - private final ProgressIndicator myProgressIndicator; + private ProgressIndicator myProgressIndicator; private String myLastError; public CvsListenerWithProgress(ProgressIndicator progressIndicator) { @@ -16,8 +15,7 @@ public class CvsListenerWithProgress extends CvsMessagesAdapter implements ICvsC } public static CvsListenerWithProgress createOnProgress() { - ProgressManager manager = ProgressManager.getInstance(); - return new CvsListenerWithProgress(manager.getProgressIndicator()); + return new CvsListenerWithProgress(ProgressManager.getInstance().getProgressIndicator()); } public void addFileMessage(FileMessage message) { @@ -27,13 +25,17 @@ public class CvsListenerWithProgress extends CvsMessagesAdapter implements ICvsC } public ProgressIndicator getProgressIndicator() { + if (myProgressIndicator == null) { + myProgressIndicator = ProgressManager.getInstance().getProgressIndicator(); + } return myProgressIndicator; } public boolean isAborted() { if (myLastError != null) throw new CvsProcessException(myLastError); - if (myProgressIndicator == null) return false; - return myProgressIndicator.isCanceled(); + final ProgressIndicator progressIndicator = getProgressIndicator(); + if (progressIndicator == null) return false; + return progressIndicator.isCanceled(); } public void registerError(String description) { diff --git a/source/com/intellij/peer/impl/PeerFactoryImpl.java b/source/com/intellij/peer/impl/PeerFactoryImpl.java index 59d91a32b11b..b41ae2829cec 100644 --- a/source/com/intellij/peer/impl/PeerFactoryImpl.java +++ b/source/com/intellij/peer/impl/PeerFactoryImpl.java @@ -2,6 +2,7 @@ package com.intellij.peer.impl; import com.intellij.execution.runners.ProcessProxyFactory; import com.intellij.execution.runners.ProcessProxyFactoryImpl; +import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.components.ApplicationComponent; import com.intellij.openapi.diff.DiffRequestFactory; import com.intellij.openapi.diff.impl.mergeTool.DiffRequestFactoryImpl; @@ -10,12 +11,14 @@ import com.intellij.openapi.fileChooser.ex.FileSystemTreeFactoryImpl; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapperPeerFactory; import com.intellij.openapi.ui.impl.DialogWrapperPeerFactoryImpl; +import com.intellij.openapi.vcs.FilePath; +import com.intellij.openapi.vcs.FilePathImpl; import com.intellij.openapi.vcs.FileStatusFactory; -import com.intellij.openapi.vcs.actions.VcsContextFactory; import com.intellij.openapi.vcs.actions.VcsContext; +import com.intellij.openapi.vcs.actions.VcsContextFactory; import com.intellij.openapi.vcs.actions.VcsContextWrapper; import com.intellij.openapi.vcs.impl.FileStatusFactoryImpl; -import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.vfs.VirtualFile; import com.intellij.packageDependencies.packageSet.PackageSetFactoryImpl; import com.intellij.peer.PeerFactory; import com.intellij.psi.*; @@ -37,6 +40,7 @@ import javax.swing.*; import javax.swing.table.TableCellRenderer; import javax.swing.tree.TreeCellRenderer; import java.awt.*; +import java.io.File; public class PeerFactoryImpl extends PeerFactory implements ApplicationComponent { private ProcessProxyFactory myProxyFactory = null; @@ -191,6 +195,18 @@ public class PeerFactoryImpl extends PeerFactory implements ApplicationComponent public VcsContext createOn(AnActionEvent event) { return VcsContextWrapper.on(event); } + + public FilePath createOn(VirtualFile virtualFile) { + return new FilePathImpl(virtualFile); + } + + public FilePath createOn(File file) { + return FilePathImpl.create(file); + } + + public FilePath createOn(VirtualFile parent, String name) { + return new FilePathImpl(parent, name); + } }; } } \ No newline at end of file