dc598a461b286b8d72aaa5ebe6b621d90cabac3e
[mir.git] / source / mircoders / producer / ScriptCallProducer.java
1 package mircoders.producer;
2
3 import mir.producer.*;
4 import java.io.*;
5
6 // ML: needs to be tested!
7
8 public class ScriptCallProducer implements mir.producer.Producer {
9   String script;
10
11   public ScriptCallProducer(String aScript) {
12     script = aScript;
13   }
14
15   public void produce( PrintWriter aLogger ) throws ProducerException {
16     Process process;
17     int returnValue;
18
19     aLogger.println("Executing " + script + ":<br>");
20
21     try {
22       process = Runtime.getRuntime().exec(script);
23       returnValue = process.waitFor();
24       aLogger.println("Terminated successfully, return value = " + returnValue + ".<br>");
25     }
26     catch (Throwable e) {
27       aLogger.println("Exception has occurred: " + e.getMessage() + ":<br>");
28       e.printStackTrace(aLogger);
29       throw new ProducerException(e);
30     }
31   }
32 }