org.safs.tools.drivers
Class AbstractDriver

java.lang.Object
  extended by org.safs.tools.drivers.AbstractDriver
All Implemented Interfaces:
DriverInterface, PathInterface
Direct Known Subclasses:
DefaultDriver, STAFProcessContainerDriver

public abstract class AbstractDriver
extends java.lang.Object
implements DriverInterface

The root, abstract implementation of our tool-independent Driver.


Field Summary
protected  java.lang.String benchSource
           
protected  ConfigureInterface configInfo
           
protected  CountersInterface counts
           
protected  FlowControlInterface cycleflowcontrol
          CYCLE shared flow control info used by all Driver/InputProcessors.
protected  java.lang.String cycleLinkedFac
           
protected  long cycleLogMode
           
protected  java.lang.String cycleLogName
           
protected  java.lang.String cycleSeparator
           
protected  java.lang.String cycleSuffix
           
protected  java.lang.String datapoolSource
           
protected  DebugInterface debug
           
protected  java.lang.String difSource
           
protected  java.lang.String driverName
          Name of this Driver: Default = "SAFS/TIDriver"
protected  java.lang.String driverRootDir
           
protected  boolean exitCycle
           
protected  boolean exitSuite
           
protected  boolean expressionsOn
           
protected  InputInterface input
           
protected  EngineInterface ipcommands
           
protected  java.lang.String logLevel
           
protected  LogsInterface logs
           
protected  java.lang.String logsSource
           
protected  MapsInterface maps
           
protected  int millisBetweenRecords
           
protected  boolean perTableFlowControl
          If true then local flow control blocks can be defined for each separate test table (InputProcessor).
protected  java.lang.String projectRootDir
           
protected  StatusInterface statuscounts
           
protected  FlowControlInterface stepflowcontrol
          STEP shared flow control info used by all Driver/InputProcessors.
protected  java.lang.String stepLinkedFac
           
protected  long stepLogMode
           
protected  java.lang.String stepLogName
           
protected  java.lang.String stepSeparator
           
protected  java.lang.String stepSuffix
           
protected  FlowControlInterface suiteflowcontrol
          SUITE shared flow control info used by all Driver/InputProcessors.
protected  java.lang.String suiteLinkedFac
           
protected  long suiteLogMode
           
protected  java.lang.String suiteLogName
           
protected  java.lang.String suiteSeparator
           
protected  java.lang.String suiteSuffix
           
protected  java.lang.String testLevel
           
protected  java.lang.String testName
           
protected  java.lang.String testSource
           
protected  EngineInterface tidcommands
           
protected  EngineInterface tidcomponent
           
protected  VarsInterface vars
           
protected  java.lang.String verifySource
           
 
Fields inherited from interface org.safs.tools.drivers.DriverInterface
DRIVER_CONTROL_VAR
 
Constructor Summary
AbstractDriver()
           
 
Method Summary
 StatusInterface addStatusCounts(StatusInterface incstatus)
           
 java.lang.String getBenchDir()
           
 ConfigureInterface getConfigureInterface()
           
 CountersInterface getCountersInterface()
           
 long getCycleLogMode()
           
 java.lang.String getCycleLogName()
           
 java.lang.String getCycleSeparator()
           
 java.lang.String getCycleSuffix()
           
 java.lang.String getDatapoolDir()
           
 DebugInterface getDebugInterface()
           
 java.lang.String getDifDir()
           
 java.lang.String getDriverName()
           
 java.lang.String getDriverRootDir()
           
 FlowControlInterface getFlowControlInterface(java.lang.String testlevel)
           
 InputInterface getInputInterface()
           
 EngineInterface getIPDriverCommands()
           
 java.lang.String getLogLevel()
           
 java.lang.String getLogsDir()
           
 LogsInterface getLogsInterface()
           
 MapsInterface getMapsInterface()
           
 int getMillisBetweenRecords()
           
 java.lang.String getProjectRootDir()
           
 java.lang.String getRootVerifyDir()
           
 StatusInterface getStatusInterface()
           
 long getStepLogMode()
           
 java.lang.String getStepLogName()
           
 java.lang.String getStepSeparator()
           
 java.lang.String getStepSuffix()
           
 long getSuiteLogMode()
           
 java.lang.String getSuiteLogName()
           
 java.lang.String getSuiteSeparator()
           
 java.lang.String getSuiteSuffix()
           
 java.lang.String getTestDir()
           
 java.lang.String getTestLevel()
           
 java.lang.String getTestName()
           
 EngineInterface getTIDDriverCommands()
           
 EngineInterface getTIDGUIlessComponentSupport()
           
 VarsInterface getVarsInterface()
           
 boolean isExitCycle()
           
 boolean isExitSuite()
           
 boolean isExpressionsEnabled()
           
 boolean isPerTableFlowControl()
           
