if ( !ruleX.getOrganisationUnitLevels().isEmpty() && !ruleX.getOrganisationUnitLevels().contains( orgUnit.getLevel() ) ) Map<String, Double> leftSideValues = getValuesForExpression( ruleX.getRule().getLeftSide(), ruleX.getLeftSlidingWindow() ); Map<String, Double> rightSideValues = getValuesForExpression( ruleX.getRule().getRightSide(), ruleX.getRightSlidingWindow() );
if ( Operator.compulsory_pair.equals( ruleX.getRule().getOperator() ) ) if ( Operator.exclusive_pair.equals( ruleX.getRule().getOperator() ) ) if ( ruleX.getRule().getLeftSide().getMissingValueStrategy() == NEVER_SKIP ) if ( ruleX.getRule().getRightSide().getMissingValueStrategy() == NEVER_SKIP ) return !expressionIsTrue( leftSide, ruleX.getRule().getOperator(), rightSide );
periodX.getRuleXs().add( new ValidationRuleExtended( rule ) );
/** * Validates one rule / period / attribute option combo. * * @param optionCombo the attribute option combo. * @param leftSide left side value. * @param rightSide right side value. */ private void validateOptionCombo( String optionCombo, Double leftSide, Double rightSide ) { // Skipping any results we already know if ( context.skipValidationOfTuple( orgUnit, ruleX.getRule(), period, optionCombo, periodService.getDayInPeriod( period, new Date() ) ) ) { return; } boolean violation = isViolation( leftSide, rightSide ); if ( violation && !context.isAnalysisComplete() ) { validationResults.add( new ValidationResult( ruleX.getRule(), period, orgUnit, getAttributeOptionCombo( optionCombo ), roundSignificant( zeroIfNull( leftSide ) ), roundSignificant( zeroIfNull( rightSide ) ), periodService.getDayInPeriod( period, new Date() ) ) ); } }