Search in sources :

Example 1 with VerifierComponent

use of org.drools.verifier.data.VerifierComponent in project drools by kiegroup.

the class ExprConstraintDescrVisitorTest method assertContainsEval.

private void assertContainsEval(String eval) {
    Collection<VerifierComponent> allEvals = verifierData.getAll(VerifierComponentType.PREDICATE);
    for (VerifierComponent component : allEvals) {
        Eval evalObject = (Eval) component;
        if (eval.equals(evalObject.getContent())) {
            return;
        }
    }
    fail(String.format("Could not find Eval : %s ", eval));
}
Also used : VerifierComponent(org.drools.verifier.data.VerifierComponent)

Example 2 with VerifierComponent

use of org.drools.verifier.data.VerifierComponent in project drools by kiegroup.

the class NestedPatternsTest method runVisitor.

@Test
public void runVisitor() throws Exception {
    VerifierData data = VerifierReportFactory.newVerifierData();
    PackageDescrVisitor visitor = new PackageDescrVisitor(data, Collections.EMPTY_LIST);
    assertNotNull(data);
    Reader drlReader = new InputStreamReader(getClass().getResourceAsStream("NestedPatterns.drl"));
    PackageDescr packageDescr = new DrlParser(LanguageLevelOption.DRL5).parse(drlReader);
    assertNotNull(packageDescr);
    visitor.visitPackageDescr(packageDescr);
    Collection<VerifierComponent> all = data.getAll();
    int patternCount = 0;
    for (VerifierComponent verifierComponent : all) {
        if (verifierComponent.getVerifierComponentType().equals(VerifierComponentType.PATTERN)) {
            patternCount++;
        }
    }
    assertEquals(4, patternCount);
    Collection<Pattern> patterns = data.getAll(VerifierComponentType.PATTERN);
    // for ( Pattern pattern : patterns ) {
    // System.out.println( pattern.getPath() + " " + pattern );
    // }
    assertNotNull(patterns);
    assertEquals(4, patterns.size());
    Collection<Restriction> restrictions = data.getAll(VerifierComponentType.RESTRICTION);
    // for ( Restriction restriction : restrictions ) {
    // System.out.println( restriction.getPath() + " " + restriction );
    // }
    assertNotNull(restrictions);
    assertEquals(3, restrictions.size());
}
Also used : Pattern(org.drools.verifier.components.Pattern) InputStreamReader(java.io.InputStreamReader) Reader(java.io.Reader) InputStreamReader(java.io.InputStreamReader) VerifierComponent(org.drools.verifier.data.VerifierComponent) Restriction(org.drools.verifier.components.Restriction) VerifierData(org.drools.verifier.data.VerifierData) DrlParser(org.drools.compiler.compiler.DrlParser) PackageDescr(org.drools.compiler.lang.descr.PackageDescr) Test(org.junit.Test)

Example 3 with VerifierComponent

use of org.drools.verifier.data.VerifierComponent in project drools by kiegroup.

the class VerifierComponentTest method testVisit.

