public static CaseDefinitionEntityManager getCaseDefinitionEntityManager() { return getCaseDefinitionEntityManager(getCommandContext()); }
@Override public List<CaseDefinition> executeList(CommandContext commandContext) { checkQueryOk(); return CommandContextUtil.getCaseDefinitionEntityManager(commandContext).findCaseDefinitionsByQueryCriteria(this); }
@Override public long executeCount(CommandContext commandContext) { checkQueryOk(); return CommandContextUtil.getCaseDefinitionEntityManager(commandContext).findCaseDefinitionCountByQueryCriteria(this); }
@SuppressWarnings({ "unchecked", "rawtypes" }) @Override public List<IdentityLink> 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); } List<IdentityLink> identityLinks = (List) caseDefinition.getIdentityLinks(); return identityLinks; }
protected CaseDefinitionEntity getMostRecentVersionOfCaseDefinition(CaseDefinitionEntity caseDefinitionEntity) { String key = caseDefinitionEntity.getKey(); String tenantId = caseDefinitionEntity.getTenantId(); CaseDefinitionEntityManager caseDefinitionEntityManager = CommandContextUtil.getCaseDefinitionEntityManager(); CaseDefinitionEntity existingCaseDefinition = null; if (tenantId != null && !tenantId.equals(CmmnEngineConfiguration.NO_TENANT_ID)) { existingCaseDefinition = caseDefinitionEntityManager.findLatestCaseDefinitionByKeyAndTenantId(key, tenantId); } else { existingCaseDefinition = caseDefinitionEntityManager.findLatestCaseDefinitionByKey(key); } return existingCaseDefinition; }
protected void persistCaseDefinitions(CmmnParseResult parseResult) { CaseDefinitionEntityManager caseDefinitionManager = CommandContextUtil.getCaseDefinitionEntityManager(); for (CaseDefinitionEntity caseDefinition : parseResult.getAllCaseDefinitions()) { caseDefinitionManager.insert(caseDefinition, false); addAuthorizationsForNewCaseDefinition(parseResult.getCmmnCaseForCaseDefinition(caseDefinition), caseDefinition); } }
@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); } IdentityLinkEntity identityLinkEntity = CommandContextUtil.getIdentityLinkService().createScopeDefinitionIdentityLink( caseDefinition.getId(), ScopeTypes.CMMN, userId, groupId); caseDefinition.getIdentityLinks().add(identityLinkEntity); return null; }
protected CaseDefinitionEntity getPersistedInstanceOfCaseDefinition(CaseDefinitionEntity caseDefinitionEntity) { String deploymentId = caseDefinitionEntity.getDeploymentId(); if (StringUtils.isEmpty(caseDefinitionEntity.getDeploymentId())) { throw new IllegalStateException("Provided case definition must have a deployment id."); } CaseDefinitionEntityManager caseDefinitionEntityManager = CommandContextUtil.getCaseDefinitionEntityManager(); CaseDefinitionEntity persistedCaseDefinitionEntity = null; if (caseDefinitionEntity.getTenantId() == null || CmmnEngineConfiguration.NO_TENANT_ID.equals(caseDefinitionEntity.getTenantId())) { persistedCaseDefinitionEntity = caseDefinitionEntityManager.findCaseDefinitionByDeploymentAndKey(deploymentId, caseDefinitionEntity.getKey()); } else { persistedCaseDefinitionEntity = caseDefinitionEntityManager.findCaseDefinitionByDeploymentAndKeyAndTenantId(deploymentId, caseDefinitionEntity.getKey(), caseDefinitionEntity.getTenantId()); } return persistedCaseDefinitionEntity; }
@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; }
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 Void execute(CommandContext commandContext) { if (caseDefinitionId == null) { throw new FlowableIllegalArgumentException("Case definition id is null"); } CaseDefinitionEntity caseDefinition = CommandContextUtil.getCaseDefinitionEntityManager(commandContext).findById(caseDefinitionId); if (caseDefinition == null) { throw new FlowableObjectNotFoundException("No case definition found for id = '" + caseDefinitionId + "'", CaseDefinition.class); } // Update category caseDefinition.setCategory(category); // Remove case definition from cache, it will be refetched later DeploymentCache<CaseDefinitionCacheEntry> caseDefinitionCache = CommandContextUtil.getCmmnEngineConfiguration(commandContext).getCaseDefinitionCache(); if (caseDefinitionCache != null) { caseDefinitionCache.remove(caseDefinitionId); } return null; }
@Override protected void executeParse(CmmnParserImpl cmmnParser, CmmnParseResult cmmnParseResult, Case caze) { CaseDefinitionEntity caseDefinitionEntity = CommandContextUtil.getCaseDefinitionEntityManager().create(); caseDefinitionEntity.setKey(caze.getId()); caseDefinitionEntity.setName(caze.getName()); caseDefinitionEntity.setDescription(caze.getDocumentation()); caseDefinitionEntity.setCategory(cmmnParseResult.getCmmnModel().getTargetNamespace()); caseDefinitionEntity.setDeploymentId(cmmnParseResult.getResourceEntity().getDeploymentId()); cmmnParseResult.addCaseDefinition(caseDefinitionEntity, cmmnParseResult.getResourceEntity(), cmmnParseResult.getCmmnModel()); processPlanFragment(cmmnParser, cmmnParseResult, caze.getPlanModel()); }