[rules-users] Not able to detect how to correct ERR 102
ankit3j
ankit3j at gmail.com
Sun Mar 23 22:16:43 EDT 2014
Thanks Wolfgand Laun. Finally it worked. It was indeed a translation error
as the VM was not able to find the DSL file. I changed the content as
suggested, included an expander statement and it worked fine.
On Fri, Mar 21, 2014 at 10:33 PM, laune [via Drools] <
ml-node+s46999n4028907h99 at n3.nabble.com> wrote:
> 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
>
>
>
>
-----
-- Ankit
--
View this message in context: http://drools.46999.n3.nabble.com/Not-able-to-detect-how-to-correct-ERR-102-tp4028884p4028925.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140323/99f805f8/attachment.html
More information about the rules-users
mailing list