protected abstract  StatusInterface processTest()
          This is the one that actually opens and loops through our tests records! Typically, DriverInterface subclasses like SAFSDRIVER will be used to provide the concrete implementation.
 long setBenchDir(java.lang.String absolute_path)
           
 long setDatapoolDir(java.lang.String absolute_path)
           
 long setDifDir(java.lang.String absolute_path)
           
 void setExitCycle(boolean enabled)
           
 void setExitSuite(boolean enabled)
           
 void setExpressionsEnabled(boolean enabled)
           
 long setLogsDir(java.lang.String absolute_path)
           
 void setMillisBetweenRecords(int millisBetween)
           
 void setPerTableFlowControl(boolean enabled)
           
 long setProjectRootDir(java.lang.String absolute_path)
           
 long setRootVerifyDir(java.lang.String absolute_path)
           
 long setTestDir(java.lang.String absolute_path)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.safs.tools.drivers.DriverInterface
clearEnginePreferences, endEnginePreference, getEnginePreferences, getEngines, getPreferredEngine, hasEnginePreferences, isPreferredEngine, isPreferredEngine, startEnginePreference
 

Field Detail

driverName

protected java.lang.String driverName
Name of this Driver: Default = "SAFS/TIDriver"


configInfo

protected ConfigureInterface configInfo

input

protected InputInterface input

maps

protected MapsInterface maps

vars

protected VarsInterface vars

logs

protected LogsInterface logs

counts

protected CountersInterface counts

debug

protected DebugInterface debug

tidcommands

protected EngineInterface tidcommands

tidcomponent

protected EngineInterface tidcomponent

ipcommands

protected EngineInterface ipcommands

statuscounts

protected StatusInterface statuscounts

millisBetweenRecords

protected int millisBetweenRecords

cycleflowcontrol

protected FlowControlInterface cycleflowcontrol
CYCLE shared flow control info used by all Driver/InputProcessors. This may be overridden by local flowcontrol info defined for each separate InputProcessor if local flowcontrol mode is ever enabled.


suiteflowcontrol

protected FlowControlInterface suiteflowcontrol
SUITE shared flow control info used by all Driver/InputProcessors. This may be overridden by local flowcontrol info defined for each separate InputProcessor if local flowcontrol mode is ever enabled.


stepflowcontrol

protected FlowControlInterface stepflowcontrol
STEP shared flow control info used by all Driver/InputProcessors. This may be overridden by local flowcontrol info defined for each separate InputProcessor if local flowcontrol mode is ever enabled.


perTableFlowControl

protected boolean perTableFlowControl
If true then local flow control blocks can be defined for each separate test table (InputProcessor). When true, shared flow control blockIDs are disabled in favor of per table flow control.


driverRootDir

protected java.lang.String driverRootDir

projectRootDir

protected java.lang.String projectRootDir

datapoolSource

protected java.lang.String datapoolSource

verifySource

protected java.lang.String verifySource

benchSource

protected java.lang.String benchSource

difSource

protected java.lang.String difSource

logsSource

protected java.lang.String logsSource

testSource

protected java.lang.String testSource

testName

protected java.lang.String testName

testLevel

protected java.lang.String testLevel

cycleSuffix

protected java.lang.String cycleSuffix

cycleSeparator

protected java.lang.String cycleSeparator

suiteSuffix

protected java.lang.String suiteSuffix

suiteSeparator

protected java.lang.String suiteSeparator

stepSuffix

protected java.lang.String stepSuffix

stepSeparator

protected java.lang.String stepSeparator

logLevel

protected java.lang.String logLevel

cycleLogName

protected java.lang.String cycleLogName

cycleLogMode

protected long cycleLogMode

cycleLinkedFac

protected java.lang.String cycleLinkedFac

suiteLogName

protected java.lang.String suiteLogName

suiteLogMode

protected long suiteLogMode

suiteLinkedFac

protected java.lang.String suiteLinkedFac

stepLogName

protected java.lang.String stepLogName

stepLogMode

protected long stepLogMode

stepLinkedFac

protected java.lang.String stepLinkedFac

expressionsOn

protected boolean expressionsOn

exitSuite

protected boolean exitSuite

exitCycle

protected boolean exitCycle
Constructor Detail

AbstractDriver

public AbstractDriver()
Method Detail

getMillisBetweenRecords

public int getMillisBetweenRecords()
Specified by:
getMillisBetweenRecords in interface DriverInterface
See Also:
DriverInterface.getMillisBetweenRecords()

setMillisBetweenRecords

