Quintiq file version 2.0
|
#parent: #root
|
MethodOverride CreateIssue (LibOpt_SnapshotSuboptimizer snapshotsuboptimizer, String issuetype, const constcontent LibOpt_StatisticSeverityScaleEntrys severityscaleentries_lowerthresholdviolation,
|
const constcontent LibOpt_StatisticSeverityScaleEntrys severityscaleentries_upperthresholdviolation)
|
{
|
Description: 'Create a `LibOpt_Issue` for the given "snapshot suboptimizer" (`LibOpt_SnapshotSuboptimizer`) if its `LibOpt_SnapshotSuboptimizer.Improvement` value corresponding to this statistic violates the `LowerThreshold` / `UpperThreshold`.'
|
TextBody:
|
[*
|
// Variables needed for Issues creation.
|
shouldcreateissue := false;
|
severity := 0.0;
|
|
kpi_improvement := BinaryValueUtils::RealVectorGetElement( snapshotsuboptimizer,
|
attribute( LibOpt_SnapshotSuboptimizer, Improvement ),
|
this.KPILevel() - 1
|
);
|
|
if( kpi_improvement < this.LowerThreshold() )
|
{
|
shouldcreateissue := true;
|
|
severity := this.GetSeverity( kpi_improvement, false /*is upper threshold violation*/, severityscaleentries_lowerthresholdviolation );
|
}
|
else if( kpi_improvement > this.UpperThreshold() )
|
{
|
shouldcreateissue := true;
|
|
severity := this.GetSeverity( kpi_improvement, true /*is upper threshold violation*/, severityscaleentries_upperthresholdviolation );
|
}
|
|
if( shouldcreateissue )
|
{
|
// Create an Issue and link it to the relevant Snapshot.
|
LibOpt_Issue::Create( this,
|
snapshotsuboptimizer,
|
issuetype,
|
this.Focus() + ', ' + Translations::LibOpt_IterationNr( snapshotsuboptimizer.GetIteration().IterationNr(), this.Run().TotalNrOfIterations() ),
|
severity,
|
Translations::LibOpt_Issue_Details_SuboptimizerKPIImprovement( kpi_improvement,
|
this.LowerThreshold(),
|
this.UpperThreshold(),
|
LibOpt_Statistic::GetFormat( kpi_improvement,
|
this.LowerThreshold(),
|
this.UpperThreshold() ) )
|
);
|
}
|
*]
|
}
|