protected Integer getActivityPriority( ExecutionEntity execution, JobDeclaration<?> jobDeclaration) { if (jobDeclaration != null) { ParameterValueProvider priorityProvider = jobDeclaration.getJobPriorityProvider(); if (priorityProvider != null) { return evaluateValueProvider(priorityProvider, execution, jobDeclaration); } } return null; }
protected Integer evaluateValueProvider( ParameterValueProvider valueProvider, ExecutionEntity execution, JobDeclaration<?> jobDeclaration) { Object value = valueProvider.getValue(execution); if (!(value instanceof Integer)) { throw new ProcessEngineException( "Priority for job " + jobDeclaration.getActivityId() + "/" + jobDeclaration.getJobHandlerType() + " instantiated " + "in context of " + execution + " is not an Integer"); } else { return (Integer) value; } }
protected Integer getJobDefinitionPriority( ExecutionEntity execution, JobDeclaration<?> jobDeclaration) { String jobDefinitionId = jobDeclaration.getJobDefinitionId(); if (jobDefinitionId != null) { JobDefinitionEntity jobDefinition = Context.getCommandContext().getJobDefinitionManager().findById(jobDefinitionId); if (jobDefinition != null) { return jobDefinition.getJobPriority(); } } return null; }