public void setMillisBetweenRecords(int millisBetween)
Specified by:
setMillisBetweenRecords in interface DriverInterface
See Also:
DriverInterface.setMillisBetweenRecords(int)

isPerTableFlowControl

public boolean isPerTableFlowControl()
Specified by:
isPerTableFlowControl in interface DriverInterface
See Also:
DriverInterface.isPerTableFlowControl()

setPerTableFlowControl

public void setPerTableFlowControl(boolean enabled)
Specified by:
setPerTableFlowControl in interface DriverInterface
See Also:
DriverInterface.setPerTableFlowControl(boolean)

isExitSuite

public boolean isExitSuite()
Specified by:
isExitSuite in interface DriverInterface
See Also:
DriverInterface.isExitSuite()

setExitSuite

public void setExitSuite(boolean enabled)
Specified by:
setExitSuite in interface DriverInterface
See Also:
DriverInterface.setExitSuite(boolean)

isExitCycle

public boolean isExitCycle()
Specified by:
isExitCycle in interface DriverInterface
See Also:
DriverInterface.isExitCycle()

setExitCycle

public void setExitCycle(boolean enabled)
Specified by:
setExitCycle in interface DriverInterface
See Also:
DriverInterface.setExitCycle(boolean)

getConfigureInterface

public ConfigureInterface getConfigureInterface()
Specified by:
getConfigureInterface in interface DriverInterface
See Also:
DriverInterface.getConfigureInterface()

getInputInterface

public InputInterface getInputInterface()
Specified by:
getInputInterface in interface DriverInterface
See Also:
DriverInterface.getInputInterface()

getMapsInterface

public MapsInterface getMapsInterface()
Specified by:
getMapsInterface in interface DriverInterface
See Also:
DriverInterface.getMapsInterface()

getVarsInterface

public VarsInterface getVarsInterface()
Specified by:
getVarsInterface in interface DriverInterface
See Also:
DriverInterface.getVarsInterface()

getLogsInterface

public LogsInterface getLogsInterface()
Specified by:
getLogsInterface in interface DriverInterface
See Also:
DriverInterface.getLogsInterface()

getCountersInterface

public CountersInterface getCountersInterface()
Specified by:
getCountersInterface in interface DriverInterface
See Also:
DriverInterface.getCountersInterface()

getDebugInterface

public DebugInterface getDebugInterface()
Specified by:
getDebugInterface in interface DriverInterface
See Also:
DriverInterface.getDebugInterface()

getFlowControlInterface

public FlowControlInterface getFlowControlInterface(java.lang.String testlevel)
Specified by:
getFlowControlInterface in interface DriverInterface
See Also:
DriverInterface.getFlowControlInterface(String)

getStatusInterface

public StatusInterface getStatusInterface()
Specified by:
getStatusInterface in interface DriverInterface
See Also:
DriverInterface.getStatusInterface()

addStatusCounts

public StatusInterface addStatusCounts(StatusInterface incstatus)
Specified by:
addStatusCounts in interface DriverInterface
See Also:
DriverInterface.addStatusCounts(StatusInterface)

getDriverName

public java.lang.String getDriverName()
Specified by:
getDriverName in interface DriverInterface
See Also:
DriverInterface.getDriverName()

getTIDDriverCommands

public EngineInterface getTIDDriverCommands()
Specified by:
getTIDDriverCommands in interface DriverInterface
See Also:
DriverInterface.getTIDDriverCommands()

getTIDGUIlessComponentSupport

public EngineInterface getTIDGUIlessComponentSupport()
Specified by:
getTIDGUIlessComponentSupport in interface DriverInterface
See Also:
DriverInterface.getTIDGUIlessComponentSupport()

getIPDriverCommands

public EngineInterface getIPDriverCommands()
Specified by:
getIPDriverCommands in interface DriverInterface
See Also:
DriverInterface.getIPDriverCommands()

getDriverRootDir

public java.lang.String getDriverRootDir()
Specified by:
getDriverRootDir in interface DriverInterface
Specified by:
getDriverRootDir in interface PathInterface

getProjectRootDir

public java.lang.String getProjectRootDir()
Specified by:
getProjectRootDir in interface DriverInterface
Specified by:
getProjectRootDir in interface PathInterface

setProjectRootDir

public long setProjectRootDir(java.lang.String absolute_path)
Specified by:
setProjectRootDir in interface DriverInterface

getRootVerifyDir

public java.lang.String getRootVerifyDir()
Specified by:
getRootVerifyDir in interface DriverInterface

setRootVerifyDir

public long setRootVerifyDir(java.lang.String absolute_path)
Specified by:
setRootVerifyDir in interface DriverInterface

