-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
7.48.0.Final
-
None
-
Undefined
-
NEW
-
NEW
-
---
-
---
The justified set can be unstaged, now that the last stated has been deleted
Test
@Test public void testUnstage() { KieSession session = ... AtomicInteger positive = new AtomicInteger(1); session.insert(new AtomicInteger(-1)); session.fireAllRules(); session.insert(positive); session.fireAllRules(); InternalFactHandle fh = (InternalFactHandle) session.insert(new Event("negative integer")); // The justified set can be unstaged, now that the last stated has been deleted session.delete(fh); assertEquals(1, positive.get()); session.insert(new AdminEvent("reset negative values")); session.fireAllRules(); assertEquals(2, positive.get()); } public static class Event { private String message; public Event(String message) { this.message = message; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } @Override public boolean equals(Object obj) { return reflectionEquals(this, obj, false); } @Override public int hashCode() { return reflectionHashCode(this, false); } } public static class AdminEvent { private String message; public AdminEvent(String message) { this.message = message; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } }
Rule
dialect 'mvel' import java.util.concurrent.atomic.AtomicInteger import ...Event import ...AdminEvent rule 'negative integer' when $int: AtomicInteger(intValue < 0) then insertLogical(new Event("negative integer")) end rule 'increment positive if no negative values' when $positive: AtomicInteger(intValue > 0) not Event() then $positive.incrementAndGet(); end rule 'reset negative integers' when AdminEvent(message == 'reset negative values') $negative: AtomicInteger(intValue < 0) then $negative.set(0) update($negative); end
- causes
-
DROOLS-6081 Logical events hardly fit specification
- Open
- relates to
-
DROOLS-6072 Logical events. Staging will set it's status to stated
- Open
-
DROOLS-5971 IllegalStateException: Currently we cannot modify something that has mixed stated and justified equal objects
- Reopened