package test;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class TestProcess {

    protected static Log log = LogFactory.getLog(TestProcess.class);
    
    static public void main(String arsg[]) {
        
        try {
            // definition et lancement du processus
            ProcessBuilder processBuilder = new ProcessBuilder("VPA.exe");
            processBuilder.redirectErrorStream(true);
            Process process = processBuilder.start();

            // envoi d'information a VPA
            OutputStream input = process.getOutputStream();
            BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(input));
            writer.write("data 1");
            writer.newLine();
            writer.write("data 2");
            writer.newLine();
            writer.flush();

            // lecture de la sortie ligne par ligne
            InputStream output = process.getInputStream();
            BufferedReader br = new BufferedReader(new InputStreamReader(output));
            String line = null;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
                
        } catch (IOException ex) {
            if(log.isDebugEnabled()) {
                log.debug("Can't call process", ex);
            }
        }
    }
}
