7 // ML: needs to be tested!
9 public class ScriptCallingProducerNode implements ProducerNode {
10 String scriptExpression;
12 public ScriptCallingProducerNode(String aScriptExpression) {
13 scriptExpression = aScriptExpression;
16 public void produce(Map aValueMap, String aVerb, PrintWriter aLogger) throws ProducerFailure {
22 script = ParameterExpander.expandExpression( aValueMap, scriptExpression );
23 aLogger.println("Executing " + script + ":");
25 process = Runtime.getRuntime().exec(script);
26 returnValue = process.waitFor();
27 aLogger.println("Terminated successfully, return value = " + returnValue + ".");
30 throw new ProducerFailure("Executing script failed: " + e.getMessage(), e);
34 public Set buildVerbSet() {