Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
322e99297f
|
@ -58,16 +58,21 @@ class GuidelineEvaluation {
|
|||
}
|
||||
|
||||
String id = rule.getContext().getIdProperty().getValue();
|
||||
RequirementLevel requirementLevel = getRequirementLevelOf(id);
|
||||
|
||||
if ( status == Status.SUCCESS && getRequirementLevelOf(id) == RequirementLevel.NOT_APPLICABLE ) {
|
||||
if ( status == Status.SUCCESS
|
||||
&& (requirementLevel == RequirementLevel.NOT_APPLICABLE) ) {
|
||||
// Report the non-applicability of a rule as a warning
|
||||
// The check for both status and non-applicable requirement level is redundant
|
||||
// (non-applicable rules always succeed), yet it is more clear, hopefully.
|
||||
logger.warn("Non-applicable: " + rule);
|
||||
warnings.add(synthesizeFailureMessage(rule));
|
||||
}
|
||||
else if ( status == Status.FAILURE ) {
|
||||
if ( getRequirementLevelOf(id) == RequirementLevel.MANDATORY ) {
|
||||
else if ( status == Status.FAILURE )
|
||||
{
|
||||
if ( requirementLevel == RequirementLevel.MANDATORY
|
||||
|| requirementLevel == RequirementLevel.MANDATORY_IF_APPLICABLE )
|
||||
{
|
||||
// A mandatory rule has failed, yet we don't know whether we should report is as such.
|
||||
|
||||
// Let's check the parent of the rule
|
||||
|
@ -83,17 +88,28 @@ class GuidelineEvaluation {
|
|||
// (a) is non-mandatory or
|
||||
// (b) it was successful.
|
||||
// Thus, here we need only to warn and not to err, allowing the evaluation loop to proceed.
|
||||
logger.warn("Mandatory failure: " + rule);
|
||||
if ( requirementLevel == RequirementLevel.MANDATORY )
|
||||
logger.warn("Mandatory failure: " + rule);
|
||||
else
|
||||
logger.warn("Mandatory_If_Applicable failure: " + rule);
|
||||
|
||||
warnings.add(synthesizeFailureMessage(rule));
|
||||
}
|
||||
} else {
|
||||
// This is a warning: a non-mandatory rule has failed.
|
||||
// Note that MA rules are treated as non-mandatory.
|
||||
// We let the evaluation loop proceed.
|
||||
logger.warn("Optional/Recommended failure: " + rule);
|
||||
if ( requirementLevel == RequirementLevel.RECOMMENDED )
|
||||
logger.warn("Recommended failure: " + rule);
|
||||
else if ( requirementLevel == RequirementLevel.OPTIONAL )
|
||||
logger.warn("Optional failure: " + rule);
|
||||
else // This should never happen, but better catch this case, than leave it be.
|
||||
logger.error("UNKNOWN failure: " + rule); // It is not "Mandatory", in any form, though.
|
||||
|
||||
warnings.add(synthesizeFailureMessage(rule));
|
||||
}
|
||||
}
|
||||
// Else it is just "SUCCESS" for an applicable rule, which means there is no error or warning to create.
|
||||
}
|
||||
|
||||
int returnedWeight = weight;
|
||||
|
|
Loading…
Reference in New Issue