This commit is contained in:
nheron 2025-05-30 11:39:57 +02:00
commit f592787ab7
29 changed files with 173 additions and 451 deletions

View file

@ -1,51 +0,0 @@
<?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_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: org.drools:drools-compiler:7.32.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.drools:drools-core-reflective:7.32.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.drools:drools-core:7.32.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.drools:drools-core-dynamic:7.32.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie.soup:kie-soup-project-datamodel-commons:7.32.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie.soup:kie-soup-project-datamodel-api:7.32.0.Final" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-internal:7.32.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie.soup:kie-soup-maven-support:7.32.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie.soup:kie-soup-commons:7.32.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.antlr:antlr-runtime:3.5.2" level="project" />
<orderEntry type="library" name="Maven: org.mvel:mvel2:2.4.4.Final" level="project" />
<orderEntry type="library" name="Maven: com.thoughtworks.xstream:xstream:1.4.11.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: com.google.protobuf:protobuf-java:3.6.1" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.26" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jdt.core.compiler:ecj:4.4.2" level="project" />
<orderEntry type="library" name="Maven: org.jbpm:jbpm-bpmn2:7.32.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.jbpm:jbpm-flow-builder:7.32.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.jbpm:jbpm-flow:7.32.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-dmn-api:7.32.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-dmn-feel:7.32.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-dmn-model:7.32.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.antlr:antlr4-runtime:4.7.2" level="project" />
<orderEntry type="library" name="Maven: com.github.javaparser:javaparser-core:3.13.10" level="project" />
<orderEntry type="library" name="Maven: org.drools:drools-mvel-parser:7.32.0.Final" level="project" />
<orderEntry type="library" name="Maven: ch.obermuhlner:big-math:2.0.1" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-dmn-core:7.32.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-dmn-backend:7.32.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.drools:drools-ruleunit:7.32.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.drools:drools-canonical-model:7.32.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.drools:drools-model-compiler:7.32.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.drools:drools-mvel-compiler:7.32.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.jpmml:pmml-model:1.4.11" level="project" />
<orderEntry type="library" name="Maven: org.jpmml:pmml-agent:1.4.11" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.8.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.5" level="project" />
<orderEntry type="library" name="Maven: org.kie:kie-api:7.32.0.Final" level="project" />
</component>
</module>

View file

