All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jbpm.job.ExecuteActionJob Maven / Gradle / Ivy

The newest version!
package org.jbpm.job;

import org.jbpm.JbpmContext;
import org.jbpm.graph.def.Action;
import org.jbpm.graph.def.Node;
import org.jbpm.graph.exe.ExecutionContext;
import org.jbpm.graph.exe.Token;

public class ExecuteActionJob extends Job {

  private static final long serialVersionUID = 1L;

  private Action action;

  public ExecuteActionJob() {
  }

  public ExecuteActionJob(Token token) {
    super(token);
  }

  public boolean execute(JbpmContext jbpmContext) throws Exception {
    Token token = getToken();
    ExecutionContext executionContext = new ExecutionContext(token);
    executionContext.setAction(action);
    executionContext.setEvent(action.getEvent());

    Node node;
    if (token != null && (node = token.getNode()) != null) {
      node.executeAction(action, executionContext);
    }
    else {
      action.execute(executionContext);
    }
    return true;
  }

  public String toString() {
    return "ExecuteActionJob(" + getId() + ',' + action + ')';
  }

  public Action getAction() {
    return action;
  }

  public void setAction(Action action) {
    this.action = action;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy