Package org.jbpm.pvm.internal.model

Examples of org.jbpm.pvm.internal.model.ExecutionImpl


    }
    return lifeCycleProcess;
  }

  protected static void fireLifeCycleEvent(String eventName, TaskImpl task) {
    ExecutionImpl lifeCycleExecution = new ExecutionImpl();
    ProcessDefinitionImpl lifeCycleProcess = getLifeCycle(task);
    lifeCycleExecution.setProcessDefinition(lifeCycleProcess);
    String state = task.getState();
    Activity activity = lifeCycleProcess.getActivity(state);
    lifeCycleExecution.setActivity((ActivityImpl) activity);
    lifeCycleExecution.signal(eventName);
    task.setState(lifeCycleExecution.getActivity().getName());
  }
View Full Code Here


  }
 
  public void process() {
    DbSession dbSession = EnvironmentImpl.getFromCurrent(DbSession.class);

    ExecutionImpl processInstance = execution.getProcessInstance();
    long processInstanceDbid = processInstance.getDbid();

    HistoryProcessInstance historyProcessInstance =
        dbSession.get(HistoryProcessInstanceImpl.class, processInstanceDbid);
   
    HistoryTaskImpl historyTask = new HistoryTaskImpl(task);
View Full Code Here

      throw new JbpmException("task "+taskId+" doesn't exist");
    }
   
    Set<String> outcomes = new HashSet<String>();
   
    ExecutionImpl execution = (task!=null ? task.getExecution() : null);
    ActivityImpl activity = (execution!=null ? execution.getActivity() : null);
    List<Transition> outgoingTransitions = (activity!=null ? activity.getOutgoingTransitions() : null);

    if (outgoingTransitions!=null) {
      for (Transition transition: outgoingTransitions) {
        outcomes.add(transition.getName());
View Full Code Here

    DbSession dbSession = EnvironmentImpl.getFromCurrent(DbSession.class);
   
    dbSession.save(variable);

    HistoryProcessInstanceImpl historyProcessInstance = null;
    ExecutionImpl processInstance = variable.getProcessInstance();
    if (processInstance!=null) {
      long processInstanceDbid = processInstance.getDbid();
      historyProcessInstance = (HistoryProcessInstanceImpl)
          dbSession.get(HistoryProcessInstanceImpl.class, processInstanceDbid);
    }
   
    HistoryTaskImpl historyTask = null;
View Full Code Here

  private static final long serialVersionUID = 1L;
 
  List<RulesFact> rulesFacts = new ArrayList<RulesFact>()
 
  public void execute(ActivityExecution execution) throws Exception {
    ExecutionImpl executionImpl = (ExecutionImpl)execution;
    String deploymentId = executionImpl.getProcessDefinition().getDeploymentId();
    KnowledgeBase knowledgeBase = RulesDeployer.getKnowledgeBase(deploymentId);

    StatefulKnowledgeSession knowledgeSession =
        knowledgeBase.newStatefulKnowledgeSession();
   
View Full Code Here

 
  protected String outcomeExpression;
  protected Map<Object, String> outcomeVariableMappings;

  public void execute(ActivityExecution execution) {
    ExecutionImpl executionImpl = (ExecutionImpl) execution;
   
    RepositorySession repositorySession = EnvironmentImpl.getFromCurrent(RepositorySession.class);
   
    ClientProcessDefinition processDefinition = null;
   
    if (subProcessId!=null) {
      processDefinition = repositorySession.findProcessDefinitionById(subProcessId);
    } else {
      processDefinition = repositorySession.findProcessDefinitionByKey(subProcessKey);
    }
   
    ExecutionImpl subProcessInstance = (ExecutionImpl) processDefinition.createProcessInstance(null, execution);
   
    for (String swimlaneName: swimlaneMappings.keySet()) {
      String subSwimlaneName = swimlaneMappings.get(swimlaneName);
      SwimlaneImpl subSwimlane = subProcessInstance.createSwimlane(subSwimlaneName);
      SwimlaneImpl swimlane = executionImpl.getSwimlane(swimlaneName);
      if (swimlane!=null) {
        subSwimlane.initialize(swimlane);
      }
    }
   
    for (SubProcessInParameterImpl inParameter: inParameters) {
      inParameter.produce(executionImpl, subProcessInstance);
    }

    executionImpl.historyActivityStart();
   
    subProcessInstance.start();

    execution.waitForSignal();
  }
View Full Code Here

  public void signal(ActivityExecution execution, String signalName, Map<String, ?> parameters) throws Exception {
    signal((ExecutionImpl)execution, signalName, parameters);
  }

  public void signal(ExecutionImpl execution, String signalName, Map<String, ?> parameters) throws Exception {
    ExecutionImpl executionImpl = (ExecutionImpl) execution;

    ExecutionImpl subProcessInstance = executionImpl.getSubProcessInstance();

    String transitionName = null;

    ExecutionContext originalExecutionContext = null;
    ExecutionContext subProcessExecutionContext = null;
    EnvironmentImpl environment = EnvironmentImpl.getCurrent();
    if (environment!=null) {
      originalExecutionContext = (ExecutionContext) environment.removeContext(Context.CONTEXTNAME_EXECUTION);
      subProcessExecutionContext = new ExecutionContext((ExecutionImpl) subProcessInstance);
      environment.setContext(subProcessExecutionContext);
    }

    try {
      subProcessInstance.setSuperProcessExecution(null);
      executionImpl.setSubProcessInstance(null);
     

      for (SubProcessOutParameterImpl outParameter: outParameters) {
        outParameter.consume(executionImpl, subProcessInstance);
      }
     
      Activity activity = execution.getActivity();
      String subProcessActivityName = subProcessInstance.getActivityName();
     
      if (outcomeExpression!=null) {
        ScriptManager scriptManager = EnvironmentImpl.getFromCurrent(ScriptManager.class);
        Object value = scriptManager.evaluateExpression(outcomeExpression, null);
        // if the value is a String and matches the name of an outgoing transition
View Full Code Here

      session.lock(execution.getParent(), lockMode);

      execution.setState(Execution.STATE_INACTIVE_JOIN);
      execution.waitForSignal();

      ExecutionImpl concurrentRoot = execution.getParent();
      List<ExecutionImpl> joinedExecutions = getJoinedExecutions(concurrentRoot, activity);
     
      if (isComplete(joinedExecutions, activity)) {
        endJoinedExecutions(joinedExecutions);

        ExecutionImpl outgoingExecution = null;
        if (concurrentRoot.getExecutions().size()==0) {
          outgoingExecution = concurrentRoot;
          outgoingExecution.setState(Execution.STATE_ACTIVE_ROOT);
        } else {
          outgoingExecution = concurrentRoot.createExecution();
          outgoingExecution.setState(Execution.STATE_ACTIVE_CONCURRENT);
        }

        execution.setActivity(activity, outgoingExecution);
        Transition transition = activity.getDefaultOutgoingTransition();
        if (transition==null) {
          throw new JbpmException("join must have an outgoing transition");
        }
        outgoingExecution.take(transition);
      }
     
    } else {
      throw new JbpmException("invalid execution state");
    }
View Full Code Here

TOP

Related Classes of org.jbpm.pvm.internal.model.ExecutionImpl

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.