Request for help to execute rule using drools5.0 from excel file
by Sanjib Karmakar
Hi
I am new in drools and in my project I would like to access rules in excel
file using drools 5.0
Please provide me the source code for how to access the rules in excel file.
I have done the following code
KnowledgeBuilder kBuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
DecisionTableConfiguration dtconf =
KnowledgeBuilderFactory.newDecisionTableConfiguration();
dtconf.setInputType( DecisionTableInputType.XLS );
dtconf.setWorksheetName("Tables");
kBuilder.add(ResourceFactory.newFileResource("TeamAllocationExample.xls"),
ResourceType.DTABLE, dtconf);
KnowledgeBuilderErrors errors = kBuilder.getErrors();
if (errors.size() > 0)
{
for (KnowledgeBuilderError error: errors) {
System.out.println(error);
}
throw new IllegalArgumentException("Could not parse knowledge.");
}
KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
kbase.addKnowledgePackages(kBuilder.getKnowledgePackages());
return kbase;
I am using the 'TeamAllocationExample.xls' - which is the default example I
found searching in net.
Here LHS and RHS portions are given - I would like to know how could I
execute the rule and get the result what is given under 'ACTION' column?
Please help me.
Thanks in advance
Sanjib
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Request-for-help-to-e...
Sent from the Drools - User mailing list archive at Nabble.com.
15 years, 12 months
Regarding a fact model in Guvnor
by shekharputtur puttur
Hi ALL,
I have created a dynamic fact model in guvnor for creating rules.I want to
use the same fact model in my java application too.
How do i create a jar for the created model in guvnor and download the same?
Another way is to create a fact model in java(eclipse editor), and we can
upload the same for writing rules.
But for my application , i need to use the first approach.
i use guvnor 5.1.0M1.
Could you please tell me solution to do this?
Thanks & Regards
Shekhar
15 years, 12 months
Re: [rules-users] Drools Rule Engine - Tiered Rates
by Greg Barton
You can also try a data driven approach:
declare Rate
minUnits : int
maxUnits : int
revenuePercent : int
end
declare Sale
units : int
end
rule "FindRate"
when
r : Rate( )
s : Sale( units > r.minUnits, units < r.maxUnits )
then
System.out.println( "revenuePercent for " + s + " is " + r.getRevenuePercent());
end
Sample code attached.
--- On Wed, 6/9/10, Esteban Aliverti <esteban.aliverti(a)gmail.com> wrote:
From: Esteban Aliverti <esteban.aliverti(a)gmail.com>
Subject: Re: [rules-users] Drools Rule Engine - Tiered Rates
To: "Rules Users List" <rules-users(a)lists.jboss.org>
Date: Wednesday, June 9, 2010, 7:45 AM
Did you take a look at drools-template?http://hudson.jboss.org/hudson/job/drools/lastSuccessfulB...
Best,
On Wed, Jun 9, 2010 at 9:24 AM, ramram <ramram858(a)gmail.com> wrote:
Hi All,
I have the following question regarding Drools. The possibility to
implement tiered rates and that is I have the following example.
If the total units sold is between 0 - 1000 item a revenue return is 10%
while if the total units sold is between 1001- 2000 items the return is 20%.
I want to use 1 dynamic rule to implement the above example rather than
having 2 static rules defined? is this possible through drools?
Regards
Ram
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Drools-Rule-Engine-Ti...
Sent from the Drools - User mailing list archive at Nabble.com.
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Esteban Aliverti
-----Inline Attachment Follows-----
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
15 years, 12 months
Creating DSL rules in guvnor - Object mapping issues
by Fnu Mahalakshmi
hi,
I am wanting to use a particular feature while creating my DSLs using enums. Is it possible???
what i want to do is :
[when]When the credit rating is {rating:ENUM:Applicant.creditRating} = applicant:Applicant(creditRating=="{rating}")
[then]Approve the loan = applicant.setApproved(true)
I want the option to be either an Applicant or an Employee [both are different fact models)
So is it possible to do a mapping using Enums for the 2 object types : Applicant / Employee ???
Please Help
M
</pre>
<P><hr size=1></P>
<P><STRONG><font color=green>Please consider the environment before printing this email.</font></STRONG></P>
<P><STRONG>Visit our website at <a href="http://www.nyse.com">http://www.nyse.com</a> <br>
*****************************************************************************
<br>
Note: The information contained in this message and any attachment to it is privileged, confidential and protected from disclosure. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify the sender immediately by replying to the message, and please delete it from your system. Thank you. NYSE Euronext.
</STRONG></P><pre>
15 years, 12 months
Web Service interaction with Guvnor
by Vignesh
Hi,
I am using a Web service which will invoke Guvnor to validate the data that
is being passed as parameter to the rules, but i am not able to do so and I
got some information that we can use Execution Server to use web service to
interact with Guvnor.
If anyone had used this functionality previously, please provide pointers on
how to do this interaction or provide details regarding this.
Thanks,
Viki
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Web-Service-interacti...
Sent from the Drools - User mailing list archive at Nabble.com.
15 years, 12 months
Bug in Eclipse Download Script
by Lawrence Terrill
There is a little bug in the Eclipse Download Script related to Drools plugin build that I've been meaning to mention. The bug is in the source tree, drools-eclipse/drools-eclipse-build in the file setupEclipse.xml. The target 'checkEclipseJar' mistakenly checks for a hard-coded '.zip' file extension. This target should use the symbolic '${download.extension}'. This only a problem on OSX and Linux machines where the Eclipse archive is a '.tar..gz' file.
Very low priority issue since the subsequent unnecessary 'getEclipseJar' target actually checks to see if the file has changed before actually downloading it again. And so a duplicate download is avoided anyway. But that bug nags me whenever I build Drools.
Thanks! Wasn't sure the 'right way' to report that. I hope this list was OK.
15 years, 12 months
Persistence issue using Oracle
by ramram
Hi All,
I have been using the H2 in memory database to test all my Drools Flow
scenarios using Guvnor and Gwt Console provided. And I have some questions
to ask and was wondering if someone can help. The main plan now is to switch
from using the H2 in memory database to Persist using the Oracle database.
1- What are the files that should be affected in this switch? or where
should I be looking into?
2- Are the tables created dynamically? and under which schema?
3- is there any test case implemented using this technology?
Thnx in advance for your help
Regards,
Ram
--
View this message in context: http://n3.nabble.com/Persistence-issue-using-Oracle-tp417257p417257.html
Sent from the Drools - User mailing list archive at Nabble.com.
15 years, 12 months
Re: [rules-users] Dynamic Loading of Rules from BRMS
by Fnu Mahalakshmi
Hi,
I did try to do what you suggested:
My change-set.xml is in my main project folder and I set the URL to point to that file.
kagent.applyChangeSet( ResourceFactory.newUrlResource("change-set.xml"));
But still the file does not get parsed or detected.
I change set has to be in the project folder right as per my understanding?
Thanks.
------------------------------
Message: 3
Date: Sun, 27 Jun 2010 19:03:38 -0300
From: Esteban Aliverti <esteban.aliverti(a)gmail.com>
Subject: Re: [rules-users] Dynamic Loading of Rules from BRMS
To: Rules Users List <rules-users(a)lists.jboss.org>
Message-ID:
<AANLkTikXFyHlZhuOHnvz53rGoJ24TlFAjAoZ-PEV5IM8(a)mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"
Hi,
When you execute:
kagent.applyChangeSet( ResourceFactory.newUrlResource("
http://localhost:8280/jboss-brms/org.drools.guvnor.Guvnor/Guvnor.html"));
you need to point to your change-set.xml file and not to guvnor.
Inside you change-set you need to point to each resource you want the agent
take care of. In your example the first two resources have the same URL. It
doesn't look right.
Best,
2010/6/27 jillika iyer <jillika(a)gmail.com>
> hi guys,
>
> I am trying to upload my rules from jboss-brms to my eclipse in order to
> run it against the working memory.
> The following is my code and change-set.xml file and I am getting the
> following error stack ( which is a java error but just attaching it for
> giving more info).
>
>
> I have started the jboss-server and it is connected correctly.
>
> I am getting a java based error which says that it is unable to parse
> change-set.xml and unable to connect to the server.
>
> I just want to know if I am not the right path for creating the required
> change-set.xml file due to which I am getting the java connection error.
>
>
> I have just specified the url path in my change-set file and the types of
> files it should be looking out for.
>
> What else do I need to incorporate for it to connect to the server???
>
> Please help me. I am relatively new to Drools.
>
> Code in my Runner class:
>
> KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
> ResourceFactory.getResourceChangeScannerService().start();
> ResourceFactory.getResourceChangeNotifierService().start();
>
> // creating a knowledge agent
> KnowledgeAgentConfiguration aconf =
> KnowledgeAgentFactory.newKnowledgeAgentConfiguration();
>
> KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent(
> "MyAgent", kbase,aconf );
> kagent.applyChangeSet( ResourceFactory.newUrlResource("
> http://localhost:8280/jboss-brms/org.drools.guvnor.Guvnor/Guvnor.html"));
> StatefulKnowledgeSession ksession =
> kagent.getKnowledgeBase().newStatefulKnowledgeSession();
>
> // StatelessSession workingMemory = ruleBase.newStatelessSession();
> ArrayList<Ip> ipList = new ArrayList<Ip>();
>
> ksession.setGlobal("ipList", ipList);
> ksession.insert(al);
> ksession.fireAllRules();
> ksession.dispose();
>
>
>
> my change-set.xml file:
>
> <change-set xmlns='http://drools.org/drools-5.0/change-set'
> xmlns:xs='http://www.w3.org/2001/XMLSchema-instance'
> xs:schemaLocation='
> http://drools.org/drools-5.0/change-set.xsd' >
> <add>
> <!-- Add for specifying URLs-->
> <resource source='http://localhost:8280/jboss-brms' type='DRL' />
> <resource source='http://localhost:8280/jboss-brms' type='DSLR' />
> <resource source='http://localhost:8280/jboss-brmss/sample-dsl.dsl'
> type='DSL' />";
> <resource source='http://localhost:8280/jboss-brms' type='BRL' />
> </add>
> </change-set>
>
>
>
>
> error stack:
>
> java.lang.RuntimeException: Unable to parse ChangeSet
> at
> org.drools.agent.impl.KnowledgeAgentImpl.getChangeSet(KnowledgeAgentImpl.java:223)
> at
> org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:109)
> at com.org.RuleRunner.runStatelessRules(RuleRunner.java:156)
> at com.org.RulesTest.main(RulesTest.java:38)
> Caused by: java.net.SocketException: Network is unreachable: connect
> at java.net.PlainSocketImpl.socketConnect(Native Method)
> at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
> at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
> at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
> at java.net.Socket.connect(Socket.java:524)
> at java.net.Socket.connect(Socket.java:474)
> at sun.net.NetworkClient.doConnect(NetworkClient.java:157)
> at sun.net.www.http.HttpClient.openServer(HttpClient.java:388)
> at sun.net.www.http.HttpClient.openServer(HttpClient.java:523)
> at sun.net.www.http.HttpClient.<init>(HttpClient.java:231)
> at sun.net.www.http.HttpClient.New(HttpClient.java:304)
> at sun.net.www.http.HttpClient.New(HttpClient.java:321)
> at
> sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:839)
> at
> sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:791)
> at
> sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:716)
> at
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:960)
> at
> com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:973)
> at
> com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:905)
> at
> com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:872)
> at
> com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:282)
> at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(XMLDocumentScannerImpl.java:1021)
> at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
> at
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
> at
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
> at
> com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
> at
> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242)
> at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
> at
> org.drools.xml.ExtensibleXmlParser.read(ExtensibleXmlParser.java:255)
> at
> org.drools.xml.ExtensibleXmlParser.read(ExtensibleXmlParser.java:170)
> at org.drools.xml.XmlChangeSetReader.read(XmlChangeSetReader.java:48)
> at
> org.drools.agent.impl.KnowledgeAgentImpl.getChangeSet(KnowledgeAgentImpl.java:221)
> ... 3 more
>
> Please help me.
>
> Thank you
> Jill
>
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Esteban Aliverti
15 years, 12 months