Ejemplo n.º 1
0
        protected internal virtual MigrationPlanExecutionBuilder createMigrationPlanExecutionBuilder(MigrationExecutionDto migrationExecution)
        {
            MigrationPlan  migrationPlan      = createMigrationPlan(migrationExecution.MigrationPlan);
            IList <string> processInstanceIds = migrationExecution.ProcessInstanceIds;

            MigrationPlanExecutionBuilder executionBuilder = processEngine.RuntimeService.newMigration(migrationPlan).processInstanceIds(processInstanceIds);

            ProcessInstanceQueryDto processInstanceQueryDto = migrationExecution.ProcessInstanceQuery;

            if (processInstanceQueryDto != null)
            {
                ProcessInstanceQuery processInstanceQuery = processInstanceQueryDto.toQuery(ProcessEngine);
                executionBuilder.processInstanceQuery(processInstanceQuery);
            }

            if (migrationExecution.SkipCustomListeners)
            {
                executionBuilder.skipCustomListeners();
            }

            if (migrationExecution.SkipIoMappings)
            {
                executionBuilder.skipIoMappings();
            }

            return(executionBuilder);
        }
Ejemplo n.º 2
0
        public override void execute(BatchJobConfiguration configuration, ExecutionEntity execution, CommandContext commandContext, string tenantId)
        {
            ByteArrayEntity configurationEntity = commandContext.DbEntityManager.selectById(typeof(ByteArrayEntity), configuration.ConfigurationByteArrayId);

            MigrationBatchConfiguration batchConfiguration = readConfiguration(configurationEntity.Bytes);

            MigrationPlanExecutionBuilder executionBuilder = commandContext.ProcessEngineConfiguration.RuntimeService.newMigration(batchConfiguration.MigrationPlan).processInstanceIds(batchConfiguration.Ids);

            if (batchConfiguration.SkipCustomListeners)
            {
                executionBuilder.skipCustomListeners();
            }
            if (batchConfiguration.SkipIoMappings)
            {
                executionBuilder.skipIoMappings();
            }

            // uses internal API in order to skip writing user operation log (CommandContext#disableUserOperationLog
            // is not sufficient with legacy engine config setting "restrictUserOperationLogToAuthenticatedUsers" = false)
            ((MigrationPlanExecutionBuilderImpl)executionBuilder).execute(false);

            commandContext.ByteArrayManager.delete(configurationEntity);
        }