mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-01 22:25:25 +02:00
disconnect(IProgressMonitor), internalDisconnect(IProgressMonitor),
uninitializeService(IProgressMonitor)
This commit is contained in:
parent
f52702305d
commit
0ecce33193
27 changed files with 146 additions and 19 deletions
|
@ -291,7 +291,7 @@ public class DStoreConnectorService extends AbstractConnectorService implements
|
|||
/**
|
||||
* @see org.eclipse.rse.core.subsystems.IConnectorService#disconnect()
|
||||
*/
|
||||
public void disconnect() throws Exception
|
||||
public void internalDisconnect(IProgressMonitor monitor) throws Exception
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -716,7 +716,7 @@ public class DStoreConnectorService extends AbstractConnectorService implements
|
|||
Display.getDefault().syncExec(msgAction);
|
||||
if (msgAction.getReturnCode() != IDialogConstants.YES_ID)
|
||||
{
|
||||
disconnect();
|
||||
internalDisconnect(monitor);
|
||||
throw new InterruptedException();
|
||||
}
|
||||
}
|
||||
|
@ -728,7 +728,7 @@ public class DStoreConnectorService extends AbstractConnectorService implements
|
|||
Display.getDefault().syncExec(msgAction);
|
||||
if (msgAction.getReturnCode() != IDialogConstants.YES_ID)
|
||||
{
|
||||
disconnect();
|
||||
internalDisconnect(monitor);
|
||||
throw new InterruptedException();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -189,7 +189,7 @@ public class ConnectionStatusListener implements IDomainListener, IRunnableWithP
|
|||
monitor.beginTask(message, IProgressMonitor.UNKNOWN);
|
||||
try
|
||||
{
|
||||
_connection.disconnect();
|
||||
_connection.disconnect(monitor);
|
||||
}
|
||||
catch(Exception exc)
|
||||
{
|
||||
|
|
|
@ -43,7 +43,7 @@ public class LocalConnectorService extends AbstractConnectorService
|
|||
/**
|
||||
* @see org.eclipse.rse.core.subsystems.AbstractConnectorService#disconnect()
|
||||
*/
|
||||
public void disconnect() throws Exception
|
||||
public void internalDisconnect(IProgressMonitor monitor) throws Exception
|
||||
{
|
||||
fireCommunicationsEvent(CommunicationsEvent.BEFORE_DISCONNECT);
|
||||
|
||||
|
|
18
rse/plugins/org.eclipse.rse.services.dstore/export.jardesc
Normal file
18
rse/plugins/org.eclipse.rse.services.dstore/export.jardesc
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<jardesc>
|
||||
<jar path="D:/servers/800/dstore_miners.jar"/>
|
||||
<options buildIfNeeded="true" compress="true" descriptionLocation="/org.eclipse.rse.services.dstore/export.jardesc" exportErrors="true" exportWarnings="true" includeDirectoryEntries="false" overwrite="false" saveDescription="true" storeRefactorings="false" useSourceFolders="false"/>
|
||||
<refactoring deprecationInfo="true" structuralOnly="true"/>
|
||||
<selectedProjects>
|
||||
<project name="org.eclipse.rse.services.dstore"/>
|
||||
</selectedProjects>
|
||||
<manifest generateManifest="true" manifestLocation="" manifestVersion="1.0" reuseManifest="false" saveManifest="false" usesManifest="true">
|
||||
<sealing sealJar="false">
|
||||
<packagesToSeal/>
|
||||
<packagesToUnSeal/>
|
||||
</sealing>
|
||||
</manifest>
|
||||
<selectedElements exportClassFiles="true" exportJavaFiles="false" exportOutputFolder="false">
|
||||
<javaElement handleIdentifier="=org.eclipse.rse.services.dstore/miners"/>
|
||||
</selectedElements>
|
||||
</jardesc>
|
|
@ -264,7 +264,7 @@ public class CommandMinerThread extends MinerThread
|
|||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else // windows
|
||||
{
|
||||
if ((theOS.indexOf("95") >= 0) || (theOS.indexOf("98") >= 0) || (theOS.indexOf("ME") >= 0))
|
||||
{
|
||||
|
@ -293,6 +293,7 @@ public class CommandMinerThread extends MinerThread
|
|||
}
|
||||
args[2] = _invocation;
|
||||
_theProcess = Runtime.getRuntime().exec(args, getEnvironment(_subject), theDirectory);
|
||||
System.out.println("started shell:"+args[0] + " " + args[1] + " " + args[2]);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -253,6 +253,13 @@ public abstract class AbstractDStoreService implements IDStoreService
|
|||
{
|
||||
initMiner(monitor);
|
||||
}
|
||||
|
||||
public void uninitService(IProgressMonitor monitor)
|
||||
{
|
||||
_initializeStatus = null;
|
||||
_cmdDescriptorMap.clear();
|
||||
_minerElement = null;
|
||||
}
|
||||
|
||||
protected void initMiner(IProgressMonitor monitor)
|
||||
{
|
||||
|
|
|
@ -265,6 +265,12 @@ public class DStoreProcessService extends AbstractProcessService implements IPro
|
|||
initMiner(monitor);
|
||||
}
|
||||
|
||||
public void uninitService(IProgressMonitor monitor)
|
||||
{
|
||||
_minerElement = null;
|
||||
_procMinerStatus = null;
|
||||
}
|
||||
|
||||
public boolean isInitialized()
|
||||
{
|
||||
if (_procMinerStatus != null)
|
||||
|
|
|
@ -162,6 +162,12 @@ public class DStoreShellService extends AbstractDStoreService implements IShellS
|
|||
super.waitForInitialize(monitor);
|
||||
}
|
||||
|
||||
public void uninitService(IProgressMonitor monitor)
|
||||
{
|
||||
super.uninitService(monitor);
|
||||
|
||||
}
|
||||
|
||||
protected void initMiner(IProgressMonitor monitor)
|
||||
{
|
||||
// init env miner first
|
||||
|
|
|
@ -383,7 +383,10 @@ public class FTPService extends AbstractFileService implements IFileService, IFT
|
|||
|
||||
public void initService(IProgressMonitor monitor)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void uninitService(IProgressMonitor monitor)
|
||||
{
|
||||
}
|
||||
|
||||
public boolean isCaseSensitive()
|
||||
|
|
|
@ -1148,6 +1148,10 @@ public class LocalFileService extends AbstractFileService implements IFileServic
|
|||
|
||||
}
|
||||
|
||||
public void uninitService(IProgressMonitor monitor)
|
||||
{
|
||||
}
|
||||
|
||||
public boolean isCaseSensitive()
|
||||
{
|
||||
return true;
|
||||
|
|
|
@ -148,4 +148,8 @@ public class LocalProcessService extends AbstractProcessService implements ILoca
|
|||
{
|
||||
|
||||
}
|
||||
|
||||
public void uninitService(IProgressMonitor monitor)
|
||||
{
|
||||
}
|
||||
}
|
|
@ -137,6 +137,10 @@ public class LocalShellService implements IShellService, ILocalService
|
|||
|
||||
}
|
||||
|
||||
public void uninitService(IProgressMonitor monitor)
|
||||
{
|
||||
|
||||
}
|
||||
public SystemMessage getMessage(String messageID)
|
||||
{
|
||||
return null;
|
||||
|
|
|
@ -24,5 +24,6 @@ public interface IService
|
|||
public String getName();
|
||||
public String getDescription();
|
||||
public void initService(IProgressMonitor monitor);
|
||||
public void uninitService(IProgressMonitor monitor);
|
||||
public SystemMessage getMessage(String messageID);
|
||||
}
|
|
@ -782,5 +782,10 @@ public final class FileServiceSubSystem extends RemoteFileSubSystem implements I
|
|||
getFileService().initService(monitor);
|
||||
}
|
||||
|
||||
public void uninitializeSubSystem(IProgressMonitor monitor)
|
||||
{
|
||||
super.uninitializeSubSystem(monitor);
|
||||
getFileService().uninitService(monitor);
|
||||
}
|
||||
|
||||
}
|
|
@ -181,6 +181,7 @@ public interface IRemoteFile extends IRemoteContainer, IRemotePropertyHolder
|
|||
*/
|
||||
public boolean isArchive();
|
||||
|
||||
|
||||
/**
|
||||
* Returns true if this is a binary file
|
||||
*/
|
||||
|
|
|
@ -168,6 +168,11 @@ public abstract class RemoteFile implements IRemoteFile, IAdaptable, Comparable
|
|||
{
|
||||
if (this._parentFile == null)
|
||||
{
|
||||
if (isRoot())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
IRemoteFile parentFile = null;
|
||||
|
||||
// _context.getParentRemoteFile();
|
||||
|
|
|
@ -1497,6 +1497,11 @@ public abstract class RemoteFileSubSystem extends SubSystem implements IRemoteFi
|
|||
getConnectorService().addCommunicationsListener(this);
|
||||
}
|
||||
|
||||
public void uninitializeSubSystem(IProgressMonitor monitor)
|
||||
{
|
||||
getConnectorService().removeCommunicationsListener(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Store the IRemoteFile in a hashmap to quick subsequent retrieval
|
||||
* @param file the file
|
||||
|
|
|
@ -55,7 +55,7 @@ public class FTPConnectorService extends AbstractConnectorService
|
|||
return _ftpService;
|
||||
}
|
||||
|
||||
public void disconnect()
|
||||
public void internalDisconnect(IProgressMonitor monitor)
|
||||
{
|
||||
_ftpService.disconnect();
|
||||
}
|
||||
|
|
|
@ -100,6 +100,14 @@ public abstract class RemoteProcessSubSystemImpl extends SubSystem implements
|
|||
getConnectorService().addCommunicationsListener(this);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.rse.core.subsystems.SubSystem#uninitializeSubSystem(org.eclipse.core.runtime.IProgressMonitor)
|
||||
*/
|
||||
public void uninitializeSubSystem(IProgressMonitor monitor)
|
||||
{
|
||||
getConnectorService().removeCommunicationsListener(this);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.rse.subsystems.processes.core.subsystem.RemoteProcessSubSystem#getParentProcess(org.eclipse.rse.subsystems.processes.core.subsystem.IRemoteProcess)
|
||||
*/
|
||||
|
|
|
@ -197,5 +197,13 @@ public class ProcessServiceSubSystem extends RemoteProcessSubSystemImpl implemen
|
|||
getProcessService().initService(monitor);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.rse.subsystems.processes.core.subsystem.impl.RemoteProcessSubSystemImpl#initializeSubSystem(org.eclipse.core.runtime.IProgressMonitor)
|
||||
*/
|
||||
public void uninitializeSubSystem(IProgressMonitor monitor)
|
||||
{
|
||||
super.uninitializeSubSystem(monitor);
|
||||
getProcessService().uninitService(monitor);
|
||||
}
|
||||
|
||||
}
|
|
@ -658,15 +658,16 @@ public abstract class RemoteCmdSubSystem extends SubSystem implements IRemoteCmd
|
|||
}
|
||||
}
|
||||
|
||||
ISystemRegistry registry = RSEUIPlugin.getTheSystemRegistry();
|
||||
registry.fireEvent(new SystemResourceChangeEvent(this, ISystemResourceChangeEvents.EVENT_REFRESH, this));
|
||||
//ISystemRegistry registry = RSEUIPlugin.getTheSystemRegistry();
|
||||
// registry.fireEvent(new SystemResourceChangeEvent(this, ISystemResourceChangeEvents.EVENT_REFRESH, this));
|
||||
|
||||
Display.getDefault().asyncExec(new Refresh(this));
|
||||
return results;
|
||||
}
|
||||
|
||||
public void cancelAllShells()
|
||||
{
|
||||
ISystemRegistry registry = RSEUIPlugin.getTheSystemRegistry();
|
||||
|
||||
for (int i = _cmdShells.size() - 1; i >= 0; i--)
|
||||
{
|
||||
IRemoteCommandShell cmdShell = (IRemoteCommandShell) _cmdShells.get(i);
|
||||
|
@ -687,9 +688,24 @@ public abstract class RemoteCmdSubSystem extends SubSystem implements IRemoteCmd
|
|||
// registry.fireEvent(new
|
||||
// org.eclipse.rse.model.SystemResourceChangeEvent(this,
|
||||
// ISystemResourceChangeEvent.EVENT_COMMAND_SHELL_FINISHED, null));
|
||||
registry.fireEvent(new SystemResourceChangeEvent(this, ISystemResourceChangeEvents.EVENT_REFRESH, this));
|
||||
Display.getDefault().asyncExec(new Refresh(this));
|
||||
|
||||
}
|
||||
|
||||
public class Refresh implements Runnable
|
||||
{
|
||||
private RemoteCmdSubSystem _ss;
|
||||
public Refresh(RemoteCmdSubSystem ss)
|
||||
{
|
||||
_ss = ss;
|
||||
}
|
||||
|
||||
public void run()
|
||||
{
|
||||
ISystemRegistry registry = RSEUIPlugin.getTheSystemRegistry();
|
||||
registry.fireEvent(new SystemResourceChangeEvent(_ss, ISystemResourceChangeEvents.EVENT_REFRESH, _ss));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @see ICommunicationsListener#isPassiveCommunicationsListener()
|
||||
|
|
|
@ -239,9 +239,14 @@ public final class ShellServiceSubSystem extends RemoteCmdSubSystem implements I
|
|||
}
|
||||
|
||||
public void initializeSubSystem(IProgressMonitor monitor)
|
||||
{
|
||||
{
|
||||
getShellService().initService(monitor);
|
||||
}
|
||||
|
||||
public void uninitializeSubSystem(IProgressMonitor monitor)
|
||||
{
|
||||
cancelAllShells();
|
||||
getShellService().uninitService(monitor);
|
||||
}
|
||||
|
||||
}
|
|
@ -786,6 +786,15 @@ public abstract class AbstractConnectorService extends RSEModelObject implements
|
|||
ss.initializeSubSystem(monitor);
|
||||
}
|
||||
}
|
||||
|
||||
protected void unintializeSubSystems(IProgressMonitor monitor)
|
||||
{
|
||||
for (int i = 0; i < _registeredSubSystems.size(); i++)
|
||||
{
|
||||
ISubSystem ss = (ISubSystem)_registeredSubSystems.get(i);
|
||||
ss.uninitializeSubSystem(monitor);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* <i><b>Abstract</b> - you must override, </i>unless subsystem.getParentSubSystemFactory().supportsServerLaunchProperties
|
||||
|
@ -850,10 +859,15 @@ public abstract class AbstractConnectorService extends RSEModelObject implements
|
|||
* method of the subsystem.
|
||||
* @see IServerLauncher#disconnect()
|
||||
*/
|
||||
public void disconnect() throws Exception
|
||||
public final void disconnect(IProgressMonitor monitor) throws Exception
|
||||
{
|
||||
if (supportsServerLaunchProperties() &&
|
||||
(starter != null))
|
||||
internalDisconnect(monitor);
|
||||
unintializeSubSystems(monitor);
|
||||
}
|
||||
|
||||
public void internalDisconnect(IProgressMonitor monitor) throws Exception
|
||||
{
|
||||
if (supportsServerLaunchProperties() &&(starter != null))
|
||||
{
|
||||
try {
|
||||
starter.disconnect();
|
||||
|
|
|
@ -78,7 +78,7 @@ public interface IConnectorService extends IRSEModelObject
|
|||
/**
|
||||
* Disconnect from the remote system
|
||||
*/
|
||||
public void disconnect() throws Exception;
|
||||
public void disconnect(IProgressMonitor monitor) throws Exception;
|
||||
/**
|
||||
* Notifies all listeners of a disconnection through a communications event
|
||||
*/
|
||||
|
|
|
@ -81,6 +81,11 @@ public interface ISubSystem extends ISystemFilterPoolReferenceManagerProvider, I
|
|||
*/
|
||||
public void initializeSubSystem(IProgressMonitor monitor);
|
||||
|
||||
/**
|
||||
* Called on each subsystem associated with a particular ISystem after it disconnects
|
||||
*/
|
||||
public void uninitializeSubSystem(IProgressMonitor monitor);
|
||||
|
||||
/**
|
||||
* @return true if this subsystem's properties should take precedence over other subsystems that share the same ISystem
|
||||
*/
|
||||
|
|
|
@ -2823,7 +2823,7 @@ public abstract class SubSystem extends RSEModelObject implements IAdaptable, IS
|
|||
{
|
||||
try
|
||||
{
|
||||
getConnectorService().disconnect();
|
||||
getConnectorService().disconnect(monitor);
|
||||
}
|
||||
catch(Exception exc)
|
||||
{
|
||||
|
|
|
@ -24,6 +24,7 @@ import java.util.Vector;
|
|||
|
||||
import org.eclipse.core.runtime.IConfigurationElement;
|
||||
import org.eclipse.core.runtime.IExtensionRegistry;
|
||||
import org.eclipse.core.runtime.NullProgressMonitor;
|
||||
import org.eclipse.core.runtime.Platform;
|
||||
import org.eclipse.jface.resource.ImageDescriptor;
|
||||
import org.eclipse.jface.viewers.ISelection;
|
||||
|
@ -1764,7 +1765,7 @@ public abstract class SubSystemConfiguration implements ISubSystemConfiguration
|
|||
{
|
||||
try
|
||||
{
|
||||
ss.getConnectorService().disconnect();
|
||||
ss.getConnectorService().disconnect(new NullProgressMonitor());
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue