Author: doogie
Date: Sun Apr 4 19:08:52 2010
New Revision: 930738
URL:
http://svn.apache.org/viewvc?rev=930738&view=revLog:
Don't always recreate the nameSet each time; instead, make it a global
static.
Modified:
ofbiz/trunk/framework/entityext/src/org/ofbiz/entityext/eca/EntityEcaRule.java
Modified: ofbiz/trunk/framework/entityext/src/org/ofbiz/entityext/eca/EntityEcaRule.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/entityext/src/org/ofbiz/entityext/eca/EntityEcaRule.java?rev=930738&r1=930737&r2=930738&view=diff==============================================================================
--- ofbiz/trunk/framework/entityext/src/org/ofbiz/entityext/eca/EntityEcaRule.java (original)
+++ ofbiz/trunk/framework/entityext/src/org/ofbiz/entityext/eca/EntityEcaRule.java Sun Apr 4 19:08:52 2010
@@ -41,6 +41,12 @@ public class EntityEcaRule implements ja
public static final String module = EntityEcaRule.class.getName();
+ private static final Set<String> nameSet = HashSet<String>(2);
+ static {
+ nameSet.add("set");
+ nameSet.add("action");
+ }
+
protected String entityName = null;
protected String operationName = null;
protected String eventName = null;
@@ -67,9 +73,6 @@ public class EntityEcaRule implements ja
if (Debug.verboseOn()) Debug.logVerbose("Conditions: " + conditions, module);
- Set<String> nameSet = FastSet.newInstance();
- nameSet.add("set");
- nameSet.add("action");
for (Element actionOrSetElement: UtilXml.childElementList(eca, nameSet)) {
if ("action".equals(actionOrSetElement.getNodeName())) {
this.actionsAndSets.add(new EntityEcaAction(actionOrSetElement));
@@ -113,10 +116,9 @@ public class EntityEcaRule implements ja
EntityEcaAction ea = (EntityEcaAction) actionOrSet;
// in order to enable OR logic without multiple calls to the given service,
//only execute a given service name once per service call phase
- if (!actionsRun.contains(ea.serviceName)) {
+ if (actionsRun.add(ea.serviceName)) {
if (Debug.infoOn()) Debug.logInfo("Running Entity ECA Service: " + ea.serviceName + ", triggered by rule on Entity: " + value.getEntityName(), module);
ea.runAction(dctx, context, value);
- actionsRun.add(ea.serviceName);
}
} else {
EntityEcaSetField sf = (EntityEcaSetField) actionOrSet;