[jboss-jira] [JBoss JIRA] Commented: (JBRULES-1220) Integration with jBPM does not work

Mark Proctor (JIRA) jira-events at lists.jboss.org
Fri Oct 5 14:39:03 EDT 2007


    [ http://jira.jboss.com/jira/browse/JBRULES-1220?page=comments#action_12380802 ] 
            
Mark Proctor commented on JBRULES-1220:
---------------------------------------

Have you verified the global resolver it is using is the jbpm one, and that it hasn't lost the configuration and gone back to the drools default?

> Integration with jBPM does not work
> -----------------------------------
>
>                 Key: JBRULES-1220
>                 URL: http://jira.jboss.com/jira/browse/JBRULES-1220
>             Project: JBoss Drools
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 4.0.1
>            Reporter: Jiri Pechanec
>         Assigned To: Mark Proctor
>            Priority: Minor
>             Fix For: 4.0.2
>
>
> We had a code that intgrates JBoss Rules Global Resolver with jBPM variable pool
> 		workingMemory.setGlobalResolver(new GlobalResolver() {
> 			private static final long serialVersionUID = 1L;
> 			public Object resolveGlobal(String identifier) {
> 				System.out.println("!!!!!!!!!! resolve " + identifier);
> 				return ci.getVariable(identifier);
> 			}
> 			public void setGlobal(String identifier, Object value) {
> 				System.out.println("!!!!!!!!!! set " + identifier);
> 				ci.setVariable(identifier, value);
> 			}
> 		});
> And a rule file that serves as test
> package org.jbpm.action
>  
> import org.jbpm.resolveraction.Customer;
> import org.jbpm.resolveraction.Order;
> import org.jbpm.context.exe.ContextInstance;
> global java.lang.String shipper
> rule "Determine Shipper"
> 	when
> 		Customer( region >= 1 )
> 		Order( totalAmount >= 0 )
> 	then
> 		System.out.println(shipper);
> 		drools.getWorkingMemory().setGlobal( "shipper", "FEDX" );
> 		System.out.println("ship via FEDX " );
> end
> The output of the test is as expected
> 11:50:51,226 INFO  [STDOUT] !!!!!!!!!! resolve shipper
> 11:50:51,227 INFO  [STDOUT] None
> 11:50:51,227 INFO  [STDOUT] !!!!!!!!!! set shipper
> 11:50:51,227 INFO  [STDOUT] ship via FEDX 
> But if we modify the rule file to
> package org.jbpm.action
>  
> import org.jbpm.resolveraction.Customer;
> import org.jbpm.resolveraction.Order;
> import org.jbpm.context.exe.ContextInstance;
> global java.lang.String shipper
> rule "Determine Shipper"
> 	when
> 		eval ("None".equals(shipper))
> 		Customer( region >= 1 )
> 		Order( totalAmount >= 0 )
> 	then
> 		System.out.println(shipper);
> 		drools.getWorkingMemory().setGlobal( "shipper", "FEDX" );
> 		System.out.println("ship via FEDX " );
> end
> then nothing is printed - no attempt to resolve shipper global variable

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list