Package org.camunda.bpm.engine.impl.pvm.delegate

Examples of org.camunda.bpm.engine.impl.pvm.delegate.SubProcessActivityBehavior


    super.eventNotificationsCompleted(execution);

    PvmExecutionImpl superExecution = execution.getSuperExecution();
    CmmnActivityExecution superCaseExecution = execution.getSuperCaseExecution();

    SubProcessActivityBehavior subProcessActivityBehavior = null;
    TransferVariablesActivityBehavior transferVariablesBehavior = null;

    // copy variables before destroying the ended sub process instance
    if (superExecution!=null) {
      ActivityImpl activity = superExecution.getActivity();
      subProcessActivityBehavior = (SubProcessActivityBehavior) activity.getActivityBehavior();
      try {
        subProcessActivityBehavior.completing(superExecution, execution);
      } catch (RuntimeException e) {
          log.log(Level.SEVERE, "Error while completing sub process of execution " + execution, e);
          throw e;
      } catch (Exception e) {
          log.log(Level.SEVERE, "Error while completing sub process of execution " + execution, e);
          throw new ProcessEngineException("Error while completing sub process of execution " + execution, e);
      }
    } else if (superCaseExecution != null) {
      CmmnActivity activity = superCaseExecution.getActivity();
      transferVariablesBehavior = (TransferVariablesActivityBehavior) activity.getActivityBehavior();
      try {
        transferVariablesBehavior.transferVariables(execution, superCaseExecution);
      } catch (RuntimeException e) {
          log.log(Level.SEVERE, "Error while completing sub process of execution " + execution, e);
          throw e;
      } catch (Exception e) {
          log.log(Level.SEVERE, "Error while completing sub process of execution " + execution, e);
          throw new ProcessEngineException("Error while completing sub process of execution " + execution, e);
      }
    }

    execution.destroy();
    execution.remove();

    // and trigger execution afterwards
    if (superExecution!=null) {
      superExecution.setSubProcessInstance(null);
      try {
          subProcessActivityBehavior.completed(superExecution);
      } catch (RuntimeException e) {
          log.log(Level.SEVERE, "Error while completing sub process of execution " + execution, e);
          throw e;
      } catch (Exception e) {
          log.log(Level.SEVERE, "Error while completing sub process of execution " + execution, e);
View Full Code Here

TOP

Related Classes of org.camunda.bpm.engine.impl.pvm.delegate.SubProcessActivityBehavior

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.