Hi All, I removed the commented lines from the drools.package file. Its now working fine.
Thanks a lot!!! I was using the brl for the first time, so didn't know that the rule name was getting commented out. I used the same code to convert it into drl and pass it to package builder. Isn't there a way that we can use the ResourceType.brl instead of ResourceType.drl . like : builder.add (ResourceFactory.newClassPathResource( "com/rules/example.brl"),ResourceType.BRL); Also in a drl we can write many rules, but when we use brl do we have to create different brl files for different rules. I mean can we have more than one rule in a brl file. Thanks & Regards, Sumeet Karawal Mailto: [email protected] From: "Abhay B. Chaware" <[email protected]> To: Rules Users List <[email protected]> Date: 05/18/2011 03:03 PM Subject: Re: [rules-users] Facing Problem in BRL Sent by: [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 =====-----=====-----===== 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
