コード例 #1
0
 public GetDeployedProcessDefinitionCmd(ProcessInstantiationBuilderImpl instantiationBuilder, bool checkReadPermission)
 {
     this.processDefinitionId       = instantiationBuilder.ProcessDefinitionId;
     this.processDefinitionKey      = instantiationBuilder.ProcessDefinitionKey;
     this.processDefinitionTenantId = instantiationBuilder.ProcessDefinitionTenantId;
     this.isTenantIdSet             = instantiationBuilder.ProcessDefinitionTenantIdSet;
     this.checkReadPermission       = checkReadPermission;
 }
コード例 #2
0
//JAVA TO C# CONVERTER WARNING: 'final' parameters are not available in .NET:
//ORIGINAL LINE: @Override public Void execute(final org.camunda.bpm.engine.impl.interceptor.CommandContext commandContext)
        public override Void execute(CommandContext commandContext)
        {
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final java.util.Collection<String> processInstanceIds = collectProcessInstanceIds();
            ICollection <string> processInstanceIds = collectProcessInstanceIds();
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final java.util.List<AbstractProcessInstanceModificationCommand> instructions = builder.getInstructions();
            IList <AbstractProcessInstanceModificationCommand> instructions = builder.Instructions;

            ensureNotEmpty(typeof(BadUserRequestException), "Restart instructions cannot be empty", "instructions", instructions);
            ensureNotEmpty(typeof(BadUserRequestException), "Process instance ids cannot be empty", "Process instance ids", processInstanceIds);
            ensureNotContainsNull(typeof(BadUserRequestException), "Process instance ids cannot be null", "Process instance ids", processInstanceIds);

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.camunda.bpm.engine.impl.persistence.entity.ProcessDefinitionEntity processDefinition = getProcessDefinition(commandContext, builder.getProcessDefinitionId());
            ProcessDefinitionEntity processDefinition = getProcessDefinition(commandContext, builder.ProcessDefinitionId);

            ensureNotNull("Process definition cannot be found", "processDefinition", processDefinition);

            checkAuthorization(commandContext, processDefinition);

            if (writeUserOperationLog)
            {
                writeUserOperationLog(commandContext, processDefinition, processInstanceIds.Count, false);
            }

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final String processDefinitionId = builder.getProcessDefinitionId();
            string processDefinitionId = builder.ProcessDefinitionId;

            ThreadStart runnable = () =>
            {
                foreach (string processInstanceId in processInstanceIds)
                {
                    HistoricProcessInstance historicProcessInstance = getHistoricProcessInstance(commandContext, processInstanceId);

                    ensureNotNull(typeof(BadUserRequestException), "Historic process instance cannot be found", "historicProcessInstanceId", historicProcessInstance);
                    ensureHistoricProcessInstanceNotActive(historicProcessInstance);
                    ensureSameProcessDefinition(historicProcessInstance, processDefinitionId);

                    ProcessInstantiationBuilderImpl instantiationBuilder = getProcessInstantiationBuilder(commandExecutor, processDefinitionId);
                    applyProperties(instantiationBuilder, processDefinition, historicProcessInstance);

                    ProcessInstanceModificationBuilderImpl modificationBuilder = instantiationBuilder.ModificationBuilder;
                    modificationBuilder.ModificationOperations = instructions;

                    VariableMap variables = collectVariables(commandContext, historicProcessInstance);
                    instantiationBuilder.Variables = variables;

                    instantiationBuilder.execute(builder.SkipCustomListeners, builder.SkipIoMappings);
                }
            };

            ProcessApplicationContextUtil.doContextSwitch(runnable, processDefinition);

            return(null);
        }
コード例 #3
0
        protected internal virtual void ApplyProperties(ProcessInstantiationBuilderImpl instantiationBuilder,
                                                        IProcessDefinition processDefinition, IHistoricProcessInstance processInstance)
        {
            var tenantId = processInstance.TenantId;
            //if (processDefinition.TenantId == null && !ReferenceEquals(tenantId, null))
            //instantiationBuilder.TenantId(tenantId);

            //if (!builder.WithoutBusinessKey)
            //instantiationBuilder.BusinessKey(processInstance.BusinessKey);
        }
コード例 #4
0
        protected internal virtual void applyProperties(ProcessInstantiationBuilderImpl instantiationBuilder, ProcessDefinition processDefinition, HistoricProcessInstance processInstance)
        {
            string tenantId = processInstance.TenantId;

            if (string.ReferenceEquals(processDefinition.TenantId, null) && !string.ReferenceEquals(tenantId, null))
            {
                instantiationBuilder.tenantId(tenantId);
            }

            if (!builder.WithoutBusinessKey)
            {
                instantiationBuilder.businessKey(processInstance.BusinessKey);
            }
        }
コード例 #5
0
 protected internal virtual ProcessInstantiationBuilderImpl getProcessInstantiationBuilder(CommandExecutor commandExecutor, string processDefinitionId)
 {
     return((ProcessInstantiationBuilderImpl)ProcessInstantiationBuilderImpl.createProcessInstanceById(commandExecutor, processDefinitionId));
 }
コード例 #6
0
 public StartProcessInstanceAtActivitiesCmd(ProcessInstantiationBuilderImpl instantiationBuilder)
 {
     this.instantiationBuilder = instantiationBuilder;
 }
コード例 #7
0
 public StartProcessInstanceCmd(ProcessInstantiationBuilderImpl instantiationBuilder)
 {
     this.instantiationBuilder = instantiationBuilder;
 }