*/
package mir.producer.reader;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import mir.log.LoggerWrapper;
import mir.producer.ProducerExc;
import mir.producer.ProducerFailure;
import mir.producer.ProducerNode;
+import mir.producer.ProductionContext;
import mir.util.ParameterExpander;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
/**
* <p> A ScriptedProducerNode is a ProducerNode which is defined in
* producers.xml file by the <nodedefinition> statement. </p>
nodeParameterValues.putAll(aNodeParameterValues);
}
- public void produce(Map aValues, String aVerb, LoggerWrapper aLogger) throws ProducerFailure, ProducerExc {
+ public void produce(ProductionContext aProductionContext) throws ProducerFailure, ProducerExc {
try {
Map oldValues = new HashMap();
- ScriptedProducerNodeTool.saveMapValues(oldValues, aValues, definition.getStringParameters().keySet());
- ScriptedProducerNodeTool.saveMapValues(oldValues, aValues, definition.getIntegerParameters().keySet());
+ ScriptedProducerNodeTool.saveMapValues(oldValues,
+ aProductionContext.getValueSet(), definition.getStringParameters().keySet());
+ ScriptedProducerNodeTool.saveMapValues(oldValues,
+ aProductionContext.getValueSet(), definition.getIntegerParameters().keySet());
try {
Iterator i = stringParameterValues.entrySet().iterator();
Map.Entry entry = (Map.Entry) i.next();
if (entry.getValue() instanceof String) {
- aValues.put(entry.getKey(), ParameterExpander.expandExpression(aValues, (String) entry.getValue()));
+ aProductionContext.getValueSet().put(entry.getKey(),
+ ParameterExpander.expandExpression(aProductionContext.getValueSet(),
+ (String) entry.getValue()));
}
}
Map.Entry entry = (Map.Entry) i.next();
if (entry.getValue() instanceof String) {
- aValues.put(entry.getKey(), ParameterExpander.evaluateExpression(aValues, (String) entry.getValue()));
+ aProductionContext.getValueSet().put(entry.getKey(),
+ ParameterExpander.evaluateExpression(aProductionContext.getValueSet(), (String) entry.getValue()));
}
}
- ScriptedProducerNodeTool.pushNodeParameterValues(aValues, definition.getName(), nodeParameterValues);
+ ScriptedProducerNodeTool.pushNodeParameterValues(aProductionContext.getValueSet(),
+ definition.getName(), nodeParameterValues);
try {
- definition.getBody().produce(aValues, aVerb, aLogger);
+ definition.getBody().produce(aProductionContext);
}
finally {
- ScriptedProducerNodeTool.popNodeParameterValues(aValues, definition.getName());
+ ScriptedProducerNodeTool.popNodeParameterValues(aProductionContext.getValueSet(), definition.getName());
}
}
finally {
- ScriptedProducerNodeTool.restoreMapValues(aValues, definition.getIntegerParameters().keySet(), oldValues);
- ScriptedProducerNodeTool.restoreMapValues(aValues, definition.getStringParameters().keySet(), oldValues);
+ ScriptedProducerNodeTool.restoreMapValues(aProductionContext.getValueSet(), definition.getIntegerParameters().keySet(), oldValues);
+ ScriptedProducerNodeTool.restoreMapValues(aProductionContext.getValueSet(), definition.getStringParameters().keySet(), oldValues);
}
}
catch (Exception e) {
- aLogger.error("Scripted producer node " + definition.getName() + " caused an exception: " + e.getMessage());
+ aProductionContext.getLogger().error("Scripted producer node " + definition.getName() + " caused an exception", e);
}
}