Hi,

I am now able to run the examples (by removing the commented statements in
the drools.package file). Thanks a lot for the help.

But how can we create more rules in a brl . Is it possible to create more
than one rule in a brl
as we do in the drl file or do we have to create different brl files for
different rules.

Also is there a way to use the brl directly as we use drl.

Like using :
builder.add (ResourceFactory.newClassPathResource("com/rules/discount.brl"
),ResourceType.BRL);

Thanks & Regards,
Sumeet Karawal
Mailto: [email protected]



                                                                                
                                       
  From:       Michael Anstis <[email protected]>                         
                                       
                                                                                
                                       
  To:         Rules Users List <[email protected]>                    
                                       
                                                                                
                                       
  Date:       05/18/2011 03:31 PM                                               
                                       
                                                                                
                                       
  Subject:    Re: [rules-users] Facing Problem in BRL                           
                                       
                                                                                
                                       
  Sent by:    [email protected]                               
                                       
                                                                                
                                       





I just checked and when I create a new BRL rule drools.packages has the
comment on a single line.

I must assume there was some manual change made to introduce the error.

2011/5/18 Wolfgang Laun <[email protected]>
  There is some code in 5.1.1
  org/drools/eclipse/rulebuilder/editors/RuleEditor.java
  that creates a file "drools.package" with

       if ( !file.exists() ) {
                      String defaultHeader = "//This is a package
  configuration file";
                      defaultHeader += "\n//Add imports, globals etc here
  which will be used by all the rule assets in this folder.";
                      InputStream is = new ByteArrayInputStream
  ( defaultHeader.getBytes() );

  Note the missing newline at the end of defaultHeader.

  -W



  2011/5/18 Michael Anstis <[email protected]>
   //Add imports, globals etc here which will be used by all the rule
   assets
    in this folder.

   should be on one line, or add another comment marker at the start of the
   second line, e.g.:-


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

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

   2011/5/18 Abhay B. Chaware <[email protected]>

     I was able to reproduce your error … J  try adding a new line
     ( enter ) after the comment in the  drools.package …. Or just remove
     the commented line “//Add imports, globals etc here which will be used
     by all the rule assets in this folder.”





     Your rule name is getting ‘commented out’ ………





     -abhay


     -----------------------











     From: [email protected] [mailto:
     [email protected]] On Behalf Of Michael Anstis
     Sent: Wednesday, May 18, 2011 2:53 PM



     To: Rules Users List
     Subject: Re: [rules-users] Facing Problem in BRL





     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 <[email protected]> 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: [email protected]



      From:       "Abhay B. Chaware" <[email protected]>

      To:         Rules Users List <[email protected]>


      Date:       05/18/2011 02:47 PM



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

      Sent by:    [email protected]






     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: [email protected] [
     mailto:[email protected]] 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: [email protected]



      From:       "Abhay B. Chaware" <[email protected]>


      To:         Rules Users List <[email protected]>


      Date:       05/18/2011 01:09 PM


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


      Sent by:    [email protected]







     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: [email protected] [
     mailto:[email protected]] 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: [email protected]



      From:       "Abhay B. Chaware" <[email protected]>


      To:         Rules Users List <[email protected]>


      Date:       05/18/2011 11:42 AM


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


      Sent by:    [email protected]







     Could you post your rule content here ?


     -----Original Message-----
     From: [email protected] [
     mailto:[email protected]] On Behalf Of Sumeet
     Karawal
     Sent: Wednesday, May 18, 2011 11:38 AM
     To: [email protected]
     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: [email protected]
     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
     [email protected]
     https://lists.jboss.org/mailman/listinfo/rules-users



     _______________________________________________
     rules-users mailing list
     [email protected]
     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
     [email protected]
     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
     [email protected]
     https://lists.jboss.org/mailman/listinfo/rules-users



     _______________________________________________
     rules-users mailing list
     [email protected]
     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
     [email protected]
     https://lists.jboss.org/mailman/listinfo/rules-users




     This message contains information that may be privileged or
     confidential and is the property of the KPIT Cummins Infosystems Ltd.
     It is intended only for the person to whom it is addressed. If you are
     not the intended recipient, you are not authorized to read, print,
     retain copy, disseminate, distribute, or use this message or any part
     thereof. If you receive this message in error, please notify the
     sender immediately and delete all copies of this message. KPIT Cummins
     Infosystems Ltd. does not accept any liability for virus infected
     mails.

     _______________________________________________
     rules-users mailing list
     [email protected]
     https://lists.jboss.org/mailman/listinfo/rules-users



   _______________________________________________
   rules-users mailing list
   [email protected]
   https://lists.jboss.org/mailman/listinfo/rules-users



  _______________________________________________
  rules-users mailing list
  [email protected]
  https://lists.jboss.org/mailman/listinfo/rules-users

_______________________________________________
rules-users mailing list
[email protected]
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
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to