Quintiq file version 2.0
|
#parent: #root
|
Method PTF_ValidateStatement (
|
String action,
|
structured[String] parameters
|
) as String id:Method_LibPTF_dlgCreateEditTestScript_PTF_ValidateStatement
|
{
|
#keys: '[103546.0.109833699]'
|
Body:
|
[*
|
// Checks the statement with various validation based on the action
|
errormsg := ""
|
paramsize := parameters.Size();
|
|
// No parameters
|
if( action = LibPTF_StandardAction::AutoClose()
|
or action = LibPTF_StandardAction::CloseAllForms()
|
or action = LibPTF_StandardAction::EndLoop()
|
or action = LibPTF_StandardAction::ProfilerStart()
|
)
|
{
|
errormsg := this.PTF_ValidateParametersSize( action, paramsize, 0 );
|
}
|
// Exactly one parameter
|
else if( action = LibPTF_StandardAction::OpenView()
|
or action = LibPTF_StandardAction::Loop()
|
)
|
{
|
errormsg := this.PTF_ValidateParametersSize( action, paramsize, 1 );
|
|
if( errormsg.Length() = 0 and action = LibPTF_StandardAction::Loop() )
|
{
|
errormsg := this.PTF_ValidateGreaterThanZeroInteger( action, parameters.Element( 0 ), 1 );
|
}
|
}
|
// Exactly two parameter
|
else if( action = LibPTF_StandardAction::ScrollGCToBottom()
|
or action = LibPTF_StandardAction::ScrollGCToNow()
|
or action = LibPTF_StandardAction::ScrollGCToTop()
|
or action = LibPTF_StandardAction::ScrollListToLast()
|
or action = LibPTF_StandardAction::Wait()
|
)
|
{
|
errormsg := this.PTF_ValidateParametersSize( action, paramsize, 2 );
|
|
// This whole block will be executed if action = "Wait"
|
if( action = LibPTF_StandardAction::Wait() )
|
{
|
if( errormsg.Length() = 0 )
|
{
|
errormsg := this.PTF_ValidatePositiveNumericValue( action, parameters.Element( 0 ), 1 );
|
|
if( errormsg.Length() = 0 )
|
{
|
errormsg := this.PTF_ValidatePositiveNumericValue( action, parameters.Element( 1 ), 2 );
|
}
|
}
|
else
|
{
|
custommsg := 'Action "' + action + '" should have 1 or 2 parameters. Found ' + [String]paramsize + ' instead.' + String::NewLine();
|
errormsg := this.PTF_ValidateParametersSizeShowCustomMsg( action, paramsize, 1, custommsg );
|
|
if( errormsg.Length() = 0 )
|
{
|
errormsg := this.PTF_ValidatePositiveNumericValue( action, parameters.Element( 0 ), 1 );
|
}
|
}
|
}
|
}
|
// Exactly three parameters
|
else if( action = LibPTF_StandardAction::ScrollGCLeftRight()
|
or action = LibPTF_StandardAction::ScrollGCPageLeftRight()
|
or action = LibPTF_StandardAction::ScrollGCPageUpDown()
|
or action = LibPTF_StandardAction::ScrollGCUpDown()
|
or action = LibPTF_StandardAction::SelectListFrom()
|
or action = LibPTF_StandardAction::ZoomGC()
|
)
|
{
|
errormsg := this.PTF_ValidateParametersSize( action, paramsize, 3 );
|
|
if( errormsg.Length() = 0 )
|
{
|
if( action = LibPTF_StandardAction::SelectListFrom() )
|
{
|
errormsg := this.PTF_ValidatePositiveInteger( action, parameters.Element( 2 ), 3 );
|
}
|
// Other actions: "ScrollGCLeftRight", "ScrollGCPageLeftRight", "ScrollGCPageUpDown", "ScrollGCUpDown", "ZoomGC"
|
else
|
{
|
errormsg := this.PTF_ValidateInteger( action, parameters.Element( 2 ), 3 );
|
}
|
}
|
}
|
// Zero or one parameter
|
else if( action = LibPTF_StandardAction::ProfilerReset()
|
or action = LibPTF_StandardAction::ProfilerStop()
|
)
|
{
|
errormsg := this.PTF_ValidateParametersWithOptionalParamSize( action, paramsize, 0, 1 );
|
}
|
|
return errormsg;
|
*]
|
}
|