[JBoss JIRA] (DROOLS-4142) [GSS-RFE] UX design: Find feature in GDST/DMN 7.5
by Elizabeth Clayton (Jira)
[ https://issues.jboss.org/browse/DROOLS-4142?page=com.atlassian.jira.plugi... ]
Elizabeth Clayton updated DROOLS-4142:
--------------------------------------
Description:
This is a community epic for the [BAPL-1279|https://issues.jboss.org/browse/BAPL-1279]. The epic was created according to the [definition of ready|https://docs.google.com/document/d/1WKv_Cx7jCts7gCQCGt_323ANH_H7dv4...] that advices what needs to be agreed before each feature implementation.
h1. Requirements
See referenced document: https://docs.google.com/document/d/1VX_KhMhPgs2ZoOv7_jpfbl2o2-Y528UEImGk9...
h1. Documentation
- Replace picture of GDT and DMN editor where they become obsolete
h1. Acceptance test
- Enter to large amount of data in search box
- Search is possible when you type only the part of indicated word. For example, if you type text like 'test', the words 'testing', 'tester' should be displayed.
- Searching for non-existing result
- Result appearing once
- Result appearing multiple times
- Set of inputs:
*- A-Z
*- a-z
*- 0-9
*- Symbols: } { ] [ ) ( ~ ! @ # $ % ^ & ` | \ : " ; ' < > ? , . ⁄ - +
*- Blank spaces
was:
This is a community epic for the [BAPL-1279|https://issues.jboss.org/browse/BAPL-1279]. The epic was created according to the [definition of ready|https://docs.google.com/document/d/1WKv_Cx7jCts7gCQCGt_323ANH_H7dv4...] that advices what needs to be agreed before each feature implementation.
h1. Requirements
See referenced document.
h1. Documentation
- Replace picture of GDT and DMN editor where they become obsolete
h1. Acceptance test
- Enter to large amount of data in search box
- Search is possible when you type only the part of indicated word. For example, if you type text like 'test', the words 'testing', 'tester' should be displayed.
- Searching for non-existing result
- Result appearing once
- Result appearing multiple times
- Set of inputs:
*- A-Z
*- a-z
*- 0-9
*- Symbols: } { ] [ ) ( ~ ! @ # $ % ^ & ` | \ : " ; ' < > ? , . ⁄ - +
*- Blank spaces
> [GSS-RFE] UX design: Find feature in GDST/DMN 7.5
> -------------------------------------------------
>
> Key: DROOLS-4142
> URL: https://issues.jboss.org/browse/DROOLS-4142
> Project: Drools
> Issue Type: Story
> Components: DMN Editor
> Affects Versions: 7.23.0.Final
> Reporter: Elizabeth Clayton
> Assignee: Elizabeth Clayton
> Priority: Major
> Labels: UX, UXTeam, drools-tools
> Attachments: Example.png, Screen Shot 2019-05-30 at 5.14.30 PM.png
>
>
> This is a community epic for the [BAPL-1279|https://issues.jboss.org/browse/BAPL-1279]. The epic was created according to the [definition of ready|https://docs.google.com/document/d/1WKv_Cx7jCts7gCQCGt_323ANH_H7dv4...] that advices what needs to be agreed before each feature implementation.
> h1. Requirements
> See referenced document: https://docs.google.com/document/d/1VX_KhMhPgs2ZoOv7_jpfbl2o2-Y528UEImGk9...
> h1. Documentation
> - Replace picture of GDT and DMN editor where they become obsolete
> h1. Acceptance test
> - Enter to large amount of data in search box
> - Search is possible when you type only the part of indicated word. For example, if you type text like 'test', the words 'testing', 'tester' should be displayed.
> - Searching for non-existing result
> - Result appearing once
> - Result appearing multiple times
> - Set of inputs:
> *- A-Z
> *- a-z
> *- 0-9
> *- Symbols: } { ] [ ) ( ~ ! @ # $ % ^ & ` | \ : " ; ' < > ? , . ⁄ - +
> *- Blank spaces
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 10 months
[JBoss JIRA] (DROOLS-4288) Infinite recursion in drools after version change from v7.20 to v7.21
by Geogie Tom (Jira)
[ https://issues.jboss.org/browse/DROOLS-4288?page=com.atlassian.jira.plugi... ]
Geogie Tom edited comment on DROOLS-4288 at 7/10/19 10:22 AM:
--------------------------------------------------------------
[~mfusco]
So when we use a function in the `when` part of a rule where the `then` part has a `modify`, we need to handle recursion. But we have found some strange scenarios which are contradictory to the above mentioned rule:
First case is when two polymorphic function(inside domain class) whose names are prefixed with ‘get’ (in our example ‘getAnotherFunction’) and one of them having no arguments. With the above condition the function with one or more argument is used in ‘when’ part of a rule, there will be no recursive loops.
Rule file:
!Screen Shot 2019-07-10 at 3.53.10 PM.png|thumbnail!
Domain class change:
!pojo.png|thumbnail!
Output wrt domain class change:
!error.png|thumbnail!
Code in github:
https://github.com/padippist/DroolsIssueReporting/tree/issue_v_7.21_with_...
Its changes:
https://github.com/padippist/DroolsIssueReporting/compare/issue_v_7.21_wi...
Second one is not directly related to our concern.
When there is a function in domain class and another static function in an entirely different class with the same name, and the static function is called in the ‘when’ part of the rule, the static function will be called while evaluating the when part(this will be recursive). If the static modifier of the static function is removed, the function in the domain class is called rather than throwing exception(but this will again be recursive).
Rule file:
!Screen Shot 2019-07-10 at 5.56.32 PM.png|thumbnail!
Domain class highlighting the mentioned function:
!Screen Shot 2019-07-10 at 5.59.28 PM.png|thumbnail!
Class with the static function and there change:
!static.png|thumbnail!
Output difference due to the change:
!static_error.png|thumbnail!
Code in github:
https://github.com/padippist/DroolsIssueReporting/tree/issue_v_7.21_issue...
Its changes:
https://github.com/padippist/DroolsIssueReporting/compare/issue_v_7.20......
was (Author: geogietom):
[~mfusco]
So when we use a function in the `when` part of a rule where the `then` part has a `modify`, we need to handle recursion. But we have found some strange scenarios which are contradictory to the above mentioned rule:
First case is when two polymorphic function(inside domain class) whose names are prefixed with ‘get’ (in our example ‘getAnotherFunction’) and one of them having no arguments. With the above condition the function with one or more argument is used in ‘when’ part of a rule, there will be no recursive loops.
Rule file:
!Screen Shot 2019-07-10 at 3.53.10 PM.png|thumbnail!
Domain class change:
!pojo.png|thumbnail!
Output wrt domain class change:
!error.png|thumbnail!
Second one is not directly related to our concern.
When there is a function in domain class and another static function in an entirely different class with the same name, and the static function is called in the ‘when’ part of the rule, the static function will be called while evaluating the when part(this will be recursive). If the static modifier of the static function is removed, the function in the domain class is called rather than throwing exception(but this will again be recursive).
Rule file:
!Screen Shot 2019-07-10 at 5.56.32 PM.png|thumbnail!
Domain class highlighting the mentioned function:
!Screen Shot 2019-07-10 at 5.59.28 PM.png|thumbnail!
Class with the static function and there change:
!static.png|thumbnail!
Output difference due to the change:
!static_error.png|thumbnail!
> Infinite recursion in drools after version change from v7.20 to v7.21
> ---------------------------------------------------------------------
>
> Key: DROOLS-4288
> URL: https://issues.jboss.org/browse/DROOLS-4288
> Project: Drools
> Issue Type: Bug
> Components: core engine
> Affects Versions: 7.21.0.Final, 7.22.0.Final, 7.23.0.Final
> Environment: Both Mac and Windows
> Reporter: Geogie Tom
> Assignee: Mario Fusco
> Priority: Major
> Attachments: Screen Shot 2019-07-10 at 3.53.10 PM.png, Screen Shot 2019-07-10 at 5.56.32 PM.png, Screen Shot 2019-07-10 at 5.59.28 PM.png, error.png, pojo.png, static.png, static_error.png
>
>
> When there is a version change in drools-compiler from `7.20.0.Final` to `7.21.0.Final` some rules are looping recursively.
> *Code in github:*
> [The working version|https://github.com/padippist/DroolsIssueReporting/tree/issue_v_7.20]
> [The recursively looping version|https://github.com/padippist/DroolsIssueReporting/tree/issue_v_7.21]
> [The change between working and looping version|https://github.com/padippist/DroolsIssueReporting/compare/issue_v...]
> *More details*
> When I fire a rule whose `then` part modifies a fact that is already checked in the `when` part:
> {code:java}
> rule "rule 1.1"
> when
> $sampleDomain: SampleDomain(instanceVariable2 == "Value of instance variable")
> then
> System.out.println("Rule 1.1 fired");
> modify($sampleDomain){
> setInstanceVariable1(3)
> }
> end
> {code}
> it doesn't loop recursively.
> But when I call another rule which call a static function from another class:
> {code:java}
> rule "rule 1.2"
> when
> $sampleDomain: SampleDomain(CoreUtils.anotherFunction())
> then
> System.out.println("Rule 1.2 fired");
> modify($sampleDomain){
> setInstanceVariable1(3)
> }
> end
> {code}
> it loops recursively.
> The class with static function is
> {code:java}
> import com.drool_issue.domain.SampleDomain;
> public class CoreUtils {
>
> public static boolean anotherFunction() {
> System.out.println("anotherFunction() inside CoreUtils");
> return true;
> }
>
> public static boolean anotherFunction(SampleDomain sampleDomain) {
> System.out.println("anotherFunction(SampleDomain sampleDomain) inside CoreUtils");
> return true;
> }
> }
> {code}
> My domain file is:
> {code:java}
> public class SampleDomain {
> private int instanceVariable1;
> private String instanceVariable2;
> private int instanceVariable3;
>
>
> public int getInstanceVariable1() {
> return instanceVariable1;
> }
> public void setInstanceVariable1(int instanceVariable1) {
> this.instanceVariable1 = instanceVariable1;
> }
> public String getInstanceVariable2() {
> return instanceVariable2;
> }
> public void setInstanceVariable2(String instanceVariable2) {
> this.instanceVariable2 = instanceVariable2;
> }
> public int getInstanceVariable3() {
> return instanceVariable3;
> }
> public void setInstanceVariable3(int instanceVariable3) {
> this.instanceVariable3 = instanceVariable3;
> }
>
>
> }
> {code}
> This is only caused after version change from `7.20.0.Final` to `7.21.0.Final`. Any guess on what the problem might be?
> When I further looked into the problem I saw this too.
> When we add two functions into the `SampleDomain` class ie
> {code:java}
> public boolean anotherFunction() {
> return true;
> }
>
> public boolean anotherFunction(SampleDomain sampleDomain) {
> return true;
> }
> {code}
> and use this in the rule like:
> {code:java}
> rule "rule 1.4"
> when
> $sampleDomain: SampleDomain(anotherFunction())
> then
> System.out.println("Rule 1.4 fired");
> modify($sampleDomain){
> setInstanceVariable1(3)
> }
> end
> {code}
> and
> {code:java}
> rule "rule 1.5"
> when
> $sampleDomain: SampleDomain(anotherFunction($sampleDomain))
> then
> System.out.println("Rule 1.5 fired");
> modify($sampleDomain){
> setInstanceVariable3(4)
> }
> end
> {code}
> these also loops recursively.
> *Code in github:*
> [The recursive looping when using non static methods|https://github.com/padippist/DroolsIssueReporting/tree/issue_v_7....]
> [The change between working and above version|https://github.com/padippist/DroolsIssueReporting/compare/issue_v...]
> Also when any of the static method is made non static then method from the domain class is called even though the static method is specified in the rule.
> *Code portions to be noted here are:*
> [Rule where static method is called.|https://github.com/padippist/DroolsIssueReporting/blob/bde2804b25...]
> [Another rule which also call the static method.|https://github.com/padippist/DroolsIssueReporting/blob/bde2804b25...]
> [The static access modifier removed from the functions which where previously static.|https://github.com/padippist/DroolsIssueReporting/compare/issue_v...]
> *Code in github:*
> [Weird behaviour when removing static modifier for the functions.|https://github.com/padippist/DroolsIssueReporting/tree/issue_v...]
> [The change between working and above version|https://github.com/padippist/DroolsIssueReporting/compare/issue_v...]
> *All this are caused in versions after `7.20.0.Final`, ie `7.21.0.Final`, `7.22.0.Final` and `7.23.0.Final`*
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 10 months
[JBoss JIRA] (DROOLS-4288) Infinite recursion in drools after version change from v7.20 to v7.21
by Geogie Tom (Jira)
[ https://issues.jboss.org/browse/DROOLS-4288?page=com.atlassian.jira.plugi... ]
Geogie Tom edited comment on DROOLS-4288 at 7/10/19 10:01 AM:
--------------------------------------------------------------
[~mfusco]
So when we use a function in the `when` part of a rule where the `then` part has a `modify`, we need to handle recursion. But we have found some strange scenarios which are contradictory to the above mentioned rule:
First case is when two polymorphic function(inside domain class) whose names are prefixed with ‘get’ (in our example ‘getAnotherFunction’) and one of them having no arguments. With the above condition the function with one or more argument is used in ‘when’ part of a rule, there will be no recursive loops.
Rule file:
!Screen Shot 2019-07-10 at 3.53.10 PM.png|thumbnail!
Domain class change:
!pojo.png|thumbnail!
Output wrt domain class change:
!error.png|thumbnail!
Second one is not directly related to our concern.
When there is a function in domain class and another static function in an entirely different class with the same name, and the static function is called in the ‘when’ part of the rule, the static function will be called while evaluating the when part(this will be recursive). If the static modifier of the static function is removed, the function in the domain class is called rather than throwing exception(but this will again be recursive).
Rule file:
!Screen Shot 2019-07-10 at 5.56.32 PM.png|thumbnail!
Domain class highlighting the mentioned function:
!Screen Shot 2019-07-10 at 5.59.28 PM.png|thumbnail!
Class with the static function and there change:
!static.png|thumbnail!
Output difference due to the change:
!static_error.png|thumbnail!
was (Author: geogietom):
[~mfusco]
So when we use a function in the `when` part of a rule where the `then` part has a `modify`, we need to handle recursion. But we have found some strange scenarios which are contradictory to the above mentioned rule:
First case is when two polymorphic function whose names are prefixed with ‘get’ (in our example ‘getAnotherFunction’) and one of them having no arguments. With the above condition the function with one or more argument is used in ‘when’ part of a rule, there will be no recursive loops.
Rule file:
!Screen Shot 2019-07-10 at 3.53.10 PM.png|thumbnail!
Domain class change:
!pojo.png|thumbnail!
Output wrt domain class change:
!error.png|thumbnail!
Second one is not directly related to our concern.
When there is a function in domain class and another static function in an entirely different class with the same name, and the static function is called in the ‘when’ part of the rule, the static function will be called while evaluating the when part(this will be recursive). If the static modifier of the static function is removed, the function in the domain class is called rather than throwing exception(but this will again be recursive).
Rule file:
!Screen Shot 2019-07-10 at 5.56.32 PM.png|thumbnail!
Domain class highlighting the mentioned function:
!Screen Shot 2019-07-10 at 5.59.28 PM.png|thumbnail!
Class with the static function and there change:
!static.png|thumbnail!
Output difference due to the change:
!static_error.png|thumbnail!
> Infinite recursion in drools after version change from v7.20 to v7.21
> ---------------------------------------------------------------------
>
> Key: DROOLS-4288
> URL: https://issues.jboss.org/browse/DROOLS-4288
> Project: Drools
> Issue Type: Bug
> Components: core engine
> Affects Versions: 7.21.0.Final, 7.22.0.Final, 7.23.0.Final
> Environment: Both Mac and Windows
> Reporter: Geogie Tom
> Assignee: Mario Fusco
> Priority: Major
> Attachments: Screen Shot 2019-07-10 at 3.53.10 PM.png, Screen Shot 2019-07-10 at 5.56.32 PM.png, Screen Shot 2019-07-10 at 5.59.28 PM.png, error.png, pojo.png, static.png, static_error.png
>
>
> When there is a version change in drools-compiler from `7.20.0.Final` to `7.21.0.Final` some rules are looping recursively.
> *Code in github:*
> [The working version|https://github.com/padippist/DroolsIssueReporting/tree/issue_v_7.20]
> [The recursively looping version|https://github.com/padippist/DroolsIssueReporting/tree/issue_v_7.21]
> [The change between working and looping version|https://github.com/padippist/DroolsIssueReporting/compare/issue_v...]
> *More details*
> When I fire a rule whose `then` part modifies a fact that is already checked in the `when` part:
> {code:java}
> rule "rule 1.1"
> when
> $sampleDomain: SampleDomain(instanceVariable2 == "Value of instance variable")
> then
> System.out.println("Rule 1.1 fired");
> modify($sampleDomain){
> setInstanceVariable1(3)
> }
> end
> {code}
> it doesn't loop recursively.
> But when I call another rule which call a static function from another class:
> {code:java}
> rule "rule 1.2"
> when
> $sampleDomain: SampleDomain(CoreUtils.anotherFunction())
> then
> System.out.println("Rule 1.2 fired");
> modify($sampleDomain){
> setInstanceVariable1(3)
> }
> end
> {code}
> it loops recursively.
> The class with static function is
> {code:java}
> import com.drool_issue.domain.SampleDomain;
> public class CoreUtils {
>
> public static boolean anotherFunction() {
> System.out.println("anotherFunction() inside CoreUtils");
> return true;
> }
>
> public static boolean anotherFunction(SampleDomain sampleDomain) {
> System.out.println("anotherFunction(SampleDomain sampleDomain) inside CoreUtils");
> return true;
> }
> }
> {code}
> My domain file is:
> {code:java}
> public class SampleDomain {
> private int instanceVariable1;
> private String instanceVariable2;
> private int instanceVariable3;
>
>
> public int getInstanceVariable1() {
> return instanceVariable1;
> }
> public void setInstanceVariable1(int instanceVariable1) {
> this.instanceVariable1 = instanceVariable1;
> }
> public String getInstanceVariable2() {
> return instanceVariable2;
> }
> public void setInstanceVariable2(String instanceVariable2) {
> this.instanceVariable2 = instanceVariable2;
> }
> public int getInstanceVariable3() {
> return instanceVariable3;
> }
> public void setInstanceVariable3(int instanceVariable3) {
> this.instanceVariable3 = instanceVariable3;
> }
>
>
> }
> {code}
> This is only caused after version change from `7.20.0.Final` to `7.21.0.Final`. Any guess on what the problem might be?
> When I further looked into the problem I saw this too.
> When we add two functions into the `SampleDomain` class ie
> {code:java}
> public boolean anotherFunction() {
> return true;
> }
>
> public boolean anotherFunction(SampleDomain sampleDomain) {
> return true;
> }
> {code}
> and use this in the rule like:
> {code:java}
> rule "rule 1.4"
> when
> $sampleDomain: SampleDomain(anotherFunction())
> then
> System.out.println("Rule 1.4 fired");
> modify($sampleDomain){
> setInstanceVariable1(3)
> }
> end
> {code}
> and
> {code:java}
> rule "rule 1.5"
> when
> $sampleDomain: SampleDomain(anotherFunction($sampleDomain))
> then
> System.out.println("Rule 1.5 fired");
> modify($sampleDomain){
> setInstanceVariable3(4)
> }
> end
> {code}
> these also loops recursively.
> *Code in github:*
> [The recursive looping when using non static methods|https://github.com/padippist/DroolsIssueReporting/tree/issue_v_7....]
> [The change between working and above version|https://github.com/padippist/DroolsIssueReporting/compare/issue_v...]
> Also when any of the static method is made non static then method from the domain class is called even though the static method is specified in the rule.
> *Code portions to be noted here are:*
> [Rule where static method is called.|https://github.com/padippist/DroolsIssueReporting/blob/bde2804b25...]
> [Another rule which also call the static method.|https://github.com/padippist/DroolsIssueReporting/blob/bde2804b25...]
> [The static access modifier removed from the functions which where previously static.|https://github.com/padippist/DroolsIssueReporting/compare/issue_v...]
> *Code in github:*
> [Weird behaviour when removing static modifier for the functions.|https://github.com/padippist/DroolsIssueReporting/tree/issue_v...]
> [The change between working and above version|https://github.com/padippist/DroolsIssueReporting/compare/issue_v...]
> *All this are caused in versions after `7.20.0.Final`, ie `7.21.0.Final`, `7.22.0.Final` and `7.23.0.Final`*
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 10 months
[JBoss JIRA] (DROOLS-2311) Drools Engine not able to load rules in spring-Boot project
by Jiří Locker (Jira)
[ https://issues.jboss.org/browse/DROOLS-2311?page=com.atlassian.jira.plugi... ]
Jiří Locker updated DROOLS-2311:
--------------------------------
Fix Version/s: 7.23.0.Final
> Drools Engine not able to load rules in spring-Boot project
> -----------------------------------------------------------
>
> Key: DROOLS-2311
> URL: https://issues.jboss.org/browse/DROOLS-2311
> Project: Drools
> Issue Type: Bug
> Components: core engine
> Affects Versions: 7.5.0.Final
> Reporter: Chandresh Mishra
> Assignee: Mario Fusco
> Priority: Major
> Fix For: 7.23.0.Final
>
> Attachments: Drools-Issue.rar
>
>
> am using the Drools 7.5.0-final in the spring Boot project.
> I am working on a multi-module Gradle project. Rules and kmodule.xml is present in the sub-module project. This module is packaged as a Jar inside a fat spring boot Jar file.
> I am building the container from the classpath.
> KieContainer kContainer = kieService.newKieClasspathContainer();
> on server start-up (java -jar) it loads the Kmodule.xml and prints all the kbase and sessionName.
> But when I fire rules it returns zero rules fired.
> It works fine when I run as spring boot app from Eclipse. Please help.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 10 months
[JBoss JIRA] (DROOLS-4288) Infinite recursion in drools after version change from v7.20 to v7.21
by Geogie Tom (Jira)
[ https://issues.jboss.org/browse/DROOLS-4288?page=com.atlassian.jira.plugi... ]
Geogie Tom reopened DROOLS-4288:
--------------------------------
Found some strange scenarios which are contradictory to our conclusion.
> Infinite recursion in drools after version change from v7.20 to v7.21
> ---------------------------------------------------------------------
>
> Key: DROOLS-4288
> URL: https://issues.jboss.org/browse/DROOLS-4288
> Project: Drools
> Issue Type: Bug
> Components: core engine
> Affects Versions: 7.21.0.Final, 7.22.0.Final, 7.23.0.Final
> Environment: Both Mac and Windows
> Reporter: Geogie Tom
> Assignee: Mario Fusco
> Priority: Major
> Attachments: Screen Shot 2019-07-10 at 3.53.10 PM.png, Screen Shot 2019-07-10 at 5.56.32 PM.png, Screen Shot 2019-07-10 at 5.59.28 PM.png, error.png, pojo.png, static.png, static_error.png
>
>
> When there is a version change in drools-compiler from `7.20.0.Final` to `7.21.0.Final` some rules are looping recursively.
> *Code in github:*
> [The working version|https://github.com/padippist/DroolsIssueReporting/tree/issue_v_7.20]
> [The recursively looping version|https://github.com/padippist/DroolsIssueReporting/tree/issue_v_7.21]
> [The change between working and looping version|https://github.com/padippist/DroolsIssueReporting/compare/issue_v...]
> *More details*
> When I fire a rule whose `then` part modifies a fact that is already checked in the `when` part:
> {code:java}
> rule "rule 1.1"
> when
> $sampleDomain: SampleDomain(instanceVariable2 == "Value of instance variable")
> then
> System.out.println("Rule 1.1 fired");
> modify($sampleDomain){
> setInstanceVariable1(3)
> }
> end
> {code}
> it doesn't loop recursively.
> But when I call another rule which call a static function from another class:
> {code:java}
> rule "rule 1.2"
> when
> $sampleDomain: SampleDomain(CoreUtils.anotherFunction())
> then
> System.out.println("Rule 1.2 fired");
> modify($sampleDomain){
> setInstanceVariable1(3)
> }
> end
> {code}
> it loops recursively.
> The class with static function is
> {code:java}
> import com.drool_issue.domain.SampleDomain;
> public class CoreUtils {
>
> public static boolean anotherFunction() {
> System.out.println("anotherFunction() inside CoreUtils");
> return true;
> }
>
> public static boolean anotherFunction(SampleDomain sampleDomain) {
> System.out.println("anotherFunction(SampleDomain sampleDomain) inside CoreUtils");
> return true;
> }
> }
> {code}
> My domain file is:
> {code:java}
> public class SampleDomain {
> private int instanceVariable1;
> private String instanceVariable2;
> private int instanceVariable3;
>
>
> public int getInstanceVariable1() {
> return instanceVariable1;
> }
> public void setInstanceVariable1(int instanceVariable1) {
> this.instanceVariable1 = instanceVariable1;
> }
> public String getInstanceVariable2() {
> return instanceVariable2;
> }
> public void setInstanceVariable2(String instanceVariable2) {
> this.instanceVariable2 = instanceVariable2;
> }
> public int getInstanceVariable3() {
> return instanceVariable3;
> }
> public void setInstanceVariable3(int instanceVariable3) {
> this.instanceVariable3 = instanceVariable3;
> }
>
>
> }
> {code}
> This is only caused after version change from `7.20.0.Final` to `7.21.0.Final`. Any guess on what the problem might be?
> When I further looked into the problem I saw this too.
> When we add two functions into the `SampleDomain` class ie
> {code:java}
> public boolean anotherFunction() {
> return true;
> }
>
> public boolean anotherFunction(SampleDomain sampleDomain) {
> return true;
> }
> {code}
> and use this in the rule like:
> {code:java}
> rule "rule 1.4"
> when
> $sampleDomain: SampleDomain(anotherFunction())
> then
> System.out.println("Rule 1.4 fired");
> modify($sampleDomain){
> setInstanceVariable1(3)
> }
> end
> {code}
> and
> {code:java}
> rule "rule 1.5"
> when
> $sampleDomain: SampleDomain(anotherFunction($sampleDomain))
> then
> System.out.println("Rule 1.5 fired");
> modify($sampleDomain){
> setInstanceVariable3(4)
> }
> end
> {code}
> these also loops recursively.
> *Code in github:*
> [The recursive looping when using non static methods|https://github.com/padippist/DroolsIssueReporting/tree/issue_v_7....]
> [The change between working and above version|https://github.com/padippist/DroolsIssueReporting/compare/issue_v...]
> Also when any of the static method is made non static then method from the domain class is called even though the static method is specified in the rule.
> *Code portions to be noted here are:*
> [Rule where static method is called.|https://github.com/padippist/DroolsIssueReporting/blob/bde2804b25...]
> [Another rule which also call the static method.|https://github.com/padippist/DroolsIssueReporting/blob/bde2804b25...]
> [The static access modifier removed from the functions which where previously static.|https://github.com/padippist/DroolsIssueReporting/compare/issue_v...]
> *Code in github:*
> [Weird behaviour when removing static modifier for the functions.|https://github.com/padippist/DroolsIssueReporting/tree/issue_v...]
> [The change between working and above version|https://github.com/padippist/DroolsIssueReporting/compare/issue_v...]
> *All this are caused in versions after `7.20.0.Final`, ie `7.21.0.Final`, `7.22.0.Final` and `7.23.0.Final`*
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 10 months