]
one legged commented on JBRULES-1430:
-------------------------------------
A comment on passing the workingmemory statically to the functions. That approach
wouldn't work if a single JVM has multiple instances of Reteoo or workingmemories. It
would only work if there's only 1 Reteoo and workingmemory in the JVM.
having it part of the function interface and having the engine automatically pass
workingmemory as a parameter would be much cleaner and safer.
Improve Function feature
------------------------
Key: JBRULES-1430
URL:
http://jira.jboss.com/jira/browse/JBRULES-1430
Project: JBoss Drools
Issue Type: Feature Request
Security Level: Public(Everyone can see)
Components: All
Affects Versions: 4.0.4
Environment: all
Reporter: longDuck dong
Priority: Minor
The current design of the Function is a bit limiting. for example, if I want to write a
function to insert, update or retract facts, the current design does not support it.
According to the docs
http://downloads.jboss.com/drools/docs/4.0.4.17825.GA/html/ch06s04.html, functions are
just helper methods. It would be more powerful if the function always passes the
workingmemory to the function. This way, the functions can easily access the globals or
access the rule engine. Basically, something similar to JESS funcall
http://herzberg.ca.sandia.gov/docs/70/api/jess/Funcall.html.
It also makes it easier for developers to encapsulate common actions in the consequence
in a function and use it easily from a DSL. The pattern is well proven in CLIPS, JESS and
haley.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: