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

Examples of org.camunda.bpm.engine.impl.pvm.process.ActivityImpl


  public ActivityImpl getActivity() {
    return activity;
  }

  public String getActivityId() {
    ActivityImpl activity = getActivity();
    if(activity != null) {
      return activity.getId();
    } else {
      return null;
    }
  }
View Full Code Here


      return null;
    }
  }

  public String getCurrentActivityName() {
    ActivityImpl activity = getActivity();
    if(activity != null) {
      return activity.getName();
    } else {
      return null;
    }
  }
View Full Code Here

    this.activity = (ActivityImpl) activity;
  }

  public void enterActivityInstance() {

    ActivityImpl activity = getActivity();

    // special treatment for starting process instance
    if(activity == null && processInstanceStartContext!= null) {
      activity = processInstanceStartContext.getInitial();
    }

    activityInstanceId = generateActivityInstanceId(activity.getId());

    if(log.isLoggable(Level.FINE)) {
      log.fine("[ENTER] "+this + ": "+activityInstanceId+", parent: "+getParentActivityInstanceId());
    }
View Full Code Here

    if(isProcessInstanceExecution()) {
      return getId();

    } else {
      PvmExecutionImpl parent = getParent();
      ActivityImpl activity = getActivity();
      ActivityImpl parentActivity = parent.getActivity();
      if (parent.isScope() && !isConcurrent() || parent.isConcurrent
           && activity != parentActivity
          ) {
        return parent.getActivityInstanceId();
      } else {
View Full Code Here

        if(!executionEntity.getActivityInstanceId().equals(childExecution.getActivityInstanceId())) {
          i++;
        }
        executionEntity = childExecution;
      }
      ActivityImpl scope = executionEntity.getActivity();
      for (int j = 0; j < i; j++) {
        if(scope.getParentActivity() != null) {
        scope = scope.getParentActivity();
        }
      }
      return scope;
    }
  }
View Full Code Here

    ExecutionEntity scopeExecution = (ExecutionEntity) (execution.isConcurrent() && !execution.isScope() ? execution.getParent() : execution);

    List<CompensateEventSubscriptionEntity> eventSubscriptions;

    if(activityRef != null) {
      ActivityImpl activityToCompensate = scopeExecution.getProcessDefinition().findActivity(activityRef);
      String compensationHandlerId  = (String) activityToCompensate.getProperty(BpmnParse.PROPERTYNAME_COMPENSATION_HANDLER_ID);
      if(compensationHandlerId != null) {
        eventSubscriptions = scopeExecution.getCompensateEventSubscriptions(compensationHandlerId);
      } else {
        eventSubscriptions = scopeExecution.getCompensateEventSubscriptions(activityRef);
      }
View Full Code Here

  }

  public static ActivityBehavior getActivityBehavior(PvmExecutionImpl execution) {
    String id = execution.getId();

    ActivityImpl activity = execution.getActivity();
    ensureNotNull(PvmException.class, "Execution '"+id+"' has no current activity.", "activity", activity);

    ActivityBehavior behavior = activity.getActivityBehavior();
    ensureNotNull(PvmException.class, "There is no behavior specified in "+activity+" for execution '"+id+"'.", "behavior", behavior);

    return behavior;
  }
View Full Code Here

    ensureNotNull("Compensating execution not set for compensate event subscription with id " + eventSubscription.getId(), "configuration", configuration);

    ExecutionEntity compensatingExecution = commandContext.getExecutionManager()
      .findExecutionById(configuration);

    ActivityImpl compensationHandler = eventSubscription.getActivity();

    if ((compensationHandler.getProperty(BpmnParse.PROPERTYNAME_IS_FOR_COMPENSATION) == null
      || !(Boolean) compensationHandler.getProperty(BpmnParse.PROPERTYNAME_IS_FOR_COMPENSATION))
      && compensationHandler.isScope()) {

      // activate execution
      compensatingExecution.setActive(true);
      // descend into scope:
      List<CompensateEventSubscriptionEntity> eventsForThisScope = compensatingExecution.getCompensateEventSubscriptions();
View Full Code Here

  private static Logger log = Logger.getLogger(AbstractEventHandler.class.getName());

  public void handleEvent(EventSubscriptionEntity eventSubscription, Object payload, CommandContext commandContext) {

    ExecutionEntity execution = eventSubscription.getExecution();
    ActivityImpl activity = eventSubscription.getActivity();

    ensureNotNull("Error while sending signal for event subscription '" + eventSubscription.getId() + "': "
      + "no activity associated with event subscription", "activity", activity);

    if (payload instanceof Map) {
      @SuppressWarnings("unchecked")
      Map<String, Object> processVariables = (Map<String, Object>) payload;
      execution.setVariables(processVariables);
    }

    ActivityBehavior activityBehavior = activity.getActivityBehavior();
    if (activityBehavior instanceof BoundaryEventActivityBehavior) {

      try {
        execution.executeActivity(activity);

      } catch (RuntimeException e) {
        throw e;
      } catch (Exception e) {
        throw new ProcessEngineException("exception while sending signal for event subscription '" + eventSubscription + "':" + e.getMessage(), e);
      }

    } else if (activityBehavior instanceof EventSubProcessStartEventActivityBehavior) {

      try {
        execution.executeActivity(activity.getParentActivity());

      } catch (RuntimeException e) {
        throw e;
      } catch (Exception e) {
        throw new ProcessEngineException("exception while sending signal for event subscription '" + eventSubscription + "':" + e.getMessage(), e);
      }

    } else { // not boundary
      if (activityBehavior instanceof IntermediateCatchEventActivityBehavior) {
        IntermediateCatchEventActivityBehavior catchBehavior = (IntermediateCatchEventActivityBehavior) activityBehavior;

        if (catchBehavior.isAfterEventBasedGateway()) {
          execution.executeActivity(activity);
          return;
        }
      }

      if (!activity.equals(execution.getActivity())) {
        execution.setActivity(activity);
      }
      execution.signal("signal", null);
    }
View Full Code Here

*/
public class SubProcessActivityBehavior extends AbstractBpmnActivityBehavior implements CompositeActivityBehavior {
 
  public void execute(ActivityExecution execution) throws Exception {
    PvmActivity activity = execution.getActivity();
    ActivityImpl initialActivity = (ActivityImpl) activity.getProperty(BpmnParse.PROPERTYNAME_INITIAL);

    ensureNotNull("No initial activity found for subprocess " + execution.getActivity().getId(), "initialActivity", initialActivity);

    execution.executeActivity(initialActivity);
  }
View Full Code Here

TOP

Related Classes of org.camunda.bpm.engine.impl.pvm.process.ActivityImpl

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.