[rules-dev] Bugs/Problems with 3.1.0M1

Arjun Dhar dhar_ar at yahoo.com
Sun May 13 07:31:14 EDT 2007


Hi,
 firstly, I compiled my code from 3.0 to 3.1 had issues, then from 3.1 to 4, I 
cant access my working memory from my rule base and in 4 you've also got rid of 
Synchronized working memory.

Questions :
===========

Related to shift from 3.1 to 4
-------------------------------
Q1. Once I create a 'StatelessSession'; how do I extract the Workingmemory? 
There is no acessor. My code was written for 'SynchronizedWorkingMemory' so 
means double trouble if there is no backward compatibility. 

Q2. Couldn't you guys have deprecated stuff instead of just wiping it off? Is 
there a reason for such a change as to restrict access to WorkingMemory or 
SynchronizedWorkingmemory to those who would have got comfortable using it 
directly? :o)

Related to shift from 3.0 to 3.1
---------------------------------
3. When I built my code on 3.1M1 the first thing I got was a 
NullPointerException, I debugged the code and found due to additon of 
ShadowFacts, if the class definition is NOT FINAL, it dynamically creates a 
Shadow object. Refer: org.drools.semantics.java.builder.ColumnBinder.java (1st 
Method) {Sweet!} ...BUT:

   Q3.1. Whats a Shadow got to do with a Class being final????????? (If 4 wasnt 
released I'd say keep it that way, atleast I could disable shadow facts as a 
work around)
   Q3.2. To use Shadow or not comes 
from "org.drools.spi.ObjectType.isShadowEnabled()"; there is no Setter for 
this. So apart from making a class 'final'  or defining a custom 'FactTemplate' 
one does not have any option. 
   Q3.3. When I looked at 4 code, this code has disappeared (or probably got 
refactored somewher I couldnt find it) 

Final Question: Whats the deal guys? :o) Its hard enough looking at the code of 
one version, but when I see drastic code change it makes one wonder if at this 
rate changes, it's hard :o) Hope you understand.

Please let me know the answer to my questions! 

Recommendation: I see a lot of acceptance on Decision Tables compared to DSL. 
Once the code settles will give you guys some recommendations + code there, but 
in the mean time please provide feature support to decsion tables as well as 
you do for DRL, in future. If one can manage decision tables well, I see a lot 
of power in getting people to accept rule engines compare to other approaches.

Thanks!




More information about the rules-dev mailing list