[jboss-svn-commits] JBL Code SVN: r14480 - labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Aug 23 10:35:47 EDT 2007
Author: KrisVerlaenen
Date: 2007-08-23 10:35:47 -0400 (Thu, 23 Aug 2007)
New Revision: 14480
Modified:
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
Log:
Fixed error in agenda debug view due to API change + added test
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java 2007-08-23 14:35:36 UTC (rev 14479)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java 2007-08-23 14:35:47 UTC (rev 14480)
@@ -23,9 +23,11 @@
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.Map.Entry;
import org.drools.Agenda;
import org.drools.FactException;
@@ -48,6 +50,7 @@
import org.drools.event.WorkingMemoryEventListener;
import org.drools.event.WorkingMemoryEventSupport;
import org.drools.reteoo.LIANodePropagation;
+import org.drools.rule.Declaration;
import org.drools.rule.Rule;
import org.drools.ruleflow.common.core.Process;
import org.drools.ruleflow.common.instance.ProcessInstance;
@@ -1386,5 +1389,33 @@
}
return result;
}
+
+ public Entry[] getActivationParameters(long activationId) {
+ Activation[] activations = getAgenda().getActivations();
+ for (int i = 0; i < activations.length; i++) {
+ if (activations[i].getActivationNumber() == activationId) {
+ Map params = getActivationParameters(activations[i]);
+ return (Entry[]) params.entrySet().toArray(new Entry[params.size()]);
+ }
+ }
+ return new Entry[0];
+ }
+
+ /**
+ * Helper method
+ */
+ public Map getActivationParameters(Activation activation) {
+ Map result = new HashMap();
+ Declaration[] declarations = activation.getRule().getDeclarations();
+ for (int i = 0; i < declarations.length; i++) {
+ FactHandle handle = activation.getTuple().get(declarations[i]);
+ if (handle instanceof InternalFactHandle) {
+ result.put(declarations[i].getIdentifier(),
+ declarations[i].getValue(this,
+ ((InternalFactHandle) handle).getObject()));
+ }
+ }
+ return result;
+ }
}
More information about the jboss-svn-commits
mailing list