protected void runScript(String[] cmd, JTextArea txaMsg) { String strg = ""; if (cmd == null) return; Process prcs = null; try { Messages.postDebug("Running script: " + cmd[2]); Runtime rt = Runtime.getRuntime(); prcs = rt.exec(cmd); if (prcs == null) return; InputStream istrm = prcs.getInputStream(); if (istrm == null) return; BufferedReader bfr = new BufferedReader(new InputStreamReader(istrm)); while ((strg = bfr.readLine()) != null) { // System.out.println(strg); strg = strg.trim(); // Messages.postDebug(strg); strg = strg.toLowerCase(); if (txaMsg != null) { txaMsg.append(strg); txaMsg.append("\n"); } } } catch (Exception e) { // e.printStackTrace(); Messages.writeStackTrace(e); Messages.postDebug(e.toString()); } finally { // It is my understanding that these streams are left // open sometimes depending on the garbage collector. // So, close them. try { if (prcs != null) { OutputStream os = prcs.getOutputStream(); if (os != null) os.close(); InputStream is = prcs.getInputStream(); if (is != null) is.close(); is = prcs.getErrorStream(); if (is != null) is.close(); } } catch (Exception ex) { Messages.writeStackTrace(ex); } } }
protected void doSysValidation() { int nComps = m_pnlDisplay.getComponentCount(); JTextArea txaMsg = null; for (int i = 0; i < nComps; i++) { Component comp = m_pnlDisplay.getComponent(i); if (comp instanceof JTextArea) txaMsg = (JTextArea) comp; } if (txaMsg != null) { txaMsg.append("VALIDATING SYSTEM FILES...\n"); txaMsg.append("\n"); } runScripts(txaMsg); }
/** Override process to display published prime values */ protected void process(java.util.List<Integer> list) { for (int i = 0; i < list.size(); i++) result.append(list.get(i) + " "); }