コード例 #1
0
        public virtual void logExternalTaskOperation(string operation, ExternalTaskEntity externalTask, IList <PropertyChange> propertyChanges)
        {
            if (UserOperationLogEnabled)
            {
                UserOperationLogContext             context      = new UserOperationLogContext();
                UserOperationLogContextEntryBuilder entryBuilder = UserOperationLogContextEntryBuilder.entry(operation, EntityTypes.EXTERNAL_TASK).propertyChanges(propertyChanges).category(org.camunda.bpm.engine.history.UserOperationLogEntry_Fields.CATEGORY_OPERATOR);

                if (externalTask != null)
                {
                    ExecutionEntity         instance   = null;
                    ProcessDefinitionEntity definition = null;
                    if (!string.ReferenceEquals(externalTask.ProcessInstanceId, null))
                    {
                        instance = ProcessInstanceManager.findExecutionById(externalTask.ProcessInstanceId);
                    }
                    else if (!string.ReferenceEquals(externalTask.ProcessDefinitionId, null))
                    {
                        definition = ProcessDefinitionManager.findLatestProcessDefinitionById(externalTask.ProcessDefinitionId);
                    }
                    entryBuilder.processInstanceId(externalTask.ProcessInstanceId).processDefinitionId(externalTask.ProcessDefinitionId).processDefinitionKey(externalTask.ProcessDefinitionKey).inContextOf(externalTask, instance, definition);
                }

                context.addEntry(entryBuilder.create());
                fireUserOperationLog(context);
            }
        }
コード例 #2
0
        public static ExternalTaskEntity createAndInsert(ExecutionEntity execution, string topic, long priority)
        {
            ExternalTaskEntity externalTask = new ExternalTaskEntity();

            externalTask.TopicName           = topic;
            externalTask.ExecutionId         = execution.Id;
            externalTask.ProcessInstanceId   = execution.ProcessInstanceId;
            externalTask.ProcessDefinitionId = execution.ProcessDefinitionId;
            externalTask.ActivityId          = execution.ActivityId;
            externalTask.ActivityInstanceId  = execution.ActivityInstanceId;
            externalTask.TenantId            = execution.TenantId;
            externalTask.Priority            = priority;

            ProcessDefinitionEntity processDefinition = execution.getProcessDefinition();

            externalTask.ProcessDefinitionKey = processDefinition.Key;

            externalTask.insert();
            externalTask.produceHistoricExternalTaskCreatedEvent();

            return(externalTask);
        }
コード例 #3
0
 public virtual void delete(ExternalTaskEntity externalTask)
 {
     DbEntityManager.delete(externalTask);
 }
コード例 #4
0
 public virtual void insert(ExternalTaskEntity externalTask)
 {
     DbEntityManager.insert(externalTask);
     fireExternalTaskAvailableEvent();
 }