@ -18,13 +18,12 @@
<artifactId>drools-compiler</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.jdt.core.compiler</groupId>
<artifactId>ecj</artifactId>
<groupId>org.drools</groupId>
<artifactId>drools-ecj</artifactId>
</dependency>
<dependency>
<groupId>org.kie.kogito</groupId>
<artifactId>jbpm-bpmn2</artifactId>
<version>${drools.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
@ -41,12 +40,8 @@
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
<version>${maven.compiler.version}</version>
</plugin>
</plugins>
</build>
</project>
</project>

View file

@ -17,8 +17,16 @@
<artifactId>drools-compiler</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.jdt.core.compiler</groupId>
<artifactId>ecj</artifactId>
<groupId>org.drools</groupId>
<artifactId>drools-engine-classic</artifactId>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-model-compiler</artifactId>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-ecj</artifactId>
</dependency>
<dependency>
<groupId>org.kie.kogito</groupId>
@ -44,11 +52,8 @@
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
<version>${maven.compiler.version}</version>
</plugin>
<plugin>
<groupId>org.kie</groupId>
@ -58,4 +63,4 @@
</plugin>
</plugins>
</build>
</project>
</project>

View file

@ -15,11 +15,15 @@
<dependencies>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-compiler</artifactId>
<artifactId>drools-engine-classic</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.jdt.core.compiler</groupId>
<artifactId>ecj</artifactId>
<groupId>org.drools</groupId>
<artifactId>drools-model-compiler</artifactId>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-ecj</artifactId>
</dependency>
<dependency>
<groupId>org.kie.kogito</groupId>
@ -45,11 +49,7 @@
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
<version>${maven.compiler.version}</version>
</plugin>
<plugin>
<groupId>org.kie</groupId>
@ -59,4 +59,4 @@
</plugin>
</plugins>
</build>
</project>
</project>

View file

@ -14,11 +14,15 @@
<dependencies>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-compiler</artifactId>
<artifactId>drools-engine-classic</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.jdt.core.compiler</groupId>
<artifactId>ecj</artifactId>
<groupId>org.drools</groupId>
<artifactId>drools-model-compiler</artifactId>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-ecj</artifactId>
</dependency>
<dependency>
<groupId>org.kie.kogito</groupId>
@ -44,11 +48,7 @@
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
<version>${maven.compiler.version}</version>
</plugin>
<plugin>
<groupId>org.kie</groupId>
@ -58,4 +58,4 @@
</plugin>
</plugins>
</build>
</project>
</project>

View file

@ -15,11 +15,15 @@
<dependencies>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-compiler</artifactId>
<artifactId>drools-engine-classic</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.jdt.core.compiler</groupId>
<artifactId>ecj</artifactId>
<groupId>org.drools</groupId>
<artifactId>drools-model-compiler</artifactId>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-ecj</artifactId>
</dependency>
<dependency>
<groupId>org.kie.kogito</groupId>
@ -45,11 +49,7 @@
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
<version>${maven.compiler.version}</version>
</plugin>
<plugin>
<groupId>org.kie</groupId>
@ -59,4 +59,4 @@
</plugin>
</plugins>
</build>
</project>
</project>

View file

@ -15,11 +15,15 @@
<dependencies>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-compiler</artifactId>
<artifactId>drools-engine-classic</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.jdt.core.compiler</groupId>
<artifactId>ecj</artifactId>
<groupId>org.drools</groupId>
<artifactId>drools-model-compiler</artifactId>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-ecj</artifactId>
</dependency>
<dependency>
<groupId>org.kie.kogito</groupId>
@ -45,11 +49,7 @@
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
<version>${maven.compiler.version}</version>
</plugin>
<plugin>
<groupId>org.kie</groupId>
@ -59,4 +59,4 @@
</plugin>
</plugins>
</build>
</project>
</project>

View file

@ -15,11 +15,15 @@
<dependencies>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-compiler</artifactId>
<artifactId>drools-engine-classic</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.jdt.core.compiler</groupId>
<artifactId>ecj</artifactId>
<groupId>org.drools</groupId>
<artifactId>drools-model-compiler</artifactId>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-ecj</artifactId>
</dependency>
<dependency>
<groupId>org.kie.kogito</groupId>
@ -45,11 +49,7 @@
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
<version>${maven.compiler.version}</version>
</plugin>
<plugin>
<groupId>org.kie</groupId>
@ -59,4 +59,4 @@
</plugin>
</plugins>
</build>
</project>
</project>

View file

@ -37,5 +37,5 @@ rule "Numbers of CashFlow Line"
from collect( CashFlow( mvtDate >= $sDate && mvtDate <= $eDate,accountNo == $acc ) )
then
showResult.showText("Found "+$number+" more than 2 CashFlow Lines");
showResult.showText("Found "+$number+" CashFlow Lines");
end

View file

@ -15,11 +15,15 @@
<dependencies>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-compiler</artifactId>
<artifactId>drools-engine-classic</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.jdt.core.compiler</groupId>
<artifactId>ecj</artifactId>
<groupId>org.drools</groupId>
<artifactId>drools-model-compiler</artifactId>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-ecj</artifactId>
</dependency>
<dependency>
<groupId>org.kie.kogito</groupId>
@ -45,11 +49,7 @@
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
<version>${maven.compiler.version}</version>
</plugin>
<plugin>
<groupId>org.kie</groupId>
@ -59,4 +59,4 @@
</plugin>
</plugins>
</build>
</project>
</project>

View file

@ -19,20 +19,16 @@ rule "Credit and Debit Rule"
when
$c : Account( $acc : accountno )
$p : AccountingPeriod ($sDate : startDate ,$eDate : endDate )
$totalCredit : Number( doubleValue > 100 )
from accumulate( CashFlow( type ==CashFlow.CREDIT,$value : amount, mvtDate >= $sDate && mvtDate <= $eDate,accountNo == $acc ),
init( double total = 0; ),
action( total += $value; ),
reverse( total -= $value; ),
result( total ) )
sum($value))
$totalDebit : Number( doubleValue > 100 )
from accumulate( CashFlow( type ==CashFlow.DEBIT,$value : amount, mvtDate >= $sDate && mvtDate <= $eDate,accountNo == $acc ),
init( double total = 0; ),
action( total += $value; ),
reverse( total -= $value; ),
result( total ) )
sum($value) )
then
showResult.showText(" Found "+$totalCredit+" as a credit");
showResult.showText(" Found "+$totalDebit+" as a debit");
end
end

View file

@ -15,11 +15,15 @@
<dependencies>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-compiler</artifactId>
<artifactId>drools-engine-classic</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.jdt.core.compiler</groupId>
<artifactId>ecj</artifactId>
<groupId>org.drools</groupId>
<artifactId>drools-model-compiler</artifactId>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-ecj</artifactId>
</dependency>
<dependency>
<groupId>org.kie.kogito</groupId>
@ -45,11 +49,8 @@
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
<version>${maven.compiler.version}</version>
</plugin>
<plugin>
<groupId>org.kie</groupId>
@ -58,5 +59,6 @@
<extensions>true</extensions>
</plugin>
</plugins>
</build>
</project>
</project>

