ParameterInstance parameter = (ParameterInstance) parameters
.get(parameterName);
Object parameterValue = parameter.getValue(expressionContext);
attributeMap.put(parameterName, parameterValue);
}
ExpressionContext localExpressionContext = new ExpressionContext(
expressionContext);
HashMap macro = new HashMap();
macro.put("body", this.body);
macro.put("arguments", attributeMap);
localExpressionContext.put("macro", macro);
Define definition = resolveMacroDefinition(expressionContext,
executionContext);
Iterator iter = definition.getParameters().entrySet().iterator();
while (iter.hasNext()) {
Map.Entry e = (Map.Entry) iter.next();
String key = (String) e.getKey();
Parameter startParam = (Parameter) e.getValue();
Object default_ = startParam.getDefaultValue();
Object val = attributeMap.get(key);
if (val == null) {
val = default_;
}
localExpressionContext.put(key, val);
}
Event macroBodyStart = getNext();
Event macroBodyEnd = null;