Quintiq file version 2.0
|
#parent: #root
|
MethodOverride CreateIssues
|
{
|
Description: 'Create `LibOpt_Issues` to highlight potential issues about values collected by this `LibOpt_StatisticLogEntry`.'
|
TextBody:
|
[*
|
// Variables needed for Issues creation.
|
issuetype := this.GetIssueType();
|
|
if( this.CheckHasSpecificComponent() )
|
{
|
numbervector_logentrycounts := NumberVector::Construct( RealVector::Construct( this.ValuesAsRealVector() ) );
|
|
booleanvector_logentrycounts_nonzero := numbervector_logentrycounts.GreaterThan( 0 );
|
indexvector_logentrycounts_nonzero := booleanvector_logentrycounts_nonzero.AsIndexVector();
|
|
if( indexvector_logentrycounts_nonzero.Size() > 0 )
|
{
|
iterations := selectsortedset( this, Run.Iteration, iteration,
|
// FILTER
|
true,
|
// VALUE
|
iteration.IterationNr()
|
);
|
|
traverse( indexvector_logentrycounts_nonzero.AsValues(), Elements, index )
|
{
|
iteration := iterations.Element( index );
|
assert( iteration.IterationNr() = index + 1,
|
'`LibOpt_StatisticLogEntry::GenerateIssue`:',
|
'The "iteration" retrieved using the "index" of', index, 'has an `IterationNr` of', iteration.IterationNr(),
|
'while it is expected to be', index + 1
|
);
|
|
// Use the 'SnapshotOwning' of the relevant iteration to set the 'Snapshot' relation for the issue to be created.
|
snapshotowningofiteration := iteration.SnapshotOwning(); // This is a workaround to link the issue to the iteration.
|
// We can't set a procedural relation for a `LibOpt_Iteration`,
|
// as it is a declaratively instantiated type.
|
|
// Create an Issue and link it to the relevant Snapshot.
|
LibOpt_Issue::Create( this,
|
snapshotowningofiteration,
|
issuetype,
|
this.Focus() + ', ' + Translations::LibOpt_IterationNr( iteration.IterationNr(), this.Run().TotalNrOfIterations() ),
|
this.GetSeverity( iteration ),
|
this.GetIssueDetails( numbervector_logentrycounts.Get( index ) )
|
);
|
}
|
}
|
}
|
else
|
{
|
// Create an Issue that isn't linked to a particular Snapshot.
|
LibOpt_Issue::Create( this,
|
null( LibOpt_Snapshot ),
|
issuetype,
|
this.Focus(),
|
this.GetSeverity(),
|
this.GetIssueDetails( this.NrElements() )
|
);
|
}
|
*]
|
}
|