Hi Wolfgang,
Many thanks for you answer! I finally decided to download Drools sources
in order to debug my program.
Following your advice (starting from EvaluatorRegistry), I finally found
that adding a simple "PackageBuilder builder = new PackageBuilder();"
statement at the beginning of my program does the trick. For a reason
that I don't understand (maybe a ClassLoader or static initialization
side-effect), even though that "builder" variable is not used
afterwards, it helps my DrlParser accepting the "matches" operator.
So the final code is (for those interested in):
PackageBuilder builder = new PackageBuilder(); // not used
Resource brlresource =
ResourceFactory.newClassPathResource("com/sample/TestRule.brl");
BusinessRuleProvider provider =
BusinessRuleProviderFactory.getInstance().getProvider();
Reader knowledge = provider.getKnowledgeReader(brlresource);
DrlParser parser = new DrlParser();
PackageDescr pkg = parser.parse(knowledge);
Cheers,
Bruno.
Wolfgang Laun a écrit :
All the operators that are represented as Keywords must be made
known
to the parser;
this includes all the predefined ones. This is done in class EvaluatorRegistry..
See org/drools/base/evaluators/EvaluatorRegistry,java and
org/drools/compiler/PackageBuilderConfiguration.java.
Best
-W
On 18 October 2010 11:05, Bruno Freudensprung
<bruno.freudensprung(a)temis.com> wrote:
> Hi,
>
> I am using Drools 5.1.1 (but also tried with 5.2.0.SNAPSHOT) to achieve
> the following scenario:
> 1 - use the Drools' Eclipse graphical rule editor to create a BRL file
> 2 - convert the BRL to DRL using the
> org.drools.ide.common.server.util.BRXMLPersistence and
> org.drools.ide.common.server.util.BRDRLPersistence classes
> 3 - parse the DRL with the org.drools.compiler.DrlParser class (in order
> to do some things)
>
> I have a problem with DrlParser class that does not seem to accept the
> "matches" and "soundslike" operators.
> With the following rule... :
>
> rule "TestRule"
> dialect "mvel"
> when
> Document( text soundslike "drink" )
> then
> // some
> end
>
> ... I get that error message from the DrlParser:
>
> src/main/resources/org/drools/lang/DescrBuilderTree.g: node from line
> 0:0 mismatched tree node: <unexpected:
> [@15,55:64='soundslike',<83>,4:17], resync=soundslike> expecting
<UP>
>
> Does anyone has an idea of what's going on?
> Many thanks,
>
> Bruno.
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
>
>
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users