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); }
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); }
protected internal virtual void deleteProcessDefinitionForDeployment(string deploymentId) { ProcessDefinitionEntityManager.DeleteProcessDefinitionsByDeploymentId(deploymentId); }