@Override public Void execute(CommandContext commandContext) { CommandContextUtil.getAgenda(commandContext).planEvaluateCriteriaOperation(caseInstanceId); return null; }
protected Date calculateDueDate(CommandContext commandContext, int waitTimeInSeconds, Date oldDate) { Calendar newDateCal = new GregorianCalendar(); if (oldDate != null) { newDateCal.setTime(oldDate); } else { newDateCal.setTime(CommandContextUtil.getCmmnEngineConfiguration(commandContext).getClock().getCurrentTime()); } newDateCal.add(Calendar.SECOND, waitTimeInSeconds); return newDateCal.getTime(); }
public void addOperation(CmmnOperation operation, String caseInstanceId) { int operationIndex = getOperationIndex(operation); if (operationIndex >= 0) { operations.add(operationIndex, operation); } else { operations.addLast(operation); } if (LOGGER.isDebugEnabled()) { LOGGER.debug("Planned {}", operation); } if (caseInstanceId != null) { CommandContextUtil.addInvolvedCaseInstanceId(commandContext, caseInstanceId); } }
public static CaseInstanceEntityManager getCaseInstanceEntityManager() { return getCaseInstanceEntityManager(getCommandContext()); }
public static CaseInstanceHelper getCaseInstanceHelper() { return getCaseInstanceHelper(getCommandContext()); }
public static CmmnResourceEntityManager getCmmnResourceEntityManager() { return getCmmnResourceEntityManager(getCommandContext()); }
@Override public void execute(CommandContext commandContext, PlanItemInstanceEntity planItemInstanceEntity) { CaseInstanceHelper caseInstanceHelper = CommandContextUtil.getCaseInstanceHelper(commandContext); CaseInstanceBuilder caseInstanceBuilder = new CaseInstanceBuilderImpl(). caseDefinitionKey(caseRefExpression.getValue(planItemInstanceEntity).toString()); if (StringUtils.isNotEmpty(planItemInstanceEntity.getTenantId())) { caseInstanceBuilder.tenantId(planItemInstanceEntity.getTenantId()); caseInstanceBuilder.overrideCaseDefinitionTenantId(planItemInstanceEntity.getTenantId()); } caseInstanceBuilder.parentId(planItemInstanceEntity.getCaseInstanceId()); if (fallbackToDefaultTenant != null && fallbackToDefaultTenant) { caseInstanceBuilder.fallbackToDefaultTenant(); } CaseInstanceEntity caseInstanceEntity = caseInstanceHelper.startCaseInstance(caseInstanceBuilder); // Bidirectional storing of reference to avoid queries later on caseInstanceEntity.setCallbackType(CallbackTypes.PLAN_ITEM_CHILD_CASE); caseInstanceEntity.setCallbackId(planItemInstanceEntity.getId()); planItemInstanceEntity.setReferenceType(CallbackTypes.PLAN_ITEM_CHILD_CASE); planItemInstanceEntity.setReferenceId(caseInstanceEntity.getId()); if (CommandContextUtil.getCmmnEngineConfiguration(commandContext).isEnableEntityLinks()) { EntityLinkUtil.copyExistingEntityLinks(planItemInstanceEntity.getCaseInstanceId(), caseInstanceEntity.getId(), ScopeTypes.CMMN); EntityLinkUtil.createNewEntityLink(planItemInstanceEntity.getCaseInstanceId(), caseInstanceEntity.getId(), ScopeTypes.CMMN); } if (!evaluateIsBlocking(planItemInstanceEntity)) { CommandContextUtil.getAgenda(commandContext).planCompletePlanItemInstanceOperation((PlanItemInstanceEntity) planItemInstanceEntity); } }
public static void insertTask(TaskEntity taskEntity, boolean fireCreateEvent) { if (taskEntity.getOwner() != null) { addOwnerIdentityLink(taskEntity); } if (taskEntity.getAssignee() != null) { addAssigneeIdentityLinks(taskEntity); CommandContextUtil.getCmmnEngineConfiguration().getListenerNotificationHelper().executeTaskListeners(taskEntity, TaskListener.EVENTNAME_ASSIGNMENT); } CommandContextUtil.getTaskService().insertTask(taskEntity, fireCreateEvent); CommandContextUtil.getCmmnHistoryManager().recordTaskCreated(taskEntity); }
@Override public void execute(JobEntity job, String caseInstanceId, VariableScope variableScope, CommandContext commandContext) { CaseInstanceEntity caseInstance = CommandContextUtil.getCaseInstanceEntityManager(commandContext).findById(caseInstanceId); if (caseInstance != null) { CommandContextUtil.getAgenda(commandContext).planInitPlanModelOperation(caseInstance); } else { throw new FlowableException("Invalid usage of " + TYPE + " job handler, case instance " + caseInstanceId + " was not found."); } }
protected CaseDefinition resolveCaseDefinition(String caseDefinitionKey, Integer caseDefinitionVersion, String tenantId, CommandContext commandContext) { CaseDefinitionEntityManager caseDefinitionEntityManager = CommandContextUtil.getCaseDefinitionEntityManager(commandContext); CaseDefinition caseDefinition = null; if (caseDefinitionVersion != null) { caseDefinition = caseDefinitionEntityManager.findCaseDefinitionByKeyAndVersionAndTenantId(caseDefinitionKey, caseDefinitionVersion, tenantId); } else { if (tenantId == null || CmmnEngineConfiguration.NO_TENANT_ID.equals(tenantId)) { caseDefinition = caseDefinitionEntityManager.findLatestCaseDefinitionByKey(caseDefinitionKey); } else { caseDefinition = caseDefinitionEntityManager.findLatestCaseDefinitionByKeyAndTenantId(caseDefinitionKey, tenantId); } } if (caseDefinition == null) { CmmnDeploymentManager deploymentManager = CommandContextUtil.getCmmnEngineConfiguration(commandContext).getDeploymentManager(); if (tenantId == null || CmmnEngineConfiguration.NO_TENANT_ID.equals(tenantId)) { caseDefinition = deploymentManager.findDeployedLatestCaseDefinitionByKey(caseDefinitionKey); } else { caseDefinition = deploymentManager.findDeployedLatestCaseDefinitionByKeyAndTenantId(caseDefinitionKey, tenantId); } } return caseDefinition; } }
@Override public FormInfo execute(CommandContext commandContext) { CmmnEngineConfiguration cmmnEngineConfiguration = CommandContextUtil.getCmmnEngineConfiguration(commandContext); FormService formService = CommandContextUtil.getFormService(commandContext); if (formService == null) { throw new FlowableIllegalArgumentException("Form engine is not initialized"); CmmnDeployment deployment = CommandContextUtil.getCmmnDeploymentEntityManager(commandContext).findById(caseDefinition.getDeploymentId()); formInfo = formService.getFormInstanceModelByKeyAndParentDeploymentIdAndScopeId(planModel.getFormKey(), deployment.getParentDeploymentId(), caseInstanceId, ScopeTypes.CMMN, null, caseDefinition.getTenantId(), cmmnEngineConfiguration.isFallbackToDefaultTenant());
@Override public void execute(CommandContext commandContext, PlanItemInstanceEntity planItemInstanceEntity) { MilestoneInstanceEntity milestoneInstanceEntity = createMilestoneInstance(planItemInstanceEntity, commandContext); CommandContextUtil.getCmmnHistoryManager(commandContext).recordMilestoneReached(milestoneInstanceEntity); CommandContextUtil.getAgenda(commandContext).planOccurPlanItemInstanceOperation(planItemInstanceEntity); }
protected void deleteCaseInstance() { updateChildPlanItemInstancesState(); CommandContextUtil.getCaseInstanceEntityManager(commandContext).delete(caseInstanceEntity.getId(), false, getDeleteReason()); String newState = getNewState(); CommandContextUtil.getCaseInstanceHelper(commandContext).callCaseInstanceStateChangeCallbacks(commandContext, caseInstanceEntity, caseInstanceEntity.getState(), newState); CommandContextUtil.getCmmnHistoryManager(commandContext).recordCaseInstanceEnd(caseInstanceEntity, newState); }
public static void changeTaskAssignee(TaskEntity taskEntity, String assignee) { if ((taskEntity.getAssignee() != null && !taskEntity.getAssignee().equals(assignee)) || (taskEntity.getAssignee() == null && assignee != null)) { CommandContextUtil.getTaskService().changeTaskAssignee(taskEntity, assignee); CommandContextUtil.getCmmnEngineConfiguration().getListenerNotificationHelper().executeTaskListeners(taskEntity, TaskListener.EVENTNAME_ASSIGNMENT); if (taskEntity.getId() != null) { addAssigneeIdentityLinks(taskEntity); } } }
@Override public void execute(CommandContext commandContext, PlanItemInstanceEntity planItemInstanceEntity) { if (planItemInstanceEntity.getPlanItem().getName() != null) { Expression nameExpression = CommandContextUtil.getExpressionManager(commandContext).createExpression(planItemInstanceEntity.getPlanItem().getName()); planItemInstanceEntity.setName(nameExpression.getValue(planItemInstanceEntity).toString()); } CommandContextUtil.getAgenda(commandContext).planInitStageOperation(planItemInstanceEntity); }
@Override public void deleteHistoryUserTaskLog(long logNumber) { CommandContextUtil.getCmmnHistoryManager().deleteHistoricUserTaskLogEntry(logNumber); } }
protected MilestoneInstanceEntity createMilestoneInstance(PlanItemInstanceEntity planItemInstanceEntity, CommandContext commandContext) { MilestoneInstanceEntityManager milestoneInstanceEntityManager = CommandContextUtil.getMilestoneInstanceEntityManager(commandContext); MilestoneInstanceEntity milestoneInstanceEntity = milestoneInstanceEntityManager.create(); milestoneInstanceEntity.setName(milestoneNameExpression.getValue(planItemInstanceEntity).toString()); milestoneInstanceEntity.setTimeStamp(CommandContextUtil.getCmmnEngineConfiguration(commandContext).getClock().getCurrentTime()); milestoneInstanceEntity.setCaseInstanceId(planItemInstanceEntity.getCaseInstanceId()); milestoneInstanceEntity.setCaseDefinitionId(planItemInstanceEntity.getCaseDefinitionId()); milestoneInstanceEntity.setElementId(planItemInstanceEntity.getElementId()); milestoneInstanceEntity.setTenantId(planItemInstanceEntity.getTenantId()); milestoneInstanceEntityManager.insert(milestoneInstanceEntity); return milestoneInstanceEntity; }
@Override public CmmnDeployment execute(CommandContext commandContext) { CmmnEngineConfiguration cmmnEngineConfiguration = CommandContextUtil.getCmmnEngineConfiguration(commandContext); CmmnDeploymentEntity deployment = deploymentBuilder.getDeployment(); CommandContextUtil.getCmmnDeploymentEntityManager(commandContext).insert(deployment); cmmnEngineConfiguration.getDeploymentManager().deploy(deployment, null); return deployment;
@Override protected VariableScopeImpl getParentVariableScope() { if (caseInstanceId != null) { return (VariableScopeImpl) CommandContextUtil.getCaseInstanceEntityManager().findById(caseInstanceId); } return null; }
@Override public Void execute(CommandContext commandContext) { CaseDefinitionEntity caseDefinition = CommandContextUtil.getCaseDefinitionEntityManager(commandContext).findById(caseDefinitionId); if (caseDefinition == null) { throw new FlowableObjectNotFoundException("Cannot find case definition with id " + caseDefinitionId, CaseDefinition.class); } CommandContextUtil.getIdentityLinkService().deleteScopeDefinitionIdentityLink(caseDefinition.getId(), ScopeTypes.CMMN, userId, groupId); return null; }