In the M5 release, I could use a Boolean global as an Out type parameter and
changes I made to the global would be maintained in the results. In CR1, I
use the CommandFactory to add the global with out set to true, and I get
back the initial value of the Boolean, not the updated value. 

Here's a code snippet:
                List<Command< ? >> commands = new ArrayList<Command< ? >>();
                commands.add(CommandFactory.newInsertElements(sessionFacts));
                commands.add(CommandFactory.newSetGlobal("result", null, true));
                Command< ? > execution = 
CommandFactory.newBatchExecution(commands);
                BatchExecutionResults results = session.execute(execution);

Here's the rule that fires:
        rule 'Initialize'
        dialect 'mvel'
        when
        then
                drools.getWorkingMemory().setGlobal("result", new 
Boolean(false));
                logger.debug("Initialized result to false");
        end


In M5, result would have a value of false.
In CR1, result has a vaule of null.

Am I doing something wrong with the new command structure?
Is this behavior expected, or is it supposed to work like it did in M5?

Thanks for any assistance.
Dan
-- 
View this message in context: 
http://www.nabble.com/Using-immutable-Globals-in-the-new-Command-API-tp23320281p23320281.html
Sent from the drools - user mailing list archive at Nabble.com.

_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to