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);
   }
 }
Example #2
0
  /**
   * Return a ProcessTask for future execution.
   *
   * @param pArgs arguments for ProcessBuilder
   */
  protected ProcessTask getProcessTask(LinkedList<String> pArgs) {
    // prepare ProcessEvent and call processInitiated
    final ProcessEvent pe = new ProcessEvent(iPID, this);
    pe.setReturnCode(-1);
    for (ProcessEventListener pel : iProcessEventListener) {
      pel.processInitiated(pe);
    }

    // create ProcessTask for future execution
    return new ProcessTask(this, pArgs, pe);
  }