Re: [rules-users] Exception Handling in the rule consequence
Re-replying to this question I am not sure if this would help you. Try creating object of Driver class(similar to Car object) like following : rule"my rule " when $c:Car() $d:Driver() then //ur logic for action end -- View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Exception-Handling-in-the-rule-consequence-tp1694378p1707269.html Sent from the Drools - User mailing list archive at Nabble.com. ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] Exception Handling in the rule consequence
I am not sure if this would help you. Try creating object of Driver class like following : when $c:Car() $d:Driver() - Swapnil -- View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Exception-Handling-in-the-rule-consequence-tp1694378p1706532.html Sent from the Drools - User mailing list archive at Nabble.com. ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
[rules-users] Drools API for uploading Model JAR into package
Hi, When we use "Upload Jar Model" option in Guvnor and then use this uploaded Fact model to create rules on Guvnor GUI, we have to "actually upload" this model JAR everytime (even when a new field is added to this Model) using Guvnor GUI. My question is that is there any API by which I can upload this JAR to the corresponding package without actually going to Guvnor GUI for JAR uploading? In Short what I want is : In java program, I would create Fact Model JAR dynamically. Then I wish to upload this JAR into the package through Java program (without using Upload Jar Model in Guvnor GUI). After these steps, then I would actually go to Guvnor GUI just for creation/modification of rule corresponding to uploaded JAR model. Are there any APIs for achieving this "uploading of Model JAR to package directly" so that I can start using it for rules creation/updation ? Thanks & Regards, Swapnil Sawant This Email may contain confidential or privileged information for the intended recipient (s) If you are not the intended recipient, please do not use or disseminate the information, notify the sender and delete it from your system. _ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
[rules-users] Calling specific Rule Group
Hi, I have created two rule groups "Group 1" and "Group 2". Now, I have read that to execute these groups I need to write something like following code : Rule "pick group X" when Fact( attribute = "condition1" ) then drools.setFocus("Group 1") end Rule "pick group Y" when Fact( attribute = "condition2" ) then drools.setFocus("Group 2") end I wanted to know is it always necessary to write separate rules for calling/execution of these rule groups (rules "pick group X" and "pick group Y")? Or is there any other api function similar to ksession.fireAllRules() for calling specific rule group ? Thanks & Regards, Swapnil Sawant This Email may contain confidential or privileged information for the intended recipient (s) If you are not the intended recipient, please do not use or disseminate the information, notify the sender and delete it from your system. _ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
[rules-users] Drools 5.1 framework codebase
Hi, I have my application built on some framework. I am using drools 5.1 in my app as a rule engine and would be using drools for implementing workflow too. I am thinking of integrating my app's framework with framework for drools Drools is an open-source package. Hence, I would want to get the drools 5.1 framework codebase which can be setup,studied,customized and run when needed. Also, if there is any documentation related to framework , please share that too. Thanks, Swapnil Sawant -- View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Drools-5-1-framework-codebase-tp1419824p1419824.html Sent from the Drools - User mailing list archive at Nabble.com. ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] Grouping of rules in Guvnor GUI
I have created certain rules in Guvnor. Now , I want to group them into different groups say grp1,grp2 etc And then, depending upon input from my application(via fact type) as I wish to fire rules from a particular Rule Group(or you can say fire that particular Rule Group). And I wish to achieve this grouping via Guvnor GUI and not by writing DRL files(i.e. by explicitly writing agenda-group in DRL) as I have rules in place which I have created using Guvnor GUI. Thanks, Swapnil Sawant -- View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Grouping-of-rules-in-Guvnor-GUI-tp1398919p1399077.html Sent from the Drools - User mailing list archive at Nabble.com. ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
[rules-users] Grouping of rules in Guvnor GUI
Hi, How can I achieve grouping of rules through Guvnor GUI ? For example, Lets say I have created Rule 1 , Rule 2 , Rule 3 and Rule 4 by using "Guvnor GUI only". Now , I want to group Rule 1 and 2 in "RuleGrp1" and Rule 3 and 4 in "RuleGrp2" using "Guvnor GUI only". I have heard about "agenda-group" in DRL files. But , I don't wish to write this attribute in DRL files(in other words,I want to avoid writing DRL file manually) and then run the RuleGroup. I want this whole process of creating and grouping of rules to be done "only using Guvnor" , so that I can point to the resulting binary package URL directly in my changeset.xml and start firing rules in my application. Can any one pl help me in finding how to achieve this ? Thanks & Regards, Swapnil Sawant This Email may contain confidential or privileged information for the intended recipient (s) If you are not the intended recipient, please do not use or disseminate the information, notify the sender and delete it from your system. _ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
[rules-users] Error while applying changeset in 5.1 version
ter.service(CoyoteAdapter.java:298) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852) org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) java.lang.Thread.run(Thread.java:619) Then I check drools-core.jar in version 5 and in 5.1 too. The problem I found was 'org/drools/rule/CompositeClassLoader' class was present in 5.0 version but was not there in 5.1 . Pl help me in resolving this issue. Thanks, Swapnil Sawant -- View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Error-while-applying-changeset-in-5-1-version-tp1308635p1308635.html Sent from the Drools - User mailing list archive at Nabble.com. ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
[rules-users] Difference between Rule Base and Knowledge Base
Hi, I had a very basic doubt. 'Rule Base' and 'Knowledge Base' are two different concepts (may be from implementation point of view )? I got this doubt when I was going through section '1.4.7.2. Drools execution server' of drools guvnor (v5.0) where it was written like : The drools execution server (drools-server) module is a war which you can deploy to execute "knowledgebases (rulebases)" remotely for any sort of client application The thing is that , I have created Knowledge base from changeset.xml as follows : kagent = KnowledgeAgentFactory.newKnowledgeAgent( "MyRuleAgent" ); kagent.applyChangeSet( ResourceFactory.newUrlResource( changesetUrl ) ); kbase = kagent.getKnowledgeBase(); Now if I wish to get Rule Base corresponding to my changeset(or rather my DRL file) using 'this kbase object' , how can I do that ? Thanks, Swapnil Sawant This Email may contain confidential or privileged information for the intended recipient (s) If you are not the intended recipient, please do not use or disseminate the information, notify the sender and delete it from your system. __ ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
[rules-users] Steps for uploading model jar and decision table in guvnor
he.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:271) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:619) [2010:08:233 16:08:734:debug] KnowledgeAgent building resource=[UrlResource path='https://ofbiz.apache.org:8443/drools-guvno [2010:08:233 16:08:359:debug] KnowledgeAgent has KnowledgeBuilder errors object=Unable to resolve ObjectType 'AmountPojo' : Unable to resolve ObjectType 'AmountPojo' : [Rule name='HRA rule'] Unable to build expression for 'consequence': Failed to compile: 4 compilation error(s): - (1,9) unqualified type in strict mode for: amtEntity - (1,9) unqualified type in strict mode for: amtEntity - (1,15) unqualified type in strict mode for: basic - (1,40) unable to resolve method using strict-mode: java.lang.Object.setHra(java.lang.Object) ' amtEntity.setHra( am ' : [Rule name='HRA rule'] Error importing : 'com.sample.AmountPojo'Error importing : 'com.sample.PFRules'Error importing : 'com.sample.SpreadsheetComp Test/Rule_PF_Rules_11_0.java (2:22) : Only a type can be imported. com.sample.SpreadsheetCompiler resolves to a pack Test/Rule_PF_Rules_11_0.java (2:60) : Only a type can be imported. com.sample.AmountPojo resolves to a package Test/Rule_PF_Rules_11_0.java (2:89) : Only a type can be imported. com.sample.PFRules resolves to a package Test/Rule_PF_Rules_11_0.java (7:371) : a cannot be resolved Test/Rule_PF_Rules_11_0.java (7:379) : a cannot be resolved Test/Rule_PF_Rules_11_0.java (8:460) : a cannot be resolved It seems that it is not able to recognize 'AmountPojo' class.thereby considering it as 'Object' type and applying setHra() on it. Any idea why this is occuring ? How to communicate about 'AmountPojo' Type in code ? Also, After this, I wanted to know the steps for 'inserting fact type object for AmountPojo' in the session created. For this I read in docs that use following lines of code : // Retrieve the generated fact type FactType cheeseFact = ruleBase.getFactType( "org.drools.generatedbeans.Cheese" ); // Create a new Fact instance Object cheese = cheeseFact.newInstance(); cheeseFact.set( cheese, "type", "stilton" ); But, I didnt find any method like KnowledgeBase.getFactType(String fullyQualifiedfactTypePath) . There is only one KnowledgeBase.getFactType(String pckname,String factTypeName) method in it Please let me the know the right way of achieving this . Thanks, Swapnil Sawant This Email may contain confidential or privileged information for the intended recipient (s) If you are not the intended recipient, please do not use or disseminate the information, notify the sender and delete it from your system. __ myTest.jar Description: myTest.jar PFRules.xls Description: PFRules.xls ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] Migration from drools 5.0 to 5.1
Hi Mark, Apologies ...but I didnt understand what do you want me to do ? Thanks, Swapnil Sawant -- View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Migration-from-drools-5-0-to-5-1-tp1241398p1257241.html Sent from the Drools - User mailing list archive at Nabble.com. ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] Migration from drools 5.0 to 5.1
Hi Mark, Thanks for your reply. I tried migrating rules from 5.0 to 5.1 at first. For this, I just replaced drools-core and drools-api jar from 5.0 to 5.1. After doing replacement, I found following error while building the app : KnowledgeAgentImpl.workflowOrRuleChanged cannot be resolved This was kind of flag for notifying that KB has to be rebuilt. Any idea how to achieve same thing in 5.1 APIs ? Also, is there is any documentation/article/s about migration from 5.0 to 5.1 ? Thanks, Swapnil Sawant -- View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Migration-from-drools-5-0-to-5-1-tp1241398p1248668.html Sent from the Drools - User mailing list archive at Nabble.com. ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
[rules-users] Migration from drools 5.0 to 5.1
Hi, Using drools 5.0 APIs, I have written a kind of framework component code using which I am able to achieve following functionalities successfully : - Running rules using changeset.xml - Executing workflow Example of framework component code can be : - Creating knowledge agent - Applying changeset to it - Building knowledge base out of that agent - Creating stateful knowledge session - Inserting fact types into this session , fire rules and get result Now that 5.1 stable version has been released, I want to know if I just replace the 5.0 jars with 5.1 jars in my framework code, would I be able to achieve same results as they were when I was using 5.0 API ? Or there is/are some change/s in the APIs ? Thanks & Regards, Swapnil Sawant This Email may contain confidential or privileged information for the intended recipient (s) If you are not the intended recipient, please do not use or disseminate the information, notify the sender and delete it from your system. _ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] Skills required for using Drools Guvnor
Just wanted to make picture more clear. I will be developing my application where I would be using drools guvnor for managing rules separately . In the process of development, I would be setting up all the things required for 'running rules in my application' Once application development is finished, I will be deploying it at client side. Once this deployment is done, now If any rule has to be managed(updations) then what kind of skills the end user of this application should possess so that he can manage the rules on his own ? Thanks, Swapnil Sawant From: Swapnil Sawant Sent: Wednesday, August 18, 2010 2:27 PM To: 'rules-users@lists.jboss.org' Subject: RE: Skills required for using Drools Guvnor Small correction Java programming language :) From: Swapnil Sawant Sent: Wednesday, August 18, 2010 2:22 PM To: 'rules-users@lists.jboss.org' Subject: Skills required for using Drools Guvnor Hi, I had a very basic question. I wanted to know the pre-requisite skills which are required in order to start working on drools guvnor GUI. When I say work , I mean creating rules/modifying them etc. Technical knowledge(e.g. java technology) is must in this case? Thanks & Regards, Swapnil Sawant This Email may contain confidential or privileged information for the intended recipient (s) If you are not the intended recipient, please do not use or disseminate the information, notify the sender and delete it from your system. _ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] Skills required for using Drools Guvnor
Small correction Java programming language :) From: Swapnil Sawant Sent: Wednesday, August 18, 2010 2:22 PM To: 'rules-users@lists.jboss.org' Subject: Skills required for using Drools Guvnor Hi, I had a very basic question. I wanted to know the pre-requisite skills which are required in order to start working on drools guvnor GUI. When I say work , I mean creating rules/modifying them etc. Technical knowledge(e.g. java technology) is must in this case? Thanks & Regards, Swapnil Sawant This Email may contain confidential or privileged information for the intended recipient (s) If you are not the intended recipient, please do not use or disseminate the information, notify the sender and delete it from your system. _ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
[rules-users] Skills required for using Drools Guvnor
Hi, I had a very basic question. I wanted to know the pre-requisite skills which are required in order to start working on drools guvnor GUI. When I say work , I mean creating rules/modifying them etc. Technical knowledge(e.g. java technology) is must in this case? Thanks & Regards, Swapnil Sawant S This Email may contain confidential or privileged information for the intended recipient (s) If you are not the intended recipient, please do not use or disseminate the information, notify the sender and delete it from your system. _ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
[rules-users] configuration settings in guvnor 5.0
Hi, I am new to drools.I have found that guvnor is intended more for technical person than for any layman. And I was trying to use it from point-of-view of any layman(i.e. managing rule in such a fashion that any layman can use guvnor 5.0 GUI with requiring least amount of technical knowledge) I have written a rule for PF calculation (PF=BASIC*0.10) in guvnor GUI. For this, I have created a fact type 'Amount' with fields : basic,PF. Using this fact type, I have created a business rule for PF calculation. Now, I want to know if it is possible to configure the 'percentage' i.e. 0.10 value in flexible manner , may be through some table or some configuration file in guvnor etc So next time the rule changes e.g. PF=BASIC*0.15 , such a configuration would make any layman to modify the rule very easily(he just has to change the value in configuratuion file etc) Is there any provision made in guvnor for this to make Thanks & Regards, Swapnil Sawant This Email may contain confidential or privileged information for the intended recipient (s) If you are not the intended recipient, please do not use or disseminate the information, notify the sender and delete it from your system. _ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
[rules-users] Help regarding populating values from presentation layer into Fact Typpes in drools
Hi, In drools, I have seen that following functionalities have been implemented : - Creating a fact type which can be used in a rule - Creating rule by declaring functions or by using DSL - Testing the rule using test scenario Here, I had a question regarding decoupling of fact types between my application and drools. I wanted to whether writing a java code for adding values from form/database(i.e. my application) into fact types of drools package which I have created is must or is there any automated way for doing this ? For example, If new rule gets added which will result in changing fact (either modify existing or add new fact). In this case one has to write a code for populating presentation layer values into this newly modified/created fact type. Can this be automated..? >From client support perspective -How to manage addition of New Rule to >existing Rule base..? Thanks & Regards, Swapnil Sawant | iLabs | L & T Infotech Plot no. EL - 200,TTC Electronic Zone,Shil-Mahape road,Navi Mumbai - 400 701 Extn: +91 22 6795 4325 Mail: swapnil.saw...@lntinfotech.com<mailto:swapnil.saw...@lntinfotech.com> www.lntinfotech.com This Email may contain confidential or privileged information for the intended recipient (s) If you are not the intended recipient, please do not use or disseminate the information, notify the sender and delete it from your system. _ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
[rules-users] Help regarding Guvnor 5.0 integration in secured application (https protocol)
Hi, I am implementing drools 5.0(Guvnor GUI) in my application (protocol for same is https) For this purpose , I have set up drools 5.0 framework code needed to run the rules from my application. Also, I have integrated Guvnor GUi code inside my application itself. While doing implementation, inside changeset.xml file I have written following code : //as I have integrated Guvnor GUI in my secured app I have created a simple rule using Guvnor GUI (GUI code inside my application). When I run the same rule from my business layer, I get following security exception : Message: Service [ruleService] target threw an unexpected exception (javax.net.ssl.SSLHandshakeException: sun.security.va lidator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target) cause - Exception: java.lang.RuntimeException Message: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.s ecurity.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target Then I changed the "changeset.xml" as follows : This time when I run the same rule , I got following error : [2010:08:214 10:08:319:debug] ResourceChangeScanner subcribing notifier=org.drools.io.impl.resourcechangenotifieri...@c40 88a to resource=[UrlResource path='http://localhost:8441/drools-guvnor/org.drools.guvnor.Guvnor/package/defaultPackage/LA TEST.drl'] [2010:08:214 10:08:319:debug] KnowledgeAgent ChangeSet requires KnowledgeBuilder [2010:08:214 10:08:319:debug] KnowledgeAgent rebuilding KnowledgeBase using ChangeSet 2010-08-02 10:53:34,615 (http-0.0.0.0-8441-2) [ ServiceDispatcher.java:515:INFO ] [[Sync service failed...- total:0.0,si nce last(Begin):0.0]] - 'payroll / ruleService' 2010-08-02 10:53:34,615 (http-0.0.0.0-8441-2) [ TransactionUtil.java:344:INFO ] [TransactionUtil.rollback] transaction rolled back 2010-08-02 10:53:34,615 (http-0.0.0.0-8441-2) [ TransactionUtil.java:269:WARN ] [TransactionUtil.commit] Not committin g transaction, status is No Transaction (6) 2010-08-02 10:53:34,615 (http-0.0.0.0-8441-2) [ServiceEventHandler.java:352:ERROR] exception report -- Service invocation error Exception: org.ofbiz.service.GenericServiceException Message: Service [ruleService] target threw an unexpected exception (java.net.SocketException: Unexpected end of file fro m server) cause - Exception: java.lang.RuntimeException Message: java.net.SocketException: Unexpected end of file from server cause - Exception: java.net.SocketException Message: Unexpected end of file from server stack trace --- java.net.SocketException: Unexpected end of file from server sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:769) sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632) sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:766) sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632) sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1000) Finally, I tried deploying same rule on "Guvnor 5.0 GUI on my separate tomcat server(outside my secured app) ". When I give the "drl path" of this codebase on my separate Tomcat inside my changset.xml, things work fine. I have a doubt as to is the error coming as I am trying to access a "https" url as "http" ? Can any one pl help me in this regard. Any help of yours would be great help.Thanks in advance. Regards, Swapnil Sawant This Email may contain confidential or privileged information for the intended recipient (s) If you are not the intended recipient, please do not use or disseminate the information, notify the sender and delete it from your system. _ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
[rules-users] Help regrading branching of call to a rule depending upon date
Hi, I am evaluating Drool Gunvor for to implement Rules for some finance related functionality. I need help from users to implement following scenario is Drools-Guvnor I have created simple Rule to Calculate House Rent Allowance i.e. HRA as HRA = 0.12 * Basic salary .(Basic will come as Input Parameter). This rule is valid from e.g. 01-Jan-2005 to 31-July-2010 as HRA rule is changed from 1st Aug 2010 I will have to create new Rule for HRA Rule with new formula as HRA = 0.15 * Basic salary .(Basic will come as Input Parameter). This rule is valid from 01-Aug-2010 to 01-Aug-2999 >From 1st Aug HRA should be calculated using New Rule. But at the same time if >any Arrears to be calculated(back dated calculation) depending on the date old >HRA rule should be applicable. Can I achieve this in Gunor Drool? I could achieve first half by specifying date-expires . But I am not able to achieve second half i.e. referring old rule depending on the date. I would appreciate help to solve this problem . Thanks in advance. Swapnil Sawant This Email may contain confidential or privileged information for the intended recipient (s) If you are not the intended recipient, please do not use or disseminate the information, notify the sender and delete it from your system. _ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users