Example #1
0
 /**
  * Run the process and notify all listeners.
  *
  * @param pArgs arguments for ProcessBuilder
  * @param pProcessEvent store state in this ProcessEvent
  */
 @SuppressWarnings("deprecation")
 void runAndNotify(LinkedList<String> pArgs, ProcessEvent pProcessEvent) {
   int rc;
   try {
     Process pr = startProcess(pArgs);
     pProcessEvent.setProcess(pr);
     for (ProcessEventListener pel : iProcessEventListener) {
       pel.processStarted(pProcessEvent);
     }
     // TODO: remove in future version
     for (ProcessListener pl : iProcessListener) {
       pl.processStarted(pr);
     }
     rc = waitForProcess(pr);
     pProcessEvent.setReturnCode(rc);
     finished(rc);
   } catch (Exception e) {
     pProcessEvent.setException(e);
     try {
       finished(e);
     } catch (Exception e2) {
       pProcessEvent.setException(e2);
     }
   }
   for (ProcessEventListener pel : iProcessEventListener) {
     pel.processTerminated(pProcessEvent);
   }
   // TODO: remove in future version
   for (ProcessListener pl : iProcessListener) {
     pl.processTerminated(pProcessEvent);
   }
 }