[rules-users] Facing Problem in BRL

Sumeet Karawal sumeet.karawal at tcs.com
Wed May 18 05:31:43 EDT 2011


This is my drools.package file:

I have just created a package and imported the required class in this file.

  //This is a package configuration file
  package com.rules;

  import com.model.PersonDetails;

  //Add imports, globals etc here which will be used by all the rule assets
  in this folder.

Regards,
Sumeet Karawal
Mailto: sumeet.karawal at tcs.com



                                                                                                                       
  From:       Michael Anstis <michael.anstis at gmail.com>                                                                
                                                                                                                       
  To:         Rules Users List <rules-users at lists.jboss.org>                                                           
                                                                                                                       
  Date:       05/18/2011 02:54 PM                                                                                      
                                                                                                                       
  Subject:    Re: [rules-users] Facing Problem in BRL                                                                  
                                                                                                                       
  Sent by:    rules-users-bounces at lists.jboss.org                                                                      
                                                                                                                       





This looks rogue:-

//Add imports, globals etc here which will be used by all the rule assets
in this folder

Can you post the content of your drools.packages file?

On 18 May 2011 10:19, Sumeet Karawal <sumeet.karawal at tcs.com> wrote:
  This is the output that I get :

  //This is a package configuration file
  package com.rules;

  import com.model.PersonDetails;

  //Add imports, globals etc here which will be used by all the rule assets
  in this folder.rule "example"
         dialect "mvel"
         when
                 $person : PersonDetails( age < "20" )
         then
                 $person.setDiscount( 10 );
  end

  java.lang.RuntimeException: [8,1]: [ERR 102] Line 8:1 mismatched input
  'WHEN'


  Regards,
  Sumeet Karawal
  Mailto: sumeet.karawal at tcs.com



   From:       "Abhay B. Chaware" <Abhay.Chaware at kpitcummins.com>

   To:         Rules Users List <rules-users at lists.jboss.org>

   Date:       05/18/2011 02:47 PM

   Subject:    Re: [rules-users] Facing Problem in BRL

   Sent by:    rules-users-bounces at lists.jboss.org






  Can you write the outputDRL to System.out and check if the generated DRL
  syntax is correct ?

  System.out.println(outputDRL);

  Before instantiating KnowledgeBuilder




  -----Original Message-----
  From: rules-users-bounces at lists.jboss.org [
  mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Sumeet Karawal
  Sent: Wednesday, May 18, 2011 2:42 PM
  To: Rules Users List
  Subject: Re: [rules-users] Facing Problem in BRL

  I tried to use this also but now I am getting different error:
  java.lang.RuntimeException: [8,1]: [ERR 102] Line 8:1 mismatched input
  'WHEN'


  Also, what is the significance of the first line. I have copied it as the
  same.

  My code is :

       String curDir = System.getProperty("user.dir");
                  String fileName = curDir + "\\src\\com\\rules
  \\drools.package";
                  String rulePackageContent = FileUtils.readFileToString
  (new
  File
  (fileName));
                  fileName = curDir + "\\src\\com\\rules\\example.brl";
                  String brl = FileUtils.readFileToString(new File
  (fileName));
                  BRLPersistence read = BRXMLPersistence.getInstance();
                  BRLPersistence write = BRDRLPersistence.getInstance();
                  String outputDRL = rulePackageContent + write.marshal
  (read.unmarshal
  (brl));
                  KnowledgeBuilder builder = KnowledgeBuilderFactory.
  newKnowledgeBuilder();
                  builder.add(ResourceFactory.newReaderResource(new
  StringReader
  (outputDRL)), ResourceType.DRL);


     if (builder.hasErrors()) {
       throw new RuntimeException (builder.getErrors().toString ());
     }
     KnowledgeBase knowledgeBase = KnowledgeBaseFactory.newKnowledgeBase();
     knowledgeBase.addKnowledgePackages(builder.getKnowledgePackages ());

  I don't know where I am getting this wrong.

  Regards,
  Sumeet Karawal
  Mailto: sumeet.karawal at tcs.com



   From:       "Abhay B. Chaware" <Abhay.Chaware at kpitcummins.com>


   To:         Rules Users List <rules-users at lists.jboss.org>


   Date:       05/18/2011 01:09 PM


   Subject:    Re: [rules-users] Facing Problem in BRL


   Sent by:    rules-users-bounces at lists.jboss.org







  I haven't been able to get "ResourceType.BRL" to work. This is how I do
  it ..

  String curDir = System.getProperty("user.dir");
  String fileName = curDir + "\\src\\main\\rules\\drools.package";
  String rulePackageContent = FileUtils.readFileToString(new File
  (fileName));

  fileName = curDir + "\\src\\main\\rules\\eligibility.brl";
  String brl = FileUtils.readFileToString(new File(fileName));
  BRLPersistence read = BRXMLPersistence.getInstance();
  BRLPersistence write = BRDRLPersistence.getInstance();
  String outputDRL = rulePackageContent + write.marshal(read.unmarshal
  (brl));

  KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder
  ();
  kbuilder.add(ResourceFactory.newReaderResource(new StringReader
  (outputDRL)), ResourceType.DRL);


  Try this.


  -abhay

  -----Original Message-----
  From: rules-users-bounces at lists.jboss.org [
  mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Sumeet Karawal
  Sent: Wednesday, May 18, 2011 11:47 AM
  To: Rules Users List
  Subject: Re: [rules-users] Facing Problem in BRL

  This is the brl that I have created:


  (Embedded image moved to file: pic18001.jpg)


  Regards,
  Sumeet Karawal
  Mailto: sumeet.karawal at tcs.com



   From:       "Abhay B. Chaware" <Abhay.Chaware at kpitcummins.com>


   To:         Rules Users List <rules-users at lists.jboss.org>


   Date:       05/18/2011 11:42 AM


   Subject:    Re: [rules-users] Facing Problem in BRL


   Sent by:    rules-users-bounces at lists.jboss.org







  Could you post your rule content here ?


  -----Original Message-----
  From: rules-users-bounces at lists.jboss.org [
  mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Sumeet Karawal
  Sent: Wednesday, May 18, 2011 11:38 AM
  To: rules-users at lists.jboss.org
  Subject: [rules-users] Facing Problem in BRL


  Hi,

  I am using Drools-Expert. I am having a class "Person" with data members
  as
  age and discount.
  I am trying to create a .brl. I have these statements in drools.package
  package com.rules;

  import com.model.PersonDetails;


  and in the example.brl I am providing the details of when and then
  conditions

  but on execution I am getting the following error :

  java.lang.RuntimeException: [4] Unable to expand: PersonDetails( age <
  "20" )[6] Unable to expand:
  PersonDetails fact0 = new
  PersonDetails
  ();[7] Unable to expand:
  fact0.setDiscount
  ( 10 );[8] Unable to
  expand:
                                    insert(fact0 );


  It would be helpful is somebody guide me on how execute it.

  Also, I am creating the knowledgebase as:

  private static KnowledgeBase createKnowledgeBase() {
   KnowledgeBuilder builder = KnowledgeBuilderFactory.newKnowledgeBuilder
  ();
     builder.add (ResourceFactory.newClassPathResource(
  "com/rules/example.brl"),ResourceType.BRL);
     if (builder.hasErrors()) {
       throw new RuntimeException (builder.getErrors().toString ());
     }
     KnowledgeBase knowledgeBase = KnowledgeBaseFactory.newKnowledgeBase();
     knowledgeBase.addKnowledgePackages(builder.getKnowledgePackages ());
     return knowledgeBase;}


  Thanks & Regards,
  Sumeet Karawal
  CEG - Open Source Technology Group
  Tata Consultancy Services
  Ph:- +912267782556
  Cell:- +919833236440
  Mailto: sumeet.karawal at tcs.com
  Website: http://www.tcs.com
  ____________________________________________
  Experience certainty.
  IT
  Services

  Business Solutions

  Outsourcing
  ____________________________________________

  =====-----=====-----=====
  Notice: The information contained in this e-mail
  message and/or attachments to it may contain
  confidential or privileged information. If you are
  not the intended recipient, any dissemination, use,
  review, distribution, printing or copying of the
  information contained in this e-mail message
  and/or attachments to it are strictly prohibited. If
  you have received this communication in error,
  please notify us by reply e-mail or telephone and
  immediately and permanently delete the message
  and any attachments. Thank you



  _______________________________________________
  rules-users mailing list
  rules-users at lists.jboss.org
  https://lists.jboss.org/mailman/listinfo/rules-users



  _______________________________________________
  rules-users mailing list
  rules-users at lists.jboss.org
  https://lists.jboss.org/mailman/listinfo/rules-users

  =====-----=====-----=====
  Notice: The information contained in this e-mail
  message and/or attachments to it may contain
  confidential or privileged information. If you are
  not the intended recipient, any dissemination, use,
  review, distribution, printing or copying of the
  information contained in this e-mail message
  and/or attachments to it are strictly prohibited. If
  you have received this communication in error,
  please notify us by reply e-mail or telephone and
  immediately and permanently delete the message
  and any attachments. Thank you



  _______________________________________________
  rules-users mailing list
  rules-users at lists.jboss.org
  https://lists.jboss.org/mailman/listinfo/rules-users



  =====-----=====-----=====
  Notice: The information contained in this e-mail
  message and/or attachments to it may contain
  confidential or privileged information. If you are
  not the intended recipient, any dissemination, use,
  review, distribution, printing or copying of the
  information contained in this e-mail message
  and/or attachments to it are strictly prohibited. If
  you have received this communication in error,
  please notify us by reply e-mail or telephone and
  immediately and permanently delete the message
  and any attachments. Thank you



  _______________________________________________
  rules-users mailing list
  rules-users at lists.jboss.org
  https://lists.jboss.org/mailman/listinfo/rules-users



  _______________________________________________
  rules-users mailing list
  rules-users at lists.jboss.org
  https://lists.jboss.org/mailman/listinfo/rules-users



  =====-----=====-----=====
  Notice: The information contained in this e-mail
  message and/or attachments to it may contain
  confidential or privileged information. If you are
  not the intended recipient, any dissemination, use,
  review, distribution, printing or copying of the
  information contained in this e-mail message
  and/or attachments to it are strictly prohibited. If
  you have received this communication in error,
  please notify us by reply e-mail or telephone and
  immediately and permanently delete the message
  and any attachments. Thank you



  _______________________________________________
  rules-users mailing list
  rules-users at lists.jboss.org
  https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users



=====-----=====-----=====
Notice: The information contained in this e-mail
message and/or attachments to it may contain 
confidential or privileged information. If you are 
not the intended recipient, any dissemination, use, 
review, distribution, printing or copying of the 
information contained in this e-mail message 
and/or attachments to it are strictly prohibited. If 
you have received this communication in error, 
please notify us by reply e-mail or telephone and 
immediately and permanently delete the message 
and any attachments. Thank you







More information about the rules-users mailing list