Author: jaz Date: Fri Jan 5 12:40:29 2007 New Revision: 493184 URL: http://svn.apache.org/viewvc?view=rev&rev=493184 Log: fixed so that parameter setters only happen when conditions eval as true
Modified: ofbiz/trunk/framework/service/src/org/ofbiz/service/eca/ServiceEcaRule.java Modified: ofbiz/trunk/framework/service/src/org/ofbiz/service/eca/ServiceEcaRule.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/src/org/ofbiz/service/eca/ServiceEcaRule.java?view=diff&rev=493184&r1=493183&r2=493184 ============================================================================== --- ofbiz/trunk/framework/service/src/org/ofbiz/service/eca/ServiceEcaRule.java (original) +++ ofbiz/trunk/framework/service/src/org/ofbiz/service/eca/ServiceEcaRule.java Fri Jan 5 12:40:29 2007 @@ -115,15 +115,16 @@ } } - // prepare the internal field setters - Iterator i = sets.iterator(); - while (i.hasNext()) { - ServiceEcaSetField sf = (ServiceEcaSetField) i.next(); - sf.eval(context); - } - - // if all conditions are true, eval the actions + // if all conditions are true if (allCondTrue) { + // prepare the internal field setters + Iterator i = sets.iterator(); + while (i.hasNext()) { + ServiceEcaSetField sf = (ServiceEcaSetField) i.next(); + sf.eval(context); + } + + // eval the actions Iterator a = actions.iterator(); boolean allOkay = true; while (a.hasNext() && allOkay) {