TPTP 4.4.0 Testing Tools Project
Internal API Specification

org.eclipse.tptp.test.tools.junit.plugin.internal.harness
Class WorkbenchExecutorStub

java.lang.Object
  extended byorg.eclipse.hyades.execution.local.RemoteObjectStub
      extended byorg.eclipse.hyades.execution.local.ExecutionComponentStub
          extended byorg.eclipse.hyades.execution.local.ExecutorStub
              extended byorg.eclipse.hyades.execution.harness.TestExecutionHarnessExecutorStub
                  extended byorg.eclipse.tptp.test.tools.junit.plugin.internal.harness.WorkbenchExecutorStub
All Implemented Interfaces:
org.eclipse.hyades.execution.harness.IDataProcessorObservable.Observer, org.eclipse.hyades.execution.core.IExecutionComponent, org.eclipse.hyades.execution.core.IExecutor, org.eclipse.hyades.execution.core.IExecutorWithProgressMonitorSupport, org.eclipse.hyades.execution.invocation.IRemoteObject
Direct Known Subclasses:
DebugWorkbenchExecutorStub

public class WorkbenchExecutorStub
extends org.eclipse.hyades.execution.harness.TestExecutionHarnessExecutorStub

This Executor Stub has the additional capacity to "join" an existing process, rather than launching it, if a workbench is already running on the remote machine with the same workspace directory.

Since:
4.1

Field Summary
 
Fields inherited from class org.eclipse.hyades.execution.local.ExecutorStub
agentInitCount, dataProcessors
 
Fields inherited from class org.eclipse.hyades.execution.local.RemoteObjectStub
delegate, sessionContext, uniqueId
 
Fields inherited from interface org.eclipse.hyades.execution.core.IExecutor
CONTROL_EVENT_RESUME, CONTROL_EVENT_SUSPEND
 
Fields inherited from interface org.eclipse.hyades.execution.core.IExecutionComponent
DEAD, INACTIVE, NOT_CONFIGURED, READY, SUSPENDED
 
Constructor Summary
WorkbenchExecutorStub()
           
 
Method Summary
protected  void doLaunch(org.eclipse.core.runtime.IProgressMonitor monitor)
          This implementation launches a remote eclipse process only if such a process is not already running (with a tester agent inside).
protected  java.lang.String getExpectedLocationName()
           
 java.lang.String getPid()
           
protected  RemoteWorkbenchLocation getRemoteWorkbenchLocation()
          Returns the remote workbench location that this executor is connected to.
 void setExecutableObject(org.eclipse.hyades.execution.core.IExecutableObject theExecutableObject)
           
protected  org.eclipse.hyades.internal.execution.local.control.Agent waitForAgent(java.lang.String agentType, java.lang.String agentName, org.eclipse.hyades.internal.execution.local.control.Process process, int timeout, org.eclipse.core.runtime.IProgressMonitor progressMonitor)
           
 
Methods inherited from class org.eclipse.hyades.execution.harness.TestExecutionHarnessExecutorStub
clean, debugAndLaunch, getAgentListener, getAgentProcess, getLaunchTimeout, getState, isDebugMode, launch, launch, performControlEvent, resume, setupDataProcessor, start, stop, supportsControlEvent
 
Methods inherited from class org.eclipse.hyades.execution.local.ExecutorStub
findAgent, findProcess, getCommunicationPort, getCompatibleExecutableObject, getDataProcessors, getExecutableObject, getExecutionResultLocation, getExecutionResultName, getProcessConsole, kill, kill, resetAgentInitCount, setCommunicationPort, setDataProcessors, setExecutionResultLocation, setExecutionResultName, setupControlListener, waitForProcess
 
Methods inherited from class org.eclipse.hyades.execution.local.ExecutionComponentStub
addChild, addExecutionComponentStateChangeListener, fireStateChangeEvent, getChildById, getChildByName, getChildren, getId, getName, getNode, getParent, getType, getVersion, handleMessage, init, removeChild, removeExecutionComponentStateChangeListener, sendMessage, setParent
 
Methods inherited from class org.eclipse.hyades.execution.local.RemoteObjectStub
delegateRemoteCall, getDelegate, getSessionContext, getUniqueId, setDelegate, setSessionContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.hyades.execution.core.IExecutionComponent
addChild, addExecutionComponentStateChangeListener, fireStateChangeEvent, getChildById, getChildByName, getChildren, getId, getName, getNode, getParent, getType, getVersion, handleMessage, init, removeChild, removeExecutionComponentStateChangeListener, sendMessage, setParent
 

Constructor Detail

WorkbenchExecutorStub

public WorkbenchExecutorStub()
Method Detail

getPid

public java.lang.String getPid()

getExpectedLocationName

protected java.lang.String getExpectedLocationName()

doLaunch

protected void doLaunch(org.eclipse.core.runtime.IProgressMonitor monitor)
This implementation launches a remote eclipse process only if such a process is not already running (with a tester agent inside).


waitForAgent

protected org.eclipse.hyades.internal.execution.local.control.Agent waitForAgent(java.lang.String agentType,
                                                                                 java.lang.String agentName,
                                                                                 org.eclipse.hyades.internal.execution.local.control.Process process,
                                                                                 int timeout,
                                                                                 org.eclipse.core.runtime.IProgressMonitor progressMonitor)
                                                                          throws org.eclipse.hyades.internal.execution.local.control.NotConnectedException
Throws:
org.eclipse.hyades.internal.execution.local.control.NotConnectedException

setExecutableObject

public void setExecutableObject(org.eclipse.hyades.execution.core.IExecutableObject theExecutableObject)
                         throws org.eclipse.hyades.execution.core.ExecutionComponentStateException
Throws:
org.eclipse.hyades.execution.core.ExecutionComponentStateException

getRemoteWorkbenchLocation

protected RemoteWorkbenchLocation getRemoteWorkbenchLocation()
Returns the remote workbench location that this executor is connected to. This object is used to communicate with the "Eclipse Tester Agent" that allows to launch test on the remote workbench.

Returns:

TPTP 4.4.0 Testing Tools Project
Internal API Specification