protected void ensureTenantAuthorized(CommandContext commandContext, ProcessDefinitionEntity processDefinition) { if (!commandContext.getTenantManager().isAuthenticatedTenant(processDefinition.getTenantId())) { throw LOG.exceptionCommandWithUnauthorizedTenant("restart process instances of process definition '" + processDefinition.getId() + "'"); } } }
protected void ensureTenantAuthorized(CommandContext commandContext, ProcessDefinitionEntity processDefinition) { if (!commandContext.getTenantManager().isAuthenticatedTenant(processDefinition.getTenantId())) { throw LOG.exceptionCommandWithUnauthorizedTenant("restart process instances of process definition '" + processDefinition.getId() + "'"); } } }
protected boolean isLatestProcessDefinition(ProcessDefinitionEntity processDefinition) { ProcessDefinitionManager processDefinitionManager = Context.getCommandContext().getProcessDefinitionManager(); String key = processDefinition.getKey(); String tenantId = processDefinition.getTenantId(); ProcessDefinitionEntity latestProcessDefinition = processDefinitionManager.findLatestDefinitionByKeyAndTenantId(key, tenantId); return processDefinition.getId().equals(latestProcessDefinition.getId()); }
protected boolean isLatestProcessDefinition(ProcessDefinitionEntity processDefinition) { ProcessDefinitionManager processDefinitionManager = Context.getCommandContext().getProcessDefinitionManager(); String key = processDefinition.getKey(); String tenantId = processDefinition.getTenantId(); ProcessDefinitionEntity latestProcessDefinition = processDefinitionManager.findLatestDefinitionByKeyAndTenantId(key, tenantId); return processDefinition.getId().equals(latestProcessDefinition.getId()); }
public IdentityLinkEntity addIdentityLink(String userId, String groupId) { IdentityLinkEntity identityLinkEntity = IdentityLinkEntity.newIdentityLink(); getIdentityLinks().add(identityLinkEntity); identityLinkEntity.setProcessDef(this); identityLinkEntity.setUserId(userId); identityLinkEntity.setGroupId(groupId); identityLinkEntity.setType(IdentityLinkType.CANDIDATE); identityLinkEntity.setTenantId(getTenantId()); identityLinkEntity.insert(); return identityLinkEntity; }
public IdentityLinkEntity addIdentityLink(String userId, String groupId) { IdentityLinkEntity identityLinkEntity = IdentityLinkEntity.newIdentityLink(); getIdentityLinks().add(identityLinkEntity); identityLinkEntity.setProcessDef(this); identityLinkEntity.setUserId(userId); identityLinkEntity.setGroupId(groupId); identityLinkEntity.setType(IdentityLinkType.CANDIDATE); identityLinkEntity.setTenantId(getTenantId()); identityLinkEntity.insert(); return identityLinkEntity; }
protected void addMessageStartEventSubscription(EventSubscriptionDeclaration messageEventDefinition, ProcessDefinitionEntity processDefinition) { String tenantId = processDefinition.getTenantId(); if(isSameMessageEventSubscriptionAlreadyPresent(messageEventDefinition, tenantId)) { throw LOG.messageEventSubscriptionWithSameNameExists(processDefinition.getResourceName(), messageEventDefinition.getUnresolvedEventName()); } EventSubscriptionEntity newSubscription = messageEventDefinition.createSubscriptionForStartEvent(processDefinition); newSubscription.insert(); }
@Override public void checkUpdateProcessDefinitionById(String processDefinitionId) { if (getTenantManager().isTenantCheckEnabled()) { ProcessDefinitionEntity processDefinition = findLatestProcessDefinitionById(processDefinitionId); if (processDefinition != null && !getTenantManager().isAuthenticatedTenant(processDefinition.getTenantId())) { throw LOG.exceptionCommandWithUnauthorizedTenant("update the process definition '"+ processDefinitionId + "'"); } } }
@Override public void checkDeleteProcessDefinitionById(String processDefinitionId) { if (getTenantManager().isTenantCheckEnabled()) { ProcessDefinitionEntity processDefinition = findLatestProcessDefinitionById(processDefinitionId); if (processDefinition != null && !getTenantManager().isAuthenticatedTenant(processDefinition.getTenantId())) { throw LOG.exceptionCommandWithUnauthorizedTenant("delete the process definition '"+ processDefinitionId + "'"); } } }
@Override public void checkUpdateRetriesProcessInstanceByProcessDefinitionId(String processDefinitionId) { if (getTenantManager().isTenantCheckEnabled()) { ProcessDefinitionEntity processDefinition = findLatestProcessDefinitionById(processDefinitionId); if (processDefinition != null && !getTenantManager().isAuthenticatedTenant(processDefinition.getTenantId())) { throw LOG.exceptionCommandWithUnauthorizedTenant("update the process definition '"+ processDefinitionId + "'"); } } }
@Override public void checkDeleteProcessDefinitionById(String processDefinitionId) { if (getTenantManager().isTenantCheckEnabled()) { ProcessDefinitionEntity processDefinition = findLatestProcessDefinitionById(processDefinitionId); if (processDefinition != null && !getTenantManager().isAuthenticatedTenant(processDefinition.getTenantId())) { throw LOG.exceptionCommandWithUnauthorizedTenant("delete the process definition '"+ processDefinitionId + "'"); } } }
@Override public void checkUpdateProcessInstanceByProcessDefinitionId(String processDefinitionId) { if (getTenantManager().isTenantCheckEnabled()) { ProcessDefinitionEntity processDefinition = findLatestProcessDefinitionById(processDefinitionId); if (processDefinition != null && !getTenantManager().isAuthenticatedTenant(processDefinition.getTenantId())) { throw LOG.exceptionCommandWithUnauthorizedTenant("update the process definition '"+ processDefinitionId + "'"); } } }
@Override public void checkUpdateRetriesProcessInstanceByProcessDefinitionId(String processDefinitionId) { if (getTenantManager().isTenantCheckEnabled()) { ProcessDefinitionEntity processDefinition = findLatestProcessDefinitionById(processDefinitionId); if (processDefinition != null && !getTenantManager().isAuthenticatedTenant(processDefinition.getTenantId())) { throw LOG.exceptionCommandWithUnauthorizedTenant("update the process definition '"+ processDefinitionId + "'"); } } }
protected void addMessageStartEventSubscription(EventSubscriptionDeclaration messageEventDefinition, ProcessDefinitionEntity processDefinition) { String tenantId = processDefinition.getTenantId(); if(isSameMessageEventSubscriptionAlreadyPresent(messageEventDefinition, tenantId)) { throw LOG.messageEventSubscriptionWithSameNameExists(processDefinition.getResourceName(), messageEventDefinition.getUnresolvedEventName()); } EventSubscriptionEntity newSubscription = messageEventDefinition.createSubscriptionForStartEvent(processDefinition); newSubscription.insert(); }
@Override public void checkUpdateProcessDefinitionById(String processDefinitionId) { if (getTenantManager().isTenantCheckEnabled()) { ProcessDefinitionEntity processDefinition = findLatestProcessDefinitionById(processDefinitionId); if (processDefinition != null && !getTenantManager().isAuthenticatedTenant(processDefinition.getTenantId())) { throw LOG.exceptionCommandWithUnauthorizedTenant("update the process definition '"+ processDefinitionId + "'"); } } }
@Override protected void definitionAddedToDeploymentCache(DeploymentEntity deployment, ProcessDefinitionEntity definition, Properties properties) { List<JobDeclaration<?, ?>> declarations = properties.get(JOB_DECLARATIONS_PROPERTY).get(definition.getKey()); updateJobDeclarations(declarations, definition, deployment.isNew()); ProcessDefinitionEntity latestDefinition = findLatestDefinitionByKeyAndTenantId(definition.getKey(), definition.getTenantId()); if (deployment.isNew()) { adjustStartEventSubscriptions(definition, latestDefinition); } // add "authorizations" addAuthorizations(definition); }
@Override protected void definitionAddedToDeploymentCache(DeploymentEntity deployment, ProcessDefinitionEntity definition, Properties properties) { List<JobDeclaration<?, ?>> declarations = properties.get(JOB_DECLARATIONS_PROPERTY).get(definition.getKey()); updateJobDeclarations(declarations, definition, deployment.isNew()); ProcessDefinitionEntity latestDefinition = findLatestDefinitionByKeyAndTenantId(definition.getKey(), definition.getTenantId()); if (deployment.isNew()) { adjustStartEventSubscriptions(definition, latestDefinition); } // add "authorizations" addAuthorizations(definition); }
protected void removeObsoleteTimers(ProcessDefinitionEntity processDefinition) { List<JobEntity> jobsToDelete = getJobManager() .findJobsByConfiguration(TimerStartEventJobHandler.TYPE, processDefinition.getKey(), processDefinition.getTenantId()); for (JobEntity job :jobsToDelete) { new DeleteJobsCmd(job.getId()).execute(Context.getCommandContext()); } }
protected void removeObsoleteTimers(ProcessDefinitionEntity processDefinition) { List<JobEntity> jobsToDelete = getJobManager() .findJobsByConfiguration(TimerStartEventJobHandler.TYPE, processDefinition.getKey(), processDefinition.getTenantId()); for (JobEntity job :jobsToDelete) { new DeleteJobsCmd(job.getId()).execute(Context.getCommandContext()); } }
public EventSubscriptionEntity createSubscriptionForStartEvent(ProcessDefinitionEntity processDefinition) { EventSubscriptionEntity eventSubscriptionEntity = new EventSubscriptionEntity(eventType); VariableScope scopeForExpression = StartProcessVariableScope.getSharedInstance(); String eventName = resolveExpressionOfEventName(scopeForExpression); eventSubscriptionEntity.setEventName(eventName); eventSubscriptionEntity.setActivityId(activityId); eventSubscriptionEntity.setConfiguration(processDefinition.getId()); eventSubscriptionEntity.setTenantId(processDefinition.getTenantId()); return eventSubscriptionEntity; }