本文整理汇总了Java中org.jbpm.graph.exe.ExecutionContext类的典型用法代码示例。如果您正苦于以下问题:Java ExecutionContext类的具体用法?Java ExecutionContext怎么用?Java ExecutionContext使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ExecutionContext类属于org.jbpm.graph.exe包,在下文中一共展示了ExecutionContext类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getInitializedSwimlaneInstance
import org.jbpm.graph.exe.ExecutionContext; //导入依赖的package包/类
public SwimlaneInstance getInitializedSwimlaneInstance(ExecutionContext executionContext, Swimlane swimlane)
{
// initialize the swimlane
if (swimlaneInstances == null)
swimlaneInstances = new HashMap<String, SwimlaneInstance>();
SwimlaneInstance swimlaneInstance = swimlaneInstances.get(swimlane.getName());
if (swimlaneInstance == null)
{
swimlaneInstance = new SwimlaneInstance(swimlane);
addSwimlaneInstance(swimlaneInstance);
// assign the swimlaneInstance
performAssignment(swimlane.getAssignmentDelegation(), swimlane.getActorIdExpression(), swimlane.getPooledActorsExpression(), swimlaneInstance,
executionContext);
}
return swimlaneInstance;
}
示例2: performAssignmentDelegation
import org.jbpm.graph.exe.ExecutionContext; //导入依赖的package包/类
void performAssignmentDelegation(Delegation assignmentDelegation, Assignable assignable, ExecutionContext executionContext) throws Exception
{
ClassLoader surroundingClassLoader = Thread.currentThread().getContextClassLoader();
try
{
// set context class loader correctly for delegation class (https://jira.jboss.org/jira/browse/JBPM-1448)
Thread.currentThread().setContextClassLoader(JbpmConfiguration.getProcessClassLoader(executionContext.getProcessDefinition()));
// instantiate the assignment handler
AssignmentHandler assignmentHandler = (AssignmentHandler)assignmentDelegation.instantiate();
// invoke the assignment handler
if (UserCodeInterceptorConfig.userCodeInterceptor != null)
{
UserCodeInterceptorConfig.userCodeInterceptor.executeAssignment(assignmentHandler, assignable, executionContext);
}
else
{
assignmentHandler.assign(assignable, executionContext);
}
}
finally
{
Thread.currentThread().setContextClassLoader(surroundingClassLoader);
}
}
示例3: performAssignmentActorIdExpr
import org.jbpm.graph.exe.ExecutionContext; //导入依赖的package包/类
void performAssignmentActorIdExpr(String actorIdExpression, Assignable assignable, ExecutionContext executionContext)
{
Object result = null;
String actorId = null;
try
{
result = JbpmExpressionEvaluator.evaluate(actorIdExpression, executionContext);
if (result == null)
{
throw new JbpmException("actor-id expression '" + actorIdExpression + "' returned null");
}
actorId = (String)result;
}
catch (ClassCastException e)
{
throw new JbpmException("actor-id expression '" + actorIdExpression + "' didn't resolve to a java.lang.String: '" + result + "' ("
+ result.getClass().getName() + ")");
}
assignable.setActorId(actorId);
}
示例4: execute
import org.jbpm.graph.exe.ExecutionContext; //导入依赖的package包/类
public Object execute(JbpmContext jbpmContext) throws Exception {
TaskInstance taskInstance = jbpmContext.getTaskInstance(id);
ExecutionContext executionContext = new ExecutionContext(taskInstance.getToken());
TaskInstance clone = taskInstance.getTaskMgmtInstance().createTaskInstance(
taskInstance.getTask(),
executionContext);
clone.setSignalling(signalling);
clone.setActorId(actorId, false);
if (variables != null) {
for (String codi: variables.keySet()) {
clone.setVariableLocally(codi, variables.get(codi));
}
}
// Desam logs únicament si està marcat al tipus d'expedient
if (getAmbRetroaccio(jbpmContext, taskInstance.getProcessInstance()))
jbpmContext.addAutoSaveTaskInstance(clone);
return clone;
}
示例5: executeActions
import org.jbpm.graph.exe.ExecutionContext; //导入依赖的package包/类
void executeActions(List actions, ExecutionContext executionContext, boolean isPropagated) {
if (actions != null) {
Iterator iter = actions.iterator();
while (iter.hasNext()) {
Action action = (Action) iter.next();
if (action.acceptsPropagatedEvents() || (!isPropagated)) {
if (action.isAsync()) {
ExecuteActionJob job = createAsyncActionExecutionJob(executionContext.getToken(), action);
MessageService messageService = (MessageService) Services.getCurrentService(Services.SERVICENAME_MESSAGE);
messageService.send(job);
} else {
executeAction(action, executionContext);
}
}
}
}
}
示例6: isAbleToHandleExceptions
import org.jbpm.graph.exe.ExecutionContext; //导入依赖的package包/类
/**
* Tells whether the given context is valid for exception handling by checking for:
* <ul>
* <li>the absence of a previous exception</li>
* <li>an active transaction, or no transaction at all</li>
* </ul>
*/
private static boolean isAbleToHandleExceptions(ExecutionContext executionContext) {
/* if an exception is already set, we are already handling an exception;
* in this case don't give the exception to the handlers but throw it to the client
* see https://jira.jboss.org/jira/browse/JBPM-1887 */
if (executionContext.getException() != null)
return false;
/* check whether the transaction is still active before scanning the exception handlers.
* that way we can load the exception handlers lazily
* see https://jira.jboss.org/jira/browse/JBPM-1775 */
JbpmContext jbpmContext = executionContext.getJbpmContext();
if (jbpmContext != null) {
Services services = jbpmContext.getServices();
if (services != null) {
Service service = services.getPersistenceService();
if (service instanceof DbPersistenceService) {
DbPersistenceService persistenceService = (DbPersistenceService) service;
return persistenceService.isTransactionActive() || persistenceService.getTransaction() == null;
}
}
}
// no transaction detected, probably running in memory only
return true;
}
示例7: execute
import org.jbpm.graph.exe.ExecutionContext; //导入依赖的package包/类
public void execute(ExecutionContext executionContext) throws Exception {
logger.debug("Inici execució handler generar document");
String dc = (String)getValorOVariable(
executionContext,
documentCodi,
varDocumentCodi);
if (dc == null)
throw new JbpmException("No s'ha especificat cap codi de document");
Date docData = getValorOVariableData(executionContext, data, varData);
if (docData == null)
docData = new Date();
Jbpm3HeliumBridge.getInstanceService().documentGenerarAmbPlantilla(
null,
getProcessInstanceId(executionContext),
dc,
docData);
logger.debug("Handler generar document finalitzat amb èxit");
}
示例8: consultaDomini
import org.jbpm.graph.exe.ExecutionContext; //导入依赖的package包/类
/**
* Realitza una consulta a un domini
*
* @param executionContext
* @param codiDomini
* @param parametres
* @return
*/
public List<FilaResultat> consultaDomini(
ExecutionContext executionContext,
String codiDomini,
String id,
Map<String, Object> parametres) {
List<FilaResultat> resposta = new ArrayList<FilaResultat>();
List<DominiRespostaFilaDto> files = Jbpm3HeliumBridge.getInstanceService().dominiConsultar(
getProcessInstanceId(executionContext),
codiDomini,
id,
parametres);
if (files != null) {
for (DominiRespostaFilaDto fila: files) {
FilaResultat fres = new FilaResultat();
for (DominiRespostaColumnaDto columna: fila.getColumnes()) {
fres.addColumna(
new ParellaCodiValor(
columna.getCodi(),
columna.getValor()));
}
resposta.add(fres);
}
}
return resposta;
}
示例9: getValorOVariableInteger
import org.jbpm.graph.exe.ExecutionContext; //导入依赖的package包/类
protected Integer getValorOVariableInteger(
ExecutionContext executionContext, Object value, String var) {
if (value != null) {
if (value instanceof Integer) {
return (Integer) value;
} else {
return new Integer(value.toString());
}
}
if (var != null && var.length() > 0) {
Object valor = executionContext.getVariable(var);
if (valor != null) {
if (valor instanceof Integer) {
return (Integer) valor;
} else {
return new Integer(valor.toString());
}
}
}
return null;
}
示例10: getDataInici
import org.jbpm.graph.exe.ExecutionContext; //导入依赖的package包/类
private Date getDataInici(ExecutionContext executionContext) {
Date data;
if (varData != null && varData.length() > 0) {
data = getVariableComData(executionContext, varData);
} else {
data = new Date();
}
if (sumarUnDia != null && sumarUnDia.length() > 0) {
Calendar cal = Calendar.getInstance();
cal.setTime(data);
cal.add(Calendar.DAY_OF_MONTH, 1);
return cal.getTime();
} else {
return data;
}
}
示例11: getPersonesPas
import org.jbpm.graph.exe.ExecutionContext; //导入依赖的package包/类
private List<PersonaDto> getPersonesPas(ExecutionContext executionContext, int pas) {
List<PersonaDto> resposta = null;
String responsables = null;
if (pas == 1) {
responsables = (String)getValorOVariable(executionContext, pas1Responsables, varPas1Responsables);
} else if (pas == 2) {
responsables = (String)getValorOVariable(executionContext, pas2Responsables, varPas2Responsables);
} else if (pas == 3) {
responsables = (String)getValorOVariable(executionContext, pas3Responsables, varPas3Responsables);
}
if (responsables != null) {
resposta = new ArrayList<PersonaDto>();
String[] codis = responsables.split(",");
for (String personaCodi: codis) {
PersonaDto persona = Jbpm3HeliumBridge.getInstanceService().getPersonaAmbCodi(personaCodi.trim());
if (persona != null)
resposta.add(persona);
}
}
return resposta;
}
示例12: getDataFi
import org.jbpm.graph.exe.ExecutionContext; //导入依赖的package包/类
private Date getDataFi(ExecutionContext executionContext) {
Date data;
if (varData != null && varData.length() > 0) {
data = getVariableComData(executionContext, varData);
} else {
data = new Date();
}
if (restarUnDia != null && restarUnDia.length() > 0) {
Calendar cal = Calendar.getInstance();
cal.setTime(data);
cal.add(Calendar.DAY_OF_MONTH, -1);
return cal.getTime();
} else {
return data;
}
}
示例13: execute
import org.jbpm.graph.exe.ExecutionContext; //导入依赖的package包/类
public void execute(ExecutionContext executionContext) throws Exception {
if (varTermini == null)
throw new JbpmException("S'han d'especificar la variable a on guardar el termini");
Integer a = getValorOVariableInteger(executionContext, anys, varAnys);
Integer m = getValorOVariableInteger(executionContext, mesos, varMesos);
Integer d = getValorOVariableInteger(executionContext, dies, varDies);
if (a != null && m != null && d != null) {
net.conselldemallorca.helium.jbpm3.integracio.Termini termini = new net.conselldemallorca.helium.jbpm3.integracio.Termini();
termini.setAnys(a.intValue());
termini.setMesos(m.intValue());
termini.setDies(d.intValue());
executionContext.setVariable(varTermini, termini);
} else {
throw new JbpmException("S'han d'especificar anys, mesos i dies");
}
}
示例14: execute
import org.jbpm.graph.exe.ExecutionContext; //导入依赖的package包/类
public void execute(ExecutionContext executionContext) throws Exception {
String tc = (String)getValorOVariable(
executionContext,
terminiCodi,
varTerminiCodi);
TerminiIniciatDto terminiIniciat = Jbpm3HeliumBridge.getInstanceService().getTerminiIniciatAmbProcessInstanceITerminiCodi(
getProcessInstanceId(executionContext),
tc);
if (terminiIniciat != null) {
Timer timer = executionContext.getTimer();
if (timer != null)
timer.setDueDate(terminiIniciat.getDataFiAmbAturadaActual());
TaskInstance taskInstance = executionContext.getTaskInstance();
if (taskInstance != null)
taskInstance.setDueDate(terminiIniciat.getDataFiAmbAturadaActual());
Jbpm3HeliumBridge.getInstanceService().configurarTerminiIniciatAmbDadesJbpm(
terminiIniciat.getId(),
(taskInstance != null) ? new Long(taskInstance.getId()).toString() : null,
(timer != null) ? new Long(timer.getId()) : null);
} else {
throw new JbpmException("No s'ha trobat cap termini iniciat (codi=" + tc + ")");
}
}
示例15: execute
import org.jbpm.graph.exe.ExecutionContext; //导入依赖的package包/类
public void execute(ExecutionContext executionContext) throws Exception {
TerminiIniciatDto termini = getTerminiIniciatAmbCodi(
executionContext,
(String)getValorOVariable(executionContext, terminiCodi, varTerminiCodi));
if (termini != null) {
if (varData != null)
Jbpm3HeliumBridge.getInstanceService().terminiPausar(
termini.getId(),
getVariableComData(executionContext, varData));
else
Jbpm3HeliumBridge.getInstanceService().terminiPausar(
termini.getId(),
new Date());
} else {
throw new JbpmException("No existeix cap termini iniciat amb aquest codi '" + terminiCodi + "'");
}
}