public ContentMarshallerContext getMarshallerContext(Task task) { if (task.getTaskData().getDeploymentId() != null && this.marhsalContexts.containsKey(task.getTaskData().getDeploymentId())) { return this.marhsalContexts.get(task.getTaskData().getDeploymentId()); } return new ContentMarshallerContext(); }
private String buildDefafultEmailBody(TaskData taskData,Task task){ Map<String, Object> vars = new HashMap<String, Object>(); vars.put("taskName", task.getName()); vars.put("taskId", task.getId()); vars.put("deploymentId", taskData.getDeploymentId()); vars.put("processId", taskData.getProcessId()); vars.put("processInstanceId", taskData.getProcessInstanceId()); String body = (String) TemplateRuntime.eval(defaultEmailBody, vars); return body; }
public RuntimeManager getManager(Task task) { return registry.getManager(task.getTaskData().getDeploymentId()); }
/** * Generates a queue name that is based on data retrieved from the task. The form of the generated queue name is: * Process ID + "_" + Deployment ID + " " + Task Name * @param task Source of the data used to generate the queue name * @return The generated queue name */ protected String getQueueName(Task task) { return task.getTaskData().getProcessId() + "_" + task.getTaskData().getDeploymentId() + "_" + task.getName(); }
public void schedule(long taskId, long deadlineId, long delay, DeadlineType type) { Task task = persistenceContext.findTask(taskId); String deploymentId = task.getTaskData().getDeploymentId();
public void afterTaskCompletedEvent(TaskEvent event) { Task task = event.getTask(); long processInstanceId = task.getTaskData().getProcessInstanceId(); if (processInstanceId <= 0) { return; } RuntimeManager manager = getManager(task); if (manager == null) { throw new RuntimeException("No RuntimeManager registered with identifier: " + task.getTaskData().getDeploymentId()); } RuntimeEngine runtime = manager.getRuntimeEngine(ProcessInstanceIdContext.get(processInstanceId)); KieSession session = runtime.getKieSession(); if (session != null) { logger.debug(">> I've recieved an event for a known session (" + task.getTaskData().getProcessSessionId()+")"); processTaskState(task); } else { logger.error("EE: I've recieved an event but the session is not known by this handler ( "+task.getTaskData().getProcessSessionId()+")"); } }
public void unschedule(long taskId, Deadline deadline, DeadlineType type) { Task task = persistenceContext.findTask(taskId); String deploymentId = task.getTaskData().getDeploymentId(); Deadlines deadlines = ((InternalTask)task).getDeadlines(); TimerService timerService = TimerServiceRegistry.getInstance().get(deploymentId + TimerServiceRegistry.TIMER_SERVICE_SUFFIX); if (timerService != null && timerService instanceof GlobalTimerService) { TaskDeadlineJob deadlineJob = new TaskDeadlineJob(taskId, deadline.getId(), type, deploymentId, task.getTaskData().getProcessInstanceId()); logger.debug("unscheduling timer job for deadline {} {} and task {} using timer service {}", deadlineJob.getId(), deadline.getId(), taskId, timerService); JobHandle jobHandle = jobHandles.remove(deadlineJob.getId()); if (jobHandle == null) { jobHandle = ((GlobalTimerService) timerService).buildJobHandleForContext(new TaskDeadlineJobContext(deadlineJob.getId(), task.getTaskData().getProcessInstanceId(), deploymentId)); } timerService.removeJob(jobHandle); // mark the deadlines so they won't be rescheduled again deadline.setEscalated(true); } }
.map(entity -> safeOrgEntity(entity)) .collect(Collectors.toList()); this.containerId = source.getTaskData().getDeploymentId(); this.createdBy = safeOrgEntity(source.getTaskData().getCreatedBy()); this.createdOn = source.getTaskData().getCreatedOn();
public void unschedule(long taskId, DeadlineType type) { Task task = persistenceContext.findTask(taskId); String deploymentId = task.getTaskData().getDeploymentId();
logger.debug("Last executed task {} will be used to populate error details", task); errorBuilder .deploymentId(task.getTaskData().getDeploymentId()) .processInstanceId(task.getTaskData().getProcessInstanceId()) .processId(task.getTaskData().getProcessId())
public Long execute(Context cntxt) { TaskContext context = (TaskContext) cntxt; Attachment attachmentImpl = attachment; if (attachmentImpl == null) { attachmentImpl = jaxbAttachment; } Content contentImpl = content; if (contentImpl == null) { contentImpl = jaxbContent; } if (rawContent != null && contentImpl == null) { Task task = context.getPersistenceContext().findTask(taskId); contentImpl = TaskModelProvider.getFactory().newContent(); ContentMarshallerContext ctx = TaskContentRegistry.get().getMarshallerContext(task.getTaskData().getDeploymentId()); ((InternalContent)contentImpl).setContent(ContentMarshallerHelper.marshallContent(task, rawContent, ctx.getEnvironment())); ((InternalAttachment)attachmentImpl).setSize(contentImpl.getContent().length); } doCallbackOperationForAttachment(attachmentImpl, context); return context.getTaskAttachmentService().addAttachment(taskId, attachmentImpl, contentImpl); }
this.deploymentId = taskData.getDeploymentId();
@Override public ExecutionError filter(ExecutionErrorContext errorContext) { if (isCausedBy(errorContext.getCause(), PermissionDeniedException.class)) { return null; } Builder taskErrorBuilder = ExecutionError.builder().type(TYPE).initActivityId(getInitActivityId(errorContext)); TaskException exception = extract(errorContext.getCause(), TaskException.class); String stacktrace = getStackTrace(exception); Task task = errorContext.getLastExecutedTask(); if (task != null) { taskErrorBuilder .deploymentId(task.getTaskData().getDeploymentId()) .processInstanceId(task.getTaskData().getProcessInstanceId()) .processId(task.getTaskData().getProcessId()) .activityId(task.getId()) .activityName(task.getName()); } return taskErrorBuilder .message(exception.getMessage()) .error(stacktrace) .errorDate(new Date()) .build(); }
if (deploymentId != null && !deploymentId.equals(task.getTaskData().getDeploymentId())) { throw new IllegalStateException("Task instance " + task.getId() + " is owned by another deployment expected " + task.getTaskData().getDeploymentId() + " found " + deploymentId);
assertEquals("id-1", task.getTaskData().getDeploymentId()); try { taskService2.start(taskId, "john"); } catch (IllegalStateException re) { assertEquals("Task instance " + task.getId() + " is owned by another deployment expected " + task.getTaskData().getDeploymentId() + " found id-2" , re.getMessage());
protected AuditTaskImpl createAuditTask(Task ti, Date date) { AuditTaskImpl auditTaskImpl = new AuditTaskImpl( ti.getId(), ti.getName(), ti.getTaskData().getStatus().name(), ti.getTaskData().getActivationTime(), (ti.getTaskData().getActualOwner() != null) ? ti.getTaskData().getActualOwner().getId() : "", ti.getDescription(), ti.getPriority(), (ti.getTaskData().getCreatedBy() != null) ? ti.getTaskData().getCreatedBy().getId() : "", ti.getTaskData().getCreatedOn(), ti.getTaskData().getExpirationTime(), ti.getTaskData().getProcessInstanceId(), ti.getTaskData().getProcessId(), ti.getTaskData().getProcessSessionId(), ti.getTaskData().getDeploymentId(), ti.getTaskData().getParentId(), ti.getTaskData().getWorkItemId(), date ); return auditTaskImpl; }
ti.getTaskData().getProcessId(), ti.getTaskData().getProcessSessionId(), ti.getTaskData().getDeploymentId(), ti.getTaskData().getParentId(), ti.getTaskData().getWorkItemId(),
@Override public String render(String name, Task task, ProcessDefinition process, Map<String, Object> renderContext) { if (task == null) return null; String lookupName = getTaskFormName( task ); if ( lookupName == null || lookupName.isEmpty() || !lookupName.endsWith( formExtension )) return null; String templateString = formManagerService.getFormByKey(task.getTaskData().getDeploymentId(), lookupName); if (templateString != null && !templateString.isEmpty()) return renderTaskForm(task, new ByteArrayInputStream( templateString.getBytes() ), renderContext); return null; }
public RuntimeManager getManager(Task task) { return registry.getManager(task.getTaskData().getDeploymentId()); }
@Override public String render( String name, Task task, ProcessDefinition process, Map<String, Object> renderContext ) { String lookupName = getTaskFormName( task ); if ( lookupName == null || lookupName.isEmpty()) return null; return render( lookupName, task.getTaskData().getDeploymentId() ); }