[rules-dev] use of declared facts

Michal Bali michalbali at gmail.com
Tue Jan 27 04:34:55 EST 2009


Look at this unit test for some examples:
http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java

        // Retrieve the generated fact type
        FactType cheeseFact = ruleBase.getFactType(
"org.drools.generatedbeans.Cheese" );

        // Create a new Fact instance
        Object cheese = cheeseFact.newInstance();

        // Set a field value using the more verbose method chain...
        // should we add short cuts?
        //        cheeseFact.getField( "type" ).getFieldAccessor().setValue(
cheese,
        //
"stilton" );

        cheeseFact.set( cheese,
                        "type",
                        "stilton" );
        assertEquals( "stilton",
                      cheeseFact.get( cheese,
                                      "type" ) );


On Tue, Jan 27, 2009 at 2:02 AM, Oleg Zenzin <zenzin at intalio.com> wrote:

> There's now possibility to declare facts in the drl, like:
>
> declare Person
>  name: String
>  age: int
> end
>
> My question is how do I instantiate this fact object during runtime? Do I
> still need to have class Person compiled and existing somewhere in
> classpath, or there's a helper class which I can use "fake the fact",
> something like:
>
>   FakeFact person = FakeFact("Person");
>   person.setField("name", "Oleg");
>   person.setField("age", "42");
>   session.insert(person);
>
> Or there's another nicer way?
>
> Thank you,
> -Oleg Zenzin
>
> _______________________________________________
> rules-dev mailing list
> rules-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-dev/attachments/20090127/2b1899d6/attachment.html 


More information about the rules-dev mailing list