getDatapoolDir

public java.lang.String getDatapoolDir()
Specified by:
getDatapoolDir in interface DriverInterface
Specified by:
getDatapoolDir in interface PathInterface

setDatapoolDir

public long setDatapoolDir(java.lang.String absolute_path)
Specified by:
setDatapoolDir in interface DriverInterface

getBenchDir

public java.lang.String getBenchDir()
Specified by:
getBenchDir in interface DriverInterface
Specified by:
getBenchDir in interface PathInterface

setBenchDir

public long setBenchDir(java.lang.String absolute_path)
Specified by:
setBenchDir in interface DriverInterface

getDifDir

public java.lang.String getDifDir()
Specified by:
getDifDir in interface DriverInterface
Specified by:
getDifDir in interface PathInterface

setDifDir

public long setDifDir(java.lang.String absolute_path)
Specified by:
setDifDir in interface DriverInterface

getLogsDir

public java.lang.String getLogsDir()
Specified by:
getLogsDir in interface DriverInterface
Specified by:
getLogsDir in interface PathInterface

setLogsDir

public long setLogsDir(java.lang.String absolute_path)
Specified by:
setLogsDir in interface DriverInterface

getTestDir

public java.lang.String getTestDir()
Specified by:
getTestDir in interface DriverInterface
Specified by:
getTestDir in interface PathInterface

setTestDir

public long setTestDir(java.lang.String absolute_path)
Specified by:
setTestDir in interface DriverInterface

getTestName

public java.lang.String getTestName()
Specified by:
getTestName in interface DriverInterface
See Also:
DriverInterface.getTestName()

getTestLevel

public java.lang.String getTestLevel()
Specified by:
getTestLevel in interface DriverInterface
See Also:
DriverInterface.getTestLevel()

getCycleSuffix

public java.lang.String getCycleSuffix()
Specified by:
getCycleSuffix in interface DriverInterface
See Also:
DriverInterface.getCycleSuffix()

getCycleSeparator

public java.lang.String getCycleSeparator()
Specified by:
getCycleSeparator in interface DriverInterface
See Also:
DriverInterface.getCycleSeparator()

getSuiteSuffix

public java.lang.String getSuiteSuffix()
Specified by:
getSuiteSuffix in interface DriverInterface
See Also:
DriverInterface.getSuiteSuffix()

getSuiteSeparator

public java.lang.String getSuiteSeparator()
Specified by:
getSuiteSeparator in interface DriverInterface
See Also:
DriverInterface.getSuiteSeparator()

getStepSuffix

public java.lang.String getStepSuffix()
Specified by:
getStepSuffix in interface DriverInterface
See Also:
DriverInterface.getStepSuffix()

getStepSeparator

public java.lang.String getStepSeparator()
Specified by:
getStepSeparator in interface DriverInterface
See Also:
DriverInterface.getStepSeparator()

getLogLevel

public java.lang.String getLogLevel()
Specified by:
getLogLevel in interface DriverInterface
See Also:
DriverInterface.getLogLevel()

getCycleLogName

public java.lang.String getCycleLogName()
Specified by:
getCycleLogName in interface DriverInterface
See Also:
DriverInterface.getCycleLogName()

getCycleLogMode

public long getCycleLogMode()
Specified by:
getCycleLogMode in interface DriverInterface
See Also:
DriverInterface.getCycleLogMode()

getSuiteLogName

public java.lang.String getSuiteLogName()
Specified by:
getSuiteLogName in interface DriverInterface
See Also:
DriverInterface.getSuiteLogName()

getSuiteLogMode

public long getSuiteLogMode()
Specified by:
getSuiteLogMode in interface DriverInterface
See Also:
DriverInterface.getSuiteLogMode()

getStepLogName

public java.lang.String getStepLogName()
Specified by:
getStepLogName in interface DriverInterface
See Also:
DriverInterface.getStepLogName()

getStepLogMode

public long getStepLogMode()
Specified by:
getStepLogMode in interface DriverInterface
See Also:
DriverInterface.getStepLogMode()

isExpressionsEnabled

public boolean isExpressionsEnabled()
Specified by:
isExpressionsEnabled in interface DriverInterface
See Also:
DriverInterface.isExpressionsEnabled()

setExpressionsEnabled

public void setExpressionsEnabled(boolean enabled)
Specified by:
setExpressionsEnabled in interface DriverInterface
See Also:
DriverInterface.setExpressionsEnabled(boolean)

processTest

protected abstract StatusInterface processTest()
This is the one that actually opens and loops through our tests records! Typically, DriverInterface subclasses like SAFSDRIVER will be used to provide the concrete implementation.

See Also:
SAFSDRIVER.processTest()