org.sandev.basics.MessageDriver
Class MessageDriverNodeDecl

java.lang.Object
  extended by org.sandev.basics.MessageDriver.MessageDriverNodeDecl
Direct Known Subclasses:
MessageDriverNodeBase, MessageDriverNodeInstance

public class MessageDriverNodeDecl
extends java.lang.Object

MessageDriver generates outgoing messages and checks incoming messages in accordance with the TestScript specifications. At the conclusion of the script it signals for systemwide shutdown with the appropriate error code from the Controllable interface.

When a node is being unit tested, it is configured with all of its messaging parameters set to the MessageDriver instance, so the driver can respond to all node I/O.

outbound synchronous message calls:

inbound synchronous message calls:

outbound asynchronous message sends:

inbound asynchronous message calls:


Field Summary
protected  java.lang.String instClassEnumName
          The fully qualified name of the InstanceClassEnumerator to use for message translation.
protected  int maxTestWaitSeconds
          The maximum number of seconds to wait for a test to complete before giving up and returning a timeout status.
protected  int pollingIntervalSeconds
          The number of seconds to wait between checking whether the test has completed.
protected  java.util.Date startupTime
          Override value for the startup time, used to compute an offset from the current system time for use in time sensitive tests.
protected  java.lang.String testScriptFilename
          The full file specification of the script to be run.
protected  java.lang.String uniqueIDMgrName
          The fully qualified name of the UniqueIDManager implementation to use for remapping IDs for default AggregateUpdate processing.
 
Constructor Summary
MessageDriverNodeDecl()
           
 
Method Summary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

testScriptFilename

protected java.lang.String testScriptFilename
The full file specification of the script to be run. This is set by the application at runtime when the testscript is invoked. The node loads the specified script and runs it.

Length in characters, normal: 40 max: 80

instClassEnumName

protected java.lang.String instClassEnumName
The fully qualified name of the InstanceClassEnumerator to use for message translation. Typically this value would be the name of the AppInstanceClassEnumerator generated class in the util directory for the driving application.

declared invalid value: "INVALID_INSTANCECLASSENUMERATOR_NAME"
Length in characters, normal: 60 max: 80

uniqueIDMgrName

protected java.lang.String uniqueIDMgrName
The fully qualified name of the UniqueIDManager implementation to use for remapping IDs for default AggregateUpdate processing. The implementing class must implement notifyImport and remapIDs without requiring the init method to be called first.

declared invalid value: "INVALID_UNIQUEIDMANAGER_NAME"
Length in characters, normal: 60 max: 80

maxTestWaitSeconds

protected int maxTestWaitSeconds
The maximum number of seconds to wait for a test to complete before giving up and returning a timeout status. Note that there may be other timeouts (such as web server settings) that may kick in before this timer is reached, but this provides some tuning capability.

declared default value: 120
range match expression: > 0

pollingIntervalSeconds

protected int pollingIntervalSeconds
The number of seconds to wait between checking whether the test has completed. Normally set to a relatively low number to avoid introducing artificial test latency, but not so low that we are polling incessantly.

declared default value: 2
range match expression: > 0

startupTime

protected java.util.Date startupTime
Override value for the startup time, used to compute an offset from the current system time for use in time sensitive tests. If this is configured with the zero date (the default), then the value is replaced with the current system time at node startup resulting in no time offset. Otherwise the time offset is calculated from the system time and used for things like default message handling.

The value of this parameter can be modified at runtime through a TestAction with a targetNodeOverride of "this". The startup time is changed and the offset recalculated dynamically without restarting the node.

declared default value: 0
declared printname: startup time
Constructor Detail

MessageDriverNodeDecl

public MessageDriverNodeDecl()