/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package CSP_ANALYSE; import LOGIC.Contract; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.InputStreamReader; import java.util.ArrayList; import javax.swing.JOptionPane; /** * * @author sarah */ public class ReturnMensageFDR { private String saidafdr; private ArrayList result; private FDRResult fdrR; private Contract contract; public ReturnMensageFDR(Contract c) { result = new ArrayList<>(); fdrR = new FDRResult(); contract = c; } public String getSaidafdr() { return saidafdr; } public void setSaidafdr(String saidafdr) { this.saidafdr = saidafdr; } public FDRResult returnMensagefdr() { setSaidafdr(""); File pegarpath = new File("path.txt"); if (!pegarpath.exists()) { System.exit(-1); } try { String path; BufferedReader pegarResultado = new BufferedReader(new FileReader(pegarpath)); path = pegarResultado.readLine(); //saida = new FileWriter(new File("fdrLog/pegarErroFdr.txt")); Process p = Runtime.getRuntime().exec(path + "./fdr2 batch -trace cspFiles/"+contract.getName()+".csp"); BufferedReader erro = new BufferedReader(new InputStreamReader(p.getErrorStream())); BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream())); String line; // para pegar o erro while ((line = erro.readLine()) != null) { setSaidafdr(getSaidafdr() + line + "\n"); } while ((line = in.readLine()) != null) { setSaidafdr(getSaidafdr() + line + "\n"); } erro.close(); in.close(); p.waitFor(); java.lang.System.out.println("Done."); } catch (Exception e) { e.printStackTrace(); JOptionPane.showMessageDialog(null, "The path of FDR undefined"); } FDRResult details = new FDRResult(); details.setMensagem(getSaidafdr()); details.setResultado(true); //result.add(details); return details; } }