[rules-users] Not able to detect how to correct ERR 102

Wolfgang Laun wolfgang.laun at gmail.com
Fri Mar 21 13:02:36 EDT 2014


The corrected version of dsl and dslr works fine.
-----------
[condition][]There is a Customer with first name {name}=
                 $customer : Customer(firstName == {name})
[consequence][]Greet Customer=
                   System.out.println("Hello " + $customer.getFirstName());
-----------
package dsltest;
rule "hello rule"
when
    There is a Customer with first name "David"
then
    Greet Customer
end
------------

You don't have to write the DSL all in one line. (I fixed that some time ago.)

The error message suggests that translation fails.
1) Make sure the DSLR is *exactly* as above. (The package could be
different, and there is tolerance w.r.t. spacing between words.)
2) ALWAYS print builder errors (see below).
3) Make sure you pass resources correctly to the builder. This is how
it is done for 5.x:

	KnowledgeBaseConfiguration kBaseConfig =
	    KnowledgeBaseFactory.newKnowledgeBaseConfiguration();
	KnowledgeBuilderConfiguration kbConfig =
	    KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration();
	KnowledgeBuilder kBuilder =
	    KnowledgeBuilderFactory.newKnowledgeBuilder( kbConfig );

	Resource dsl  = ResourceFactory.newFileResource( dslPath );
	Resource dslr = ResourceFactory.newFileResource( dslrPath );
	long t0 = System.currentTimeMillis();
	kBuilder.add( dsl,  ResourceType.DSL );
	kBuilder.add( dslr, ResourceType.DSLR );
	if( kBuilder.hasErrors() ){
            System.err.println( ">>> compilation errors >>>" );
	    KnowledgeBuilderErrors errors = kBuilder.getErrors();
	    for( KnowledgeBuilderError err: errors ){
		System.err.println( err.getMessage() );
	    }
	    System.err.println( "<<< compilation errors <<<" );
	    throw new IllegalStateException( "compile errors" );
        }
	kBase = KnowledgeBaseFactory.newKnowledgeBase( kBaseConfig );
	kBase.addKnowledgePackages( kBuilder.getKnowledgePackages() );
	kSession = kBase.newStatefulKnowledgeSession();

-W



On 21/03/2014, Michael Anstis <michael.anstis at gmail.com> wrote:
> Out of interest what JVM do you use?
>
> We have this recorded:
> https://bugzilla.redhat.com/show_bug.cgi?id=1078839(but it's on IBM's
> JVM).
>
>
> On 21 March 2014 14:17, ankit3j <ankit3j at gmail.com> wrote:
>
>> Yes Maxime. They both are in same folder.
>>
>>
>>
>> --
>> View this message in context:
>> http://drools.46999.n3.nabble.com/Not-able-to-detect-how-to-correct-ERR-102-tp4028884p4028900.html
>> Sent from the Drools: User forum mailing list archive at Nabble.com.
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>


More information about the rules-users mailing list