If you insert POJOs as facts in Jess, you'll have to write a (deftemplace X (declare (from-class X))) and the fields available for pattern matching in rules rely on the JavaBeans convention.
I have (quite successfully) used POJOs resulting from unmarshalling an XML document (via JAXB) as facts, both in Drools and in Jess; most certainly without writing any "copycat" fact classes and tedious transformations. As for globals: They play the same role in Drools as in Jess; in neither system are they part of the working memory. I don't know what you could mean by a "standard fact class". As for iterating over all fact objects in Drools' WM, Drools provides getObjects() in WorkingMemory; or you could set up a query and run this. -W On 10 September 2010 14:54, Donald Winston <[email protected]> wrote: > I'm reviewing JBoss Rules (Drools) for an application I'm starting to > build. It appears that the only way to assert facts is to use the > insert(Object) method where the object is a bean using the proper naming > conventions for it's properties. There also appears to be a way to use > arbitrary objects using globals but do these end up in the fact base? It's > disturbing to me that I have to create a bunch of classes whose sole purpose > in life is to support the rule base. This is similar to using java server > pages and having to create a bunch of classes just to support each page. > That's why I don't use java server pages and use xsl transformations > instead. I want to use my xml jdom document to represent my data and not > have to create a bunch of beans. I can't seem to find anything in the api > where I can assert facts without creating my own custom classes. There's no > standard Fact class? > > I've been also experimenting with Jess and it provides an easy way for me > to do this. I just iterate through my jdom document and create Fact objects > and assert them. I can then execute the rules and then iterate through the > updated fact base using engine.listFacts() and update my jdom document. It > couldn't be easier or more natural. Is there an analogous way to do this in > Drools? > > > Thank you very much. > _______________________________________________ > rules-users mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-users >
_______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
