work
This commit is contained in:
parent
d4b2d3299e
commit
ce0f351c9d
28 changed files with 276 additions and 288 deletions
|
|
@ -13,23 +13,22 @@
|
|||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" name="Maven: org.drools:drools-compiler:5.6.0.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.drools:drools-core:5.6.0.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.mvel:mvel2:2.1.8.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.drools:knowledge-api:5.6.0.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.6.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.drools:knowledge-internal-api:5.6.0.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.antlr:antlr-runtime:3.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.antlr:antlr:3.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.antlr:stringtemplate:3.2.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: antlr:antlr:2.7.7" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.eclipse.jdt.core.compiler:ecj:3.5.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.mvel:mvel2:2.1.8.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.thoughtworks.xstream:xstream:1.4.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: xmlpull:xmlpull:1.1.3.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: xpp3:xpp3_min:1.1.4c" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.6.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.eclipse.jdt.core.compiler:ecj:3.5.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.jbpm:jbpm-bpmn2:5.5.0.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.jbpm:jbpm-flow-builder:5.5.0.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.jbpm:jbpm-flow:5.5.0.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.google.protobuf:protobuf-java:2.5.0" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.5" level="project" />
|
||||
</component>
|
||||
</module>
|
||||
|
||||
</module>
|
||||
|
|
@ -59,19 +59,19 @@ public class KnowledgeSessionHelper {
|
|||
String drlFile) {
|
||||
StatefulKnowledgeSession session = getStatefulKnowledgeSession(drlFile);
|
||||
session.addEventListener(new WorkingMemoryEventListener() {
|
||||
@Override
|
||||
//@Override
|
||||
public void objectUpdated(ObjectUpdatedEvent arg0) {
|
||||
System.out.println("Object mise à jour \n"
|
||||
+ "Nouvelles valeurs \n" + arg0.getObject().toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
//@Override
|
||||
public void objectRetracted(ObjectRetractedEvent arg0) {
|
||||
System.out.println("Object retiré \n"
|
||||
+ arg0.getOldObject().toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
//@Override
|
||||
public void objectInserted(ObjectInsertedEvent arg0) {
|
||||
System.out.println("Object inséré \n"
|
||||
+ arg0.getObject().toString());
|
||||
|
|
|
|||
|
|
@ -30,19 +30,19 @@ public class PremierEssai {
|
|||
sessionStatefull = KnowledgeSessionHelper
|
||||
.getStatefulKnowledgeSession("SimpleSample.drl");
|
||||
sessionStatefull.addEventListener(new WorkingMemoryEventListener() {
|
||||
@Override
|
||||
//@Override
|
||||
public void objectUpdated(ObjectUpdatedEvent arg0) {
|
||||
System.out.println("Object mise à jour \n"
|
||||
+ "Nouvelles valeurs \n" + arg0.getObject().toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
//@Override
|
||||
public void objectRetracted(ObjectRetractedEvent arg0) {
|
||||
System.out.println("Object retiré \n"
|
||||
+ arg0.getOldObject().toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
//Override
|
||||
public void objectInserted(ObjectInsertedEvent arg0) {
|
||||
System.out.println("Object inséré \n"
|
||||
+ arg0.getObject().toString());
|
||||
|
|
|
|||
|
|
@ -58,7 +58,9 @@ public class TestRuleFlow {
|
|||
sessionStatefull.insert(a);
|
||||
AccountingPeriod period = new AccountingPeriod();
|
||||
sessionStatefull.insert(period);
|
||||
|
||||
sessionStatefull.fireAllRules();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -61,19 +61,19 @@ public class TestUnFait {
|
|||
sessionStatefull = KnowledgeSessionHelper
|
||||
.getStatefulKnowledgeSession("demo.drl");
|
||||
sessionStatefull.addEventListener(new WorkingMemoryEventListener() {
|
||||
@Override
|
||||
//@Override
|
||||
public void objectUpdated(ObjectUpdatedEvent arg0) {
|
||||
System.out.println("Object mise à jour \n"
|
||||
+ "Nouvelles valeurs \n" + arg0.getObject().toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
//@Override
|
||||
public void objectRetracted(ObjectRetractedEvent arg0) {
|
||||
System.out.println("Object retiré \n"
|
||||
+ arg0.getOldObject().toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
//@Override
|
||||
public void objectInserted(ObjectInsertedEvent arg0) {
|
||||
System.out.println("Object inséré \n"
|
||||
+ arg0.getObject().toString());
|
||||
|
|
@ -115,17 +115,17 @@ public class TestUnFait {
|
|||
sessionStatefull.setGlobal("result", display);
|
||||
|
||||
sessionStatefull.addEventListener(new WorkingMemoryEventListener() {
|
||||
@Override
|
||||
//@Override
|
||||
public void objectUpdated(ObjectUpdatedEvent arg0) {
|
||||
System.out.println("Object mise à jour \n"
|
||||
+ "Nouvelles valeurs \n" + arg0.getObject().toString());
|
||||
}
|
||||
@Override
|
||||
//@Override
|
||||
public void objectRetracted(ObjectRetractedEvent arg0) {
|
||||
System.out.println("Object retiré \n"
|
||||
+ arg0.getOldObject().toString());
|
||||
}
|
||||
@Override
|
||||
//@Override
|
||||
public void objectInserted(ObjectInsertedEvent arg0) {
|
||||
System.out.println("Object inséré \n"
|
||||
+ arg0.getObject().toString());
|
||||
|
|
|
|||
|
|
@ -1,19 +1,12 @@
|
|||
package droolscours;
|
||||
|
||||
import droolscours.service.CustomerService;
|
||||
import junit.framework.Assert;
|
||||
|
||||
import org.drools.audit.WorkingMemoryFileLogger;
|
||||
import org.drools.event.rule.ObjectInsertedEvent;
|
||||
import org.drools.event.rule.ObjectRetractedEvent;
|
||||
import org.drools.event.rule.ObjectUpdatedEvent;
|
||||
import org.drools.event.rule.WorkingMemoryEventListener;
|
||||
import org.drools.runtime.StatefulKnowledgeSession;
|
||||
import org.drools.runtime.rule.FactHandle;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import droolscours.service.CustomerService;
|
||||
|
||||
import util.DateHelper;
|
||||
import util.KnowledgeSessionHelper;
|
||||
import util.OutputDisplay;
|
||||
|
|
@ -197,12 +190,17 @@ public class Testlanguage {
|
|||
cash2.setMvtDate(DateHelper.getDate("2010-02-15"));
|
||||
cash2.setType(CashFlow.DEBIT);
|
||||
sessionStatefull.insert(cash2);
|
||||
Account a2 = new Account();
|
||||
a2.setAccountno(2);
|
||||
a2.setBalance(0);
|
||||
sessionStatefull.insert(a2);
|
||||
CashFlow cash3 = new CashFlow();
|
||||
cash3.setAccountNo(1);
|
||||
cash3.setAccountNo(2);
|
||||
cash3.setAmount(1000);
|
||||
cash3.setMvtDate(DateHelper.getDate("2010-04-15"));
|
||||
cash3.setType(CashFlow.CREDIT);
|
||||
sessionStatefull.insert(cash3);
|
||||
|
||||
sessionStatefull.fireAllRules();
|
||||
}
|
||||
@Test
|
||||
|
|
@ -239,10 +237,12 @@ public class Testlanguage {
|
|||
OutputDisplay display = new OutputDisplay();
|
||||
sessionStatefull.setGlobal("result", display);
|
||||
sessionStatefull.insert(new Account(1,0));
|
||||
sessionStatefull.insert(new CashFlow(DateHelper.getDate("2010-01-15"),1000,CashFlow.CREDIT,1));
|
||||
FactHandle fa = sessionStatefull.insert(new CashFlow(DateHelper.getDate("2010-01-15"), 1000, CashFlow.CREDIT, 1));
|
||||
sessionStatefull.insert(new CashFlow(DateHelper.getDate("2010-02-15"),500,CashFlow.DEBIT,1));
|
||||
sessionStatefull.insert(new CashFlow(DateHelper.getDate("2010-04-15"),1000,CashFlow.CREDIT,1));
|
||||
sessionStatefull.insert(new AccountingPeriod(DateHelper.getDate("2010-01-01"),DateHelper.getDate("2010-31-31")));
|
||||
sessionStatefull.insert(new AccountingPeriod(DateHelper.getDate("2010-01-01"),DateHelper.getDate("2010-12-31")));
|
||||
sessionStatefull.fireAllRules();
|
||||
sessionStatefull.retract(fa);
|
||||
sessionStatefull.fireAllRules();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ rule "Hello World"
|
|||
when
|
||||
m : Message( status == Message.HELLO, myMessage : message )
|
||||
then
|
||||
System.out.println( myMessage );
|
||||
System.out.println( m.getMessage() );
|
||||
m.setMessage( "Goodbye cruel world" );
|
||||
m.setStatus( Message.GOODBYE );
|
||||
update( m );
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ import com.sample.DroolsTest.Message;
|
|||
import droolscours.Account;
|
||||
import droolscours.AccountingPeriod;
|
||||
import droolscours.CashFlow;
|
||||
import DateHelper;
|
||||
|
||||
rule "Credit Rule"
|
||||
when
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import droolscours.CashFlow;
|
|||
import util.OutputDisplay;
|
||||
|
||||
global OutputDisplay result;
|
||||
|
||||
rule "Credit rule"
|
||||
|
||||
when
|
||||
|
|
|
|||
|
|
@ -14,10 +14,19 @@ global OutputDisplay result;
|
|||
|
||||
rule "ForAll"
|
||||
when
|
||||
$acc : Account()
|
||||
forall ( Account( this==$acc, $no : accountno )
|
||||
|
||||
forall ( Account( $no : accountno )
|
||||
CashFlow( accountNo == $no)
|
||||
)
|
||||
then
|
||||
result.showText("All mouvements concerns account no " + $acc.getAccountno());
|
||||
result.showText("All mouvements concerns all account ");
|
||||
end
|
||||
rule "ForAll2"
|
||||
when
|
||||
|
||||
Account( $no : accountno )
|
||||
CashFlow( accountNo == $no)
|
||||
|
||||
then
|
||||
result.showText("All mouvements concerns only one account ");
|
||||
end
|
||||
|
|
|
|||
|
|
@ -23,6 +23,11 @@ rule "More then 2 CashFlow Line"
|
|||
|
||||
then
|
||||
result.showText("Found more than 2 CashFlow Lines");
|
||||
result.showText("<<<<<<<<<<");
|
||||
for (Object ff : $number){
|
||||
result.showText(ff.toString());
|
||||
}
|
||||
result.showText(">>>>>>>>>>>>>>>>");
|
||||
end
|
||||
|
||||
rule "Numbers of CashFlow Line"
|
||||
|
|
|
|||
|
|
@ -20,11 +20,4 @@ rule "Your First Rule revisited"
|
|||
|
||||
end
|
||||
|
||||
rule "Your Second Rule"
|
||||
//#include attributes such as "salience" here...
|
||||
when
|
||||
//#conditions
|
||||
then
|
||||
//#actions
|
||||
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ global OutputDisplay result;
|
|||
rule "start process"
|
||||
when
|
||||
then
|
||||
kcontext.getKnowledgeRuntime().startProcess("RF2");
|
||||
kcontext.getKnowledgeRuntime().startProcess("RF3");
|
||||
end
|
||||
|
||||
rule "Account group1"
|
||||
|
|
|
|||
Loading…
Add table
editor.link_modal.header
Reference in a new issue