Exemple #1
0
        protected internal virtual IProcessDefinition findNewLatestProcessDefinitionAfterRemovalOf(IProcessDefinition processDefinitionToBeRemoved)
        {
            // The latest process definition is not necessarily the one with 'version -1' (some versions could have been deleted)
            // Hence, the following logic

            ProcessDefinitionQueryImpl query = new ProcessDefinitionQueryImpl();

            query.SetProcessDefinitionKey(processDefinitionToBeRemoved.Key);

            if (!ReferenceEquals(processDefinitionToBeRemoved.TenantId, null) && !Engine.ProcessEngineConfiguration.NO_TENANT_ID.Equals(processDefinitionToBeRemoved.TenantId))
            {
                query.SetProcessDefinitionTenantId(processDefinitionToBeRemoved.TenantId);
            }
            else
            {
                query.SetProcessDefinitionWithoutTenantId();
            }

            query.SetProcessDefinitionVersionLowerThan(processDefinitionToBeRemoved.Version);
            query.OrderByProcessDefinitionVersion().Desc();

            IList <IProcessDefinition> processDefinitions = ProcessDefinitionEntityManager.FindProcessDefinitionsByQueryCriteria(query, new Page(0, 1));

            if (processDefinitions != null && processDefinitions.Count > 0)
            {
                return(processDefinitions[0]);
            }
            return(null);
        }
Exemple #2
0
        protected internal virtual IProcessDefinitionEntity findLatestProcessDefinition(IProcessDefinition processDefinition)
        {
            IProcessDefinitionEntity latestProcessDefinition = null;

            if (!ReferenceEquals(processDefinition.TenantId, null) && !Engine.ProcessEngineConfiguration.NO_TENANT_ID.Equals(processDefinition.TenantId))
            {
                latestProcessDefinition = ProcessDefinitionEntityManager.FindLatestProcessDefinitionByKeyAndTenantId(processDefinition.Key, processDefinition.TenantId);
            }
            else
            {
                latestProcessDefinition = ProcessDefinitionEntityManager.FindLatestProcessDefinitionByKey(processDefinition.Key);
            }
            return(latestProcessDefinition);
        }
Exemple #3
0
 protected internal virtual void deleteProcessDefinitionForDeployment(string deploymentId)
 {
     ProcessDefinitionEntityManager.DeleteProcessDefinitionsByDeploymentId(deploymentId);
 }