added the comment status count field
[mir.git] / source / mir / producer / CompositeProducerNode.java
index 63fe79e..e7f3339 100755 (executable)
@@ -32,10 +32,11 @@ package mir.producer;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Map;
-
-import mir.log.LoggerWrapper;
 
+/**
+ * A <code>ProducerNode</code> that simply executes a
+ * list of <code>ProducerNode</code>s sequentially
+ */
 public class CompositeProducerNode implements ProducerNode {
   private List subNodes;
 
@@ -70,19 +71,18 @@ public class CompositeProducerNode implements ProducerNode {
     subNodes.clear();
   }
 
-  protected boolean isAborted(Map aValueMap) {
-    Object producerValue = aValueMap.get(NodedProducer.PRODUCER_KEY);
+  protected boolean isAborted(ProductionContext aProductionContext) {
     return (
-       (producerValue instanceof NodedProducer) &&
-      ((NodedProducer) producerValue).getIsAborted());
+       (aProductionContext.getProducer() instanceof NodedProducer) &&
+      ((NodedProducer) aProductionContext.getProducer()).getIsAborted());
   }
 
-  public void produce(Map aValueMap, String aVerb, LoggerWrapper aLogger) throws ProducerFailure, ProducerExc {
+  public void produce(ProductionContext aProductionContext) throws ProducerExc, ProducerFailure {
     Iterator i = subNodes.iterator();
 
-    while (i.hasNext() && !isAborted(aValueMap)) {
+    while (i.hasNext() && !isAborted(aProductionContext)) {
       ProducerNode node = (ProducerNode) i.next();
-      node.produce(aValueMap, aVerb, aLogger);
+      node.produce(aProductionContext);
     }
   }
 }
\ No newline at end of file