@SuppressWarnings("unchecked") // NOSONAR (Avoid Duplicate Literals)
    private void processEachDataProviderWithEachRule() {
        // For each data provider
        for (DataProvider<DPO> dataProvider : dataProviders) {
            // Get the data provider output
            Object transformedOutput = dataProvider.getData();

            // Transform the data provider output
            if (dataProviderOutputTransformers != null) {
                for (Transformer transformer : dataProviderOutputTransformers) {
                    transformedOutput = transformer.transform(transformedOutput);
                }
            }

            // Transform the transformed data provider output to rule input
            if (ruleInputTransformers != null) {
                for (Transformer transformer : ruleInputTransformers) {
                    transformedOutput = transformer.transform(transformedOutput);
                }
            }
            RI ruleInput = (RI) transformedOutput;

            // Process the rule input with the rules
            processRules(ruleInput);
        }
    }
@ SuppressWarnings ( "unchecked" ) private void processEachDataProviderWithEachRule ( ) { for ( DataProvider < DPO > dataProvider : dataProviders ) { Object transformedOutput = dataProvider . getData ( ) ; if ( dataProviderOutputTransformers != null ) { for ( Transformer transformer : dataProviderOutputTransformers ) { transformedOutput = transformer . transform ( transformedOutput ) ; } } if ( ruleInputTransformers != null ) { for ( Transformer transformer : ruleInputTransformers ) { transformedOutput = transformer . transform ( transformedOutput ) ; } } RI ruleInput = ( RI ) transformedOutput ; processRules ( ruleInput ) ; } }
Processes the output of each data provider one by one with each rule.