View file

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<process xmlns="http://drools.org/drools-5.0/process"
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xs:schemaLocation="http://drools.org/drools-5.0/process drools-processes-5.0.xsd"
type="RuleFlow" name="RuleFlow1" id="RF1" package-name="lesson4" >
<header>
</header>
<nodes>
<start id="1" name="Start" x="62" y="79" width="80" height="40" />
<ruleSet id="2" name="Verify" x="162" y="77" width="80" height="40" ruleFlowGroup="Group1" />
<ruleSet id="3" name="Calculation" x="267" y="77" width="80" height="40" ruleFlowGroup="Group2" />
<end id="4" name="End" x="372" y="77" width="80" height="40" />
</nodes>
<connections>
<connection from="1" to="2" />
<connection from="2" to="3" />
<connection from="3" to="4" />
</connections>
</process>

View file

@ -1,36 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<process xmlns="http://drools.org/drools-5.0/process"
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xs:schemaLocation="http://drools.org/drools-5.0/process drools-processes-5.0.xsd"
type="RuleFlow" name="RuleFlow3" id="RF3" package-name="lesson4a" >
<header>
<imports>
<import name="droolscours.Account" />
</imports>
</header>
<nodes>
<start id="1" name="Start" x="27" y="78" width="80" height="40" />
<ruleSet id="2" name="Calculate2" x="264" y="135" width="80" height="40" ruleFlowGroup="Group2" />
<ruleSet id="3" name="Calculate1" x="266" y="28" width="80" height="40" ruleFlowGroup="Group1" />
<end id="4" name="End" x="487" y="85" width="80" height="40" />
<join id="6" name="Join" x="357" y="91" width="80" height="40" type="2" />
<split id="7" name="Split" x="131" y="93" width="80" height="40" type="3" >
<constraints>
<constraint toNodeId="2" toType="DROOLS_DEFAULT" name="constraint" priority="1" type="rule" dialect="mvel" >Account(balance &lt;= 1000 )</constraint>
<constraint toNodeId="3" toType="DROOLS_DEFAULT" name="constraint" priority="1" type="rule" dialect="mvel" >Account(balance &gt; 1000 )</constraint>
</constraints>
</split>
</nodes>
<connections>
<connection from="7" to="2" />
<connection from="7" to="3" />
<connection from="6" to="4" />
<connection from="3" to="6" />
<connection from="2" to="6" />
<connection from="1" to="7" />
</connections>
</process>

View file

@ -12,11 +12,7 @@ import droolscours.util.OutputDisplay;
global OutputDisplay showResult;
rule "start process"
when
then
kcontext.getKieRuntime().startProcess("RF3");
end
rule "Account group1 4a"
ruleflow-group "Group1"

View file

@ -40,18 +40,8 @@ public class Testlesson4 {
Account a = new Account();
sessionStatefull.insert(a);
sessionStatefull.startProcess("RF1");
sessionStatefull.fireAllRules();
}
@Test
public void testRuleFlow2() {
sessionStatefull = KnowledgeSessionHelper
.getStatefulKnowledgeSessionForJBPM(kieContainer, "lesson4-session");
OutputDisplay display = new OutputDisplay();
sessionStatefull.setGlobal("showResult", display);
Account a = new Account();
sessionStatefull.insert(a);
sessionStatefull.fireAllRules();
}
@Test
public void testRuleFlow3() {
sessionStatefull = KnowledgeSessionHelper
@ -64,7 +54,7 @@ public class Testlesson4 {
AccountingPeriod period = new AccountingPeriod();
sessionStatefull.insert(period);
sessionStatefull.fireAllRules();
sessionStatefull.startProcess("RF3");
}

View file

@ -11,6 +11,7 @@
<packaging>pom</packaging>
<description>Accounting project</description>
<modules>
<module>drools-lesson4</module>
<module>drools-lesson1</module>
<module>drools-lesson2</module>
<module>drools-lesson31</module>
@ -18,70 +19,7 @@
<module>drools-lesson33</module>
<module>drools-lesson34</module>
<module>drools-lesson35</module>
<module>drools-lesson4</module>
<module>drools-lesson-pojo</module>
</modules>
<build>
<plugins>
<!--plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
</configuration>
</plugin-->
<!--plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin-->
</plugins>
</build>
<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.kie.kogito</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>
</dependencies>
</project>
</project>