Search in sources :

Example 36 with PackageDescr

use of org.drools.drl.ast.descr.PackageDescr in project drools by kiegroup.

the class ExprConstraintDescrVisitorTest method testVisitPerson.

@Test
public void testVisitPerson() throws Exception {
    PackageDescr packageDescr = getPackageDescr(getClass().getResourceAsStream("ExprConstraintDescr1.drl"));
    assertNotNull(packageDescr);
    packageDescrVisitor.visitPackageDescr(packageDescr);
    Collection<StringRestriction> allRestrictions = verifierData.getAll(VerifierComponentType.RESTRICTION);
    Collection<Field> allFields = verifierData.getAll(VerifierComponentType.FIELD);
    assertEquals(3, allRestrictions.size());
    assertEquals(3, allFields.size());
    for (Field field : allFields) {
        assertNotNull(field.getFieldType());
    }
    assertContainsField("name");
    assertContainsField("lastName");
    assertContainsField("age");
    assertContainsStringRestriction(Operator.BuiltInOperator.EQUAL.getOperator(), "toni");
    assertContainsStringRestriction(Operator.BuiltInOperator.NOT_EQUAL.getOperator(), "Lake");
    assertContainsNumberRestriction(Operator.BuiltInOperator.GREATER.getOperator(), 20);
    assertContainsEval("eval( true )");
}
Also used : Field(org.drools.verifier.components.Field) StringRestriction(org.drools.verifier.components.StringRestriction) PackageDescr(org.drools.drl.ast.descr.PackageDescr) Test(org.junit.Test)

Example 37 with PackageDescr

use of org.drools.drl.ast.descr.PackageDescr 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.drl.parser.DrlParser) PackageDescr(org.drools.drl.ast.descr.PackageDescr) Test(org.junit.Test)

Example 38 with PackageDescr

use of org.drools.drl.ast.descr.PackageDescr in project drools by kiegroup.

the class PatternDescrVisitorTest method testVisitPatternVariableRestriction.

@Test
public void testVisitPatternVariableRestriction() throws Exception {
    PackageDescr packageDescr = getPackageDescr(getClass().getResourceAsStream("PatternDescrVisitorTest2.drl"));
    assertNotNull(packageDescr);
    packageDescrVisitor.visitPackageDescr(packageDescr);
    assertContainsVariable("Test", "var");
}
Also used : PackageDescr(org.drools.drl.ast.descr.PackageDescr) Test(org.junit.Test)

Example 39 with PackageDescr

use of org.drools.drl.ast.descr.PackageDescr 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.drl.parser.DrlParser) Verifier(org.drools.verifier.Verifier) PackageDescr(org.drools.drl.ast.descr.PackageDescr) VerifierComponent(org.drools.verifier.data.VerifierComponent) Test(org.junit.Test)

Example 40 with PackageDescr

use of org.drools.drl.ast.descr.PackageDescr in project drools by kiegroup.

the class KnowledgeBuilderTest method createRule.

private RuleImpl createRule(final ConditionalElementDescr ceDescr, final KnowledgeBuilderImpl builder, final String consequence) throws Exception {
    final PackageDescr packageDescr = new PackageDescr("p1");
    final RuleDescr ruleDescr = new RuleDescr("rule-1");
    packageDescr.addRule(ruleDescr);
    final AndDescr lhs = new AndDescr();
    ruleDescr.setLhs(lhs);
    lhs.addDescr((BaseDescr) ceDescr);
    final PatternDescr patternDescr = new PatternDescr(Cheese.class.getName(), "stilton");
    patternDescr.addConstraint(new ExprConstraintDescr("type == \"stilton\" "));
    ceDescr.addDescr(patternDescr);
    ruleDescr.setConsequence(consequence);
    builder.addPackage(packageDescr);
    InternalKnowledgePackage pkg = builder.getPackage(packageDescr.getName());
    final RuleImpl rule = pkg.getRule("rule-1");
    assertEquals("rule-1", rule.getName());
    return rule;
}
Also used : PatternDescr(org.drools.drl.ast.descr.PatternDescr) AndDescr(org.drools.drl.ast.descr.AndDescr) RuleDescr(org.drools.drl.ast.descr.RuleDescr) Cheese(org.drools.mvel.compiler.Cheese) RuleImpl(org.drools.core.definitions.rule.impl.RuleImpl) PackageDescr(org.drools.drl.ast.descr.PackageDescr) ExprConstraintDescr(org.drools.drl.ast.descr.ExprConstraintDescr) InternalKnowledgePackage(org.drools.core.definitions.InternalKnowledgePackage)

Aggregations

PackageDescr (org.drools.drl.ast.descr.PackageDescr)262 Test (org.junit.Test)210 RuleDescr (org.drools.drl.ast.descr.RuleDescr)104 PatternDescr (org.drools.drl.ast.descr.PatternDescr)85 KnowledgeBuilderImpl (org.drools.compiler.builder.impl.KnowledgeBuilderImpl)52 AndDescr (org.drools.drl.ast.descr.AndDescr)39 DrlParser (org.drools.drl.parser.DrlParser)39 InternalKnowledgePackage (org.drools.core.definitions.InternalKnowledgePackage)25 InputStreamReader (java.io.InputStreamReader)23 CompositePackageDescr (org.drools.compiler.lang.descr.CompositePackageDescr)23 ExprConstraintDescr (org.drools.drl.ast.descr.ExprConstraintDescr)23 KieSession (org.kie.api.runtime.KieSession)19 List (java.util.List)18 InternalKnowledgeBase (org.drools.kiesession.rulebase.InternalKnowledgeBase)18 XmlPackageReader (org.drools.compiler.compiler.xml.XmlPackageReader)17 GlobalDescr (org.drools.drl.ast.descr.GlobalDescr)17 KiePackage (org.kie.api.definition.KiePackage)17 DrlDumper (org.drools.mvel.DrlDumper)16 Cheese (org.drools.mvel.compiler.Cheese)16 AccumulateDescr (org.drools.drl.ast.descr.AccumulateDescr)15