| /** |
| * |
| */ |
| package net.sf.taverna.t2.activities.interaction.velocity; |
| |
| import java.util.Map; |
| |
| import org.apache.velocity.runtime.parser.node.ASTDirective; |
| import org.apache.velocity.runtime.visitor.BaseVisitor; |
| |
| /** |
| * @author alanrw |
| * |
| */ |
| public class ProduceChecker extends BaseVisitor { |
| |
| @Override |
| public Object visit(final ASTDirective node, final Object data) { |
| @SuppressWarnings("unchecked") |
| final Map<String, Integer> map = ((Map<String, Integer>) data); |
| if (node.getDirectiveName().equals("produce")) { |
| final String key = String.valueOf(node.jjtGetChild(0).value( |
| this.context)); |
| if (node.jjtGetNumChildren() > 1) { |
| final Integer depth = (Integer) node.jjtGetChild(1).value( |
| this.context); |
| map.put(key, depth); |
| } else { |
| map.put(key, 0); |
| } |
| } |
| return map; |
| } |
| |
| } |