Work
This commit is contained in:
parent
ce0f351c9d
commit
c9209dc9a5
105 changed files with 2390 additions and 839 deletions
35
AccountProject/drools-lessonxx/drools-lesson1.iml
Normal file
35
AccountProject/drools-lessonxx/drools-lesson1.iml
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_5" inherit-compiler-output="false">
|
||||
<output url="file://$MODULE_DIR$/target/classes" />
|
||||
<output-test url="file://$MODULE_DIR$/target/test-classes" />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/target" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/../../drools-lesson1/target" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" name="Maven: org.drools:drools-compiler:6.4.0.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.drools:drools-core:6.4.0.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.kie:kie-internal:6.4.0.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.antlr:antlr-runtime:3.5" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.mvel:mvel2:2.2.8.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.thoughtworks.xstream:xstream:1.4.7" 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: com.google.protobuf:protobuf-java:2.6.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.2" 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:6.4.0.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.jbpm:jbpm-flow-builder:6.4.0.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.jbpm:jbpm-flow:6.4.0.Final" level="project" />
|
||||
<orderEntry type="library" name="Maven: joda-time:joda-time:2.2" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.5" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.kie:kie-api:6.4.0.Final" level="project" />
|
||||
<orderEntry type="module" module-name="drools-lesson-pojo" />
|
||||
</component>
|
||||
</module>
|
||||
43
AccountProject/drools-lessonxx/pom.xml
Normal file
43
AccountProject/drools-lessonxx/pom.xml
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>AccountProject</artifactId>
|
||||
<groupId>com.pymma-software.droolscourse</groupId>
|
||||
<version>2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>drools-lesson1</artifactId>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.drools</groupId>
|
||||
<artifactId>drools-compiler</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.jdt.core.compiler</groupId>
|
||||
<artifactId>ecj</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jbpm</groupId>
|
||||
<artifactId>jbpm-bpmn2</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.kie</groupId>
|
||||
<artifactId>kie-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.pymma-software.droolscourse</groupId>
|
||||
<artifactId>drools-lesson-pojo</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
</project>
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule">
|
||||
|
||||
<kbase name="simplesample" packages="simplesample">
|
||||
<ksession name="simplesample-session"/>
|
||||
</kbase>
|
||||
|
||||
</kmodule>
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
package simplesample
|
||||
|
||||
import droolscours.Account;
|
||||
import droolscours.AccountingPeriod;
|
||||
import droolscours.CashFlow;
|
||||
import droolscours.util.OutputDisplay;
|
||||
global OutputDisplay showResults;
|
||||
rule "Credit Rule"
|
||||
when
|
||||
acco: Account( no : accountno )
|
||||
period : AccountingPeriod(s : startDate , e: endDate )
|
||||
act : CashFlow( type == CashFlow.CREDIT ,mvtDate >= s && mvtDate <=e ,accountNo ==no)
|
||||
then
|
||||
acco.setBalance(acco.getBalance()+act.getAmount());
|
||||
showResults.showText("The new balance is now "+acco.getBalance());
|
||||
end
|
||||
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
package droolscours;
|
||||
|
||||
import droolscours.util.OutputDisplay;
|
||||
import org.junit.Assert;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import org.kie.api.event.rule.ObjectDeletedEvent;
|
||||
import org.kie.api.event.rule.ObjectInsertedEvent;
|
||||
import org.kie.api.event.rule.ObjectUpdatedEvent;
|
||||
import org.kie.api.event.rule.RuleRuntimeEventListener;
|
||||
import org.kie.api.runtime.KieContainer;
|
||||
import org.kie.api.runtime.KieSession;
|
||||
import org.kie.api.runtime.StatelessKieSession;
|
||||
import org.omg.CORBA.portable.OutputStream;
|
||||
import util.DateHelper;
|
||||
import util.KnowledgeSessionHelper;
|
||||
|
||||
|
||||
public class PremierEssai {
|
||||
StatelessKieSession sessionStateless = null;
|
||||
KieSession sessionStatefull = null;
|
||||
static KieContainer kieContainer;
|
||||
@BeforeClass
|
||||
public static void beforeClass(){
|
||||
kieContainer=KnowledgeSessionHelper.createRuleBase();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSimple() throws Exception {
|
||||
sessionStatefull = KnowledgeSessionHelper
|
||||
.getStatefulKnowledgeSession(kieContainer,"simplesample-session");
|
||||
sessionStatefull.addEventListener(new RuleRuntimeEventListener() {
|
||||
public void objectInserted(ObjectInsertedEvent event) {
|
||||
System.out.println("Object inserted \n"
|
||||
+ event.getObject().toString());
|
||||
}
|
||||
|
||||
public void objectUpdated(ObjectUpdatedEvent event) {
|
||||
System.out.println("Object was updated \n"
|
||||
+ "new Content \n" + event.getObject().toString());
|
||||
}
|
||||
|
||||
public void objectDeleted(ObjectDeletedEvent event) {
|
||||
System.out.println("Object retracted \n"
|
||||
+ event.getOldObject().toString());
|
||||
}
|
||||
});
|
||||
OutputDisplay showResult = new OutputDisplay();
|
||||
sessionStatefull.setGlobal("showResults",showResult);
|
||||
Account account = new Account();
|
||||
account.setAccountno(1);
|
||||
sessionStatefull.insert(account);
|
||||
AccountingPeriod period = new AccountingPeriod();
|
||||
period.setStartDate(DateHelper.getDate("2010-01-01"));
|
||||
period.setEndDate(DateHelper.getDate("2010-03-31"));
|
||||
sessionStatefull.insert(period);
|
||||
CashFlow action1 = new CashFlow();
|
||||
action1.setAccountNo(1);
|
||||
action1.setAmount(1000);
|
||||
action1.setType(CashFlow.CREDIT);
|
||||
action1.setMvtDate(DateHelper.getDate("2010-01-02"));
|
||||
sessionStatefull.insert(action1);
|
||||
sessionStatefull.fireAllRules();
|
||||
Assert.assertTrue(account.getBalance() == 1000);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule">
|
||||
|
||||
<kbase name="simplesample" packages="simplesample">
|
||||
<ksession name="simplesample-session"/>
|
||||
</kbase>
|
||||
|
||||
</kmodule>
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
package simplesample
|
||||
|
||||
import droolscours.Account;
|
||||
import droolscours.AccountingPeriod;
|
||||
import droolscours.CashFlow;
|
||||
import droolscours.util.OutputDisplay;
|
||||
global OutputDisplay showResults;
|
||||
rule "Credit Rule"
|
||||
when
|
||||
acco: Account( no : accountno )
|
||||
period : AccountingPeriod(s : startDate , e: endDate )
|
||||
act : CashFlow( type == CashFlow.CREDIT ,mvtDate >= s && mvtDate <=e ,accountNo ==no)
|
||||
then
|
||||
acco.setBalance(acco.getBalance()+act.getAmount());
|
||||
showResults.showText("The new balance is now "+acco.getBalance());
|
||||
end
|
||||
|
||||
Binary file not shown.
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<javadocOptions>
|
||||
<docletArtifacts>
|
||||
<docletArtifact/>
|
||||
</docletArtifacts>
|
||||
<tagletArtifacts>
|
||||
<tagletArtifact/>
|
||||
</tagletArtifacts>
|
||||
<javadocResourcesDirectory>src/main/javadoc</javadocResourcesDirectory>
|
||||
</javadocOptions>
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
#Generated by Maven
|
||||
#Thu May 12 17:05:58 CEST 2016
|
||||
version=2.0-SNAPSHOT
|
||||
groupId=com.pymma-software.droolscourse
|
||||
artifactId=drools-lesson1
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
droolscours/PremierEssai.class
|
||||
droolscours/PremierEssai$1.class
|
||||
|
|
@ -0,0 +1 @@
|
|||
/Users/nheron/workspace-chtiJBUG/chtijbug-6.3/droolscourse/AccountProject/drools-lesson1/src/test/java/droolscours/PremierEssai.java
|
||||
Binary file not shown.
Binary file not shown.
Loading…
Add table
editor.link_modal.header
Reference in a new issue