*/
package mir.producer;
-import java.util.Iterator;
-import java.util.Map;
-
import mir.entity.adapter.EntityAdapterModel;
import mir.entity.adapter.EntityIteratorAdapter;
-import mir.log.LoggerWrapper;
import mir.util.ParameterExpander;
import mir.util.StringRoutines;
+import java.util.Iterator;
+
public class EntityEnumeratingProducerNode extends ProducerNodeDecorator {
private String key;
private EntityAdapterModel model;
skip = aSkip;
}
- public void produce(Map aValueMap, String aVerb, LoggerWrapper aLogger) throws ProducerFailure {
+ public void produce(ProductionContext aProductionContext) throws ProducerFailure {
Iterator browser;
try {
browser = new EntityIteratorAdapter(
mainTablePrefix,
- StringRoutines.splitString(ParameterExpander.expandExpression( aValueMap, extraTables).trim(), ","),
- ParameterExpander.expandExpression( aValueMap, whereClause ),
- ParameterExpander.expandExpression( aValueMap, orderByClause ),
+ StringRoutines.splitString(ParameterExpander.expandExpression(aProductionContext.getValueSet(),
+ extraTables).trim(), ","),
+ ParameterExpander.expandExpression(aProductionContext.getValueSet(), whereClause),
+ ParameterExpander.expandExpression(aProductionContext.getValueSet(), orderByClause),
100,
model,
definition,
- ParameterExpander.evaluateIntegerExpressionWithDefault( aValueMap, limit, -1),
- ParameterExpander.evaluateIntegerExpressionWithDefault( aValueMap, skip, 0));
+ ParameterExpander.evaluateIntegerExpressionWithDefault(aProductionContext.getValueSet(), limit, -1),
+ ParameterExpander.evaluateIntegerExpressionWithDefault(aProductionContext.getValueSet(), skip, 0));
+
+ while (browser.hasNext() && !isAborted(aProductionContext)) {
+ ParameterExpander.setValueForKey(aProductionContext.getValueSet(), key, browser.next());
- while (browser.hasNext() && !isAborted(aValueMap)) {
- ParameterExpander.setValueForKey( aValueMap, key, browser.next());
- super.produce(aValueMap, aVerb, aLogger);
+ super.produce(aProductionContext);
}
}
catch (Throwable t) {
- aLogger.error("Exception occurred inside an EntityEnumeratingProducerNode: " + t.getMessage());
+ aProductionContext.getLogger().warn("Exception occurred inside an EntityEnumeratingProducerNode: " +
+ t.getMessage());
}
}
}
\ No newline at end of file