name = (String) anAttributes.get(NODE_DEFINITION_NAME_ATTRIBUTE);
ReaderTool.checkValidIdentifier( name );
- if (producers.containsKey(name))
- throw new ProducerConfigExc("Duplicate producer name: '" + name + "'");
+// if (producers.containsKey(name))
+// throw new ProducerConfigExc("Duplicate producer name: '" + name + "'");
name = (String) anAttributes.get(NODE_DEFINITION_NAME_ATTRIBUTE);
producers.put(name, ((ProducerSectionHandler) aHandler).getProducerFactory());
}
else if (aHandler instanceof NodeDefinitionSectionHandler) {
-
scriptedNodeBuilderLibrary.registerFactory(name,
new DefaultProducerNodeBuilders.ScriptedProducerNodeBuilder.factory(
((NodeDefinitionSectionHandler) aHandler).getDefinition()));
if (!anAttributes.isEmpty()) {
throw new ProducerConfigExc( "No attributes allowed" );
}
- producerNode.addSubNode(new ScriptedProducerNodeDefinition.NodeParameterProducerNode(scriptedNodeName, aTag));
+ currentBuilder = new DefaultProducerNodeBuilders.ScriptedProducerParameterNodeBuilder(scriptedNodeName, aTag);
+// producerNode.addSubNode(
+// new ScriptedProducerNodeDefinition.NodeParameterProducerNode(scriptedNodeName, aTag));
return new EmptySectionHandler();
}
else if (scriptedNodeBuilderLibrary.hasBuilderForName(aTag) || builderLibrary.hasBuilderForName((aTag))) {
public class NodeDefinitionSectionHandler extends SectionHandler {
private ScriptedProducerNodeDefinition nodeDefinition;
- private ProducerNode definition;
+ private ProducerNode body;
private Map stringParameters;
private Map nodeParameters;
private String name;
public NodeDefinitionSectionHandler(String aName) {
- definition = null;
+ body = null;
nodeParameters = null;
stringParameters = null;
name = aName;
if (nodeParameters!=null) {
throw new ProducerConfigExc( "Parameters have already been declared" );
}
- if (definition!=null) {
+ if (body!=null) {
throw new ProducerConfigExc( "Parameters should come before definition" );
}
else if (aTag.equals("definition")) {
return new ProducerNodeSectionHandler(name, nodeParameters.keySet());
}
- else throw new ProducerConfigExc("Only 'verb' tags allowed here, '" + aTag + "' encountered.");
+ else throw new ProducerConfigExc("Only 'definition' or 'parameters' tags allowed here, '" + aTag + "' encountered.");
}
public void endElement(SectionHandler aHandler) {
nodeParameters = ((NodeDefinitionParametersSectionHandler) aHandler).getNodeParameters();
}
else if (aHandler instanceof ProducerNodeSectionHandler) {
- definition = ((ProducerNodeSectionHandler) aHandler).getProducerNode();
+ body = ((ProducerNodeSectionHandler) aHandler).getProducerNode();
}
}
public void finishSection() throws ProducerConfigExc {
Iterator i;
- if (definition == null)
+ if (body == null)
throw new ProducerConfigExc( "Definition missing" );
nodeDefinition = new ScriptedProducerNodeDefinition(name);
+ nodeDefinition.setBody(body);
+
i = nodeParameters.keySet().iterator();
while (i.hasNext()) {
nodeDefinition.addNodeParameter((String) i.next());