@Test
public void testVisit() throws Exception {
    // Drools Package description from Drl file
    Reader drlReader = new InputStreamReader(Verifier.class.getResourceAsStream("Misc3.drl"));
    PackageDescr descr = new DrlParser(LanguageLevelOption.DRL5).parse(drlReader);
    // Drools Verifier objects
    VerifierData verifierData = VerifierReportFactory.newVerifierData();
    PackageDescrVisitor visitor = new PackageDescrVisitor(verifierData, Collections.EMPTY_LIST);
    visitor.visitPackageDescr(descr);
    // Collect the results.
    Collection<VerifierComponent> datas = verifierData.getAll();
    VerifierComponent[] components = datas.toArray(new VerifierComponent[datas.size()]);
    // Misc3.drl
    assertVerifierComponent((TextConsequence) components[0], 51);
    assertVerifierComponent((TextConsequence) components[1], 42);
    assertVerifierComponent((Field) components[2], 48);
    assertVerifierComponent((Field) components[3], 39);
    assertVerifierComponent((Field) components[4], 40);
    assertVerifierComponent((Field) components[5], 41);
    assertVerifierComponent((Import) components[6], 19);
    assertVerifierComponent((ObjectType) components[7], 48);
    assertVerifierComponent((ObjectType) components[8], 19);
    assertVerifierComponent((ObjectType) components[9], 39);
    assertVerifierComponent((ObjectType) components[10], 40);
    assertVerifierComponent((ObjectType) components[11], 41);
    assertVerifierComponent((RuleOperatorDescr) components[12], 48);
    assertVerifierComponent((PatternOperatorDescr) components[13], 48);
    assertVerifierComponent((PatternOperatorDescr) components[14], 49);
    assertVerifierComponent((PatternOperatorDescr) components[15], 50);
    assertVerifierComponent((RuleOperatorDescr) components[16], 39);
    assertVerifierComponent((PatternOperatorDescr) components[17], 39);
    assertVerifierComponent((PatternOperatorDescr) components[18], 40);
    assertVerifierComponent((PatternOperatorDescr) components[19], 41);
    assertVerifierComponent((Pattern) components[20], 48);
    assertVerifierComponent((Pattern) components[21], 49);
    assertVerifierComponent((Pattern) components[22], 50);
    assertVerifierComponent((Pattern) components[23], 39);
    assertVerifierComponent((Pattern) components[24], 40);
    assertVerifierComponent((Pattern) components[25], 41);
    assertVerifierComponent((NumberRestriction) components[26], 48);
    assertVerifierComponent((NumberRestriction) components[27], 49);
    assertVerifierComponent((NumberRestriction) components[28], 50);
    assertVerifierComponent((NumberRestriction) components[29], 39);
    assertVerifierComponent((NumberRestriction) components[30], 40);
    assertVerifierComponent((NumberRestriction) components[31], 41);
    assertVerifierComponent((NumberRestriction) components[32], 41);
    assertVerifierComponent((VerifierRule) components[33], 46);
    assertVerifierComponent((VerifierRule) components[34], 37);
    assertVerifierComponent((RulePackage) components[35], 17);
    assertVerifierComponent((SubPattern) components[36], 48);
    assertVerifierComponent((SubPattern) components[37], 49);
    assertVerifierComponent((SubPattern) components[38], 50);
    assertVerifierComponent((SubPattern) components[39], 39);
    assertVerifierComponent((SubPattern) components[40], 40);
    assertVerifierComponent((SubPattern) components[41], 41);
    assertVerifierComponent((SubRule) components[42], 46);
    assertVerifierComponent((SubRule) components[43], 37);
    assertVerifierComponent((WorkingMemory) components[44], -1);
}
Also used : InputStreamReader(java.io.InputStreamReader) VerifierData(org.drools.verifier.data.VerifierData) Reader(java.io.Reader) InputStreamReader(java.io.InputStreamReader) DrlParser(org.drools.compiler.compiler.DrlParser) Verifier(org.drools.verifier.Verifier) PackageDescr(org.drools.compiler.lang.descr.PackageDescr) VerifierComponent(org.drools.verifier.data.VerifierComponent) Test(org.junit.Test)

Example 4 with VerifierComponent

use of org.drools.verifier.data.VerifierComponent in project drools by kiegroup.

the class Solvers method createRulePossibilities.

private void createRulePossibilities() {
    for (Set<VerifierComponent> list : ruleSolver.getPossibilityLists()) {
        SubRule possibility = new SubRule(ruleSolver.getRule(), subRuleIndex++);
        for (VerifierComponent descr : list) {
            possibility.add((RuleComponent) descr);
        }
        rulePossibilities.add(possibility);
    }
}
Also used : SubRule(org.drools.verifier.components.SubRule) VerifierComponent(org.drools.verifier.data.VerifierComponent)

Example 5 with VerifierComponent

use of org.drools.verifier.data.VerifierComponent in project drools by kiegroup.

the class Solvers method createPatternPossibilities.

private void createPatternPossibilities() {
    List<Set<VerifierComponent>> lists = patternSolver.getPossibilityLists();
    if (lists.size() == 0) {
        SubPattern subPattern = newSubPattern();
        ruleSolver.add(subPattern);
        subPatterns.add(subPattern);
    } else {
        for (Set<VerifierComponent> list : lists) {
            SubPattern subPattern = newSubPattern();
            for (VerifierComponent descr : list) {
                subPattern.add((PatternComponent) descr);
            }
            ruleSolver.add(subPattern);
            subPatterns.add(subPattern);
        }
    }
}
Also used : Set(java.util.Set) SubPattern(org.drools.verifier.components.SubPattern) VerifierComponent(org.drools.verifier.data.VerifierComponent)

Aggregations

VerifierComponent (org.drools.verifier.data.VerifierComponent)7 PackageDescr (org.drools.compiler.lang.descr.PackageDescr)4 Test (org.junit.Test)4 InputStreamReader (java.io.InputStreamReader)2 Reader (java.io.Reader)2 DrlParser (org.drools.compiler.compiler.DrlParser)2 Verifier (org.drools.verifier.Verifier)2 SubPattern (org.drools.verifier.components.SubPattern)2 SubRule (org.drools.verifier.components.SubRule)2 VerifierData (org.drools.verifier.data.VerifierData)2 HashSet (java.util.HashSet)1 Set (java.util.Set)1 Pattern (org.drools.verifier.components.Pattern)1 Restriction (org.drools.verifier.components.Restriction)1