Пример #1
0
        private static Permission[] getPermissions(Authorization dbAuthorization, ProcessEngineConfiguration engineConfiguration)
        {
            int givenResourceType = dbAuthorization.ResourceType;

            Permission[] permissionsByResourceType = ((ProcessEngineConfigurationImpl)engineConfiguration).PermissionProvider.getPermissionsForResource(givenResourceType);
            return(dbAuthorization.getPermissions(permissionsByResourceType));
        }
Пример #2
0
        public virtual void testBuiltinFunctionMapperRegistration()
        {
            // given a process engine configuration with a custom function mapper
            ProcessEngineConfigurationImpl config = (ProcessEngineConfigurationImpl)ProcessEngineConfiguration.CreateStandaloneInMemProcessEngineConfiguration().SetJdbcUrl("jdbc:h2:mem:camunda" + this.GetType().Name);

            CustomExpressionManager customExpressionManager = new CustomExpressionManager();

            Assert.True(customExpressionManager.FunctionMappers.Count == 0);
            config.ExpressionManager = customExpressionManager;

            // when the engine is initialized
            engine = config.BuildProcessEngine();

            // then two default function mappers should be registered
            Assert.AreSame(customExpressionManager, config.ExpressionManager);
            Assert.AreEqual(2, customExpressionManager.FunctionMappers.Count);

            bool commandContextMapperFound = false;
            bool dateTimeMapperFound       = false;

            foreach (FunctionMapper functionMapper in customExpressionManager.FunctionMappers)
            {
                if (functionMapper is CommandContextFunctionMapper)
                {
                    commandContextMapperFound = true;
                }

                if (functionMapper is DateTimeFunctionMapper)
                {
                    dateTimeMapperFound = true;
                }
            }

            Assert.True(commandContextMapperFound && dateTimeMapperFound);
        }
Пример #3
0
        protected internal virtual void mockProcessEngineConfiguration(ProcessEngine engine)
        {
            ProcessEngineConfiguration configuration = mock(typeof(ProcessEngineConfiguration));

            when(configuration.ValueTypeResolver).thenReturn(mockValueTypeResolver());
            when(engine.ProcessEngineConfiguration).thenReturn(configuration);
        }
 public virtual void setUp()
 {
     runtimeService             = engineRule.RuntimeService;
     identityService            = engineRule.IdentityService;
     managementService          = engineRule.ManagementService;
     processEngineConfiguration = engineRule.ProcessEngineConfiguration;
 }
Пример #5
0
        private string deployAndInstantiateWithNewEngineConfiguration(string resource)
        {
            // 1. create another process engine
            try
            {
                otherProcessEngine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("camunda.cfg.xml").buildProcessEngine();
            }
            catch (Exception ex)
            {
                if (ex.InnerException != null && ex.InnerException is FileNotFoundException)
                {
                    otherProcessEngine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml").buildProcessEngine();
                }
                else
                {
                    throw ex;
                }
            }

            // 2. deploy again
            RepositoryService otherRepositoryService = otherProcessEngine.RepositoryService;

            string deploymentId = otherRepositoryService.createDeployment().addClasspathResource(resource).deploy().Id;

            // 3. start instance (i.e. create job)
            ProcessDefinition newDefinition = otherRepositoryService.createProcessDefinitionQuery().deploymentId(deploymentId).singleResult();

            otherProcessEngine.RuntimeService.startProcessInstanceById(newDefinition.Id);

            return(deploymentId);
        }
Пример #6
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Before public void init()
        public virtual void init()
        {
            repositoryService          = engineRule.RepositoryService;
            identityService            = engineRule.IdentityService;
            historyService             = engineRule.HistoryService;
            processEngineConfiguration = engineRule.ProcessEngineConfiguration;
        }
Пример #7
0
 //JAVA TO C# CONVERTER TODO Resources.Task: Most Java annotations will not have direct .NET equivalent attributes:
 //ORIGINAL LINE: @Before public void setUp()
 public virtual void setUp()
 {
     taskService                = processEngineRule.TaskService;
     identityService            = processEngineRule.IdentityService;
     authorizationService       = processEngineRule.IAuthorizationService;
     processEngineConfiguration = processEngineRule.ProcessEngineConfiguration;
 }
Пример #8
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testDecreaseNumberOfHistoryCleanupJobs()
        public virtual void testDecreaseNumberOfHistoryCleanupJobs()
        {
            // given
            // create history cleanup job
            ProcessEngine engine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("org/camunda/bpm/engine/test/history/history-cleanup-parallelism-default.camunda.cfg.xml").buildProcessEngine();

            // assume
            ManagementService managementService = engine.ManagementService;

            assertEquals(4, managementService.createJobQuery().list().size());

            engine.close();

            // when
            engine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("org/camunda/bpm/engine/test/history/history-cleanup-parallelism-less.camunda.cfg.xml").buildProcessEngine();

            // then
            // reconfigure history cleanup job
            managementService = engine.ManagementService;
            assertEquals(1, managementService.createJobQuery().list().size());

            Job job = managementService.createJobQuery().singleResult();

            assertEquals(0, getHistoryCleanupJobHandlerConfiguration(job).MinuteFrom);
            assertEquals(59, getHistoryCleanupJobHandlerConfiguration(job).MinuteTo);

            closeProcessEngine(engine);
        }
Пример #9
0
        protected internal static string determineResourceWhitelistPattern(ProcessEngineConfiguration processEngineConfiguration, string resourceType)
        {
            string resourcePattern = null;

            if (resourceType.Equals("User"))
            {
                resourcePattern = processEngineConfiguration.UserResourceWhitelistPattern;
            }

            if (resourceType.Equals("Group"))
            {
                resourcePattern = processEngineConfiguration.GroupResourceWhitelistPattern;
            }

            if (resourceType.Equals("Tenant"))
            {
                resourcePattern = processEngineConfiguration.TenantResourceWhitelistPattern;
            }

            if (!string.ReferenceEquals(resourcePattern, null) && resourcePattern.Length > 0)
            {
                return(resourcePattern);
            }

            return(processEngineConfiguration.GeneralResourceWhitelistPattern);
        }
Пример #10
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testBatchWindowMapInXmlConfig() throws java.text.ParseException
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
        public virtual void testBatchWindowMapInXmlConfig()
        {
            // given
            //we're on Monday
            ClockUtil.CurrentTime = sdf.parse("2018-05-14T22:00:00");

            //when
            //we configure batch window only for Wednesday and start the server
            ProcessEngine engine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("org/camunda/bpm/engine/test/history/history-cleanup-batch-window-map.camunda.cfg.xml").buildProcessEngine();

            //then
            //history cleanup is scheduled for Wednesday
            IList <Job> historyCleanupJobs = engine.HistoryService.findHistoryCleanupJobs();

            assertFalse(historyCleanupJobs.Count == 0);
            assertEquals(1, historyCleanupJobs.Count);
            assertEquals(sdf.parse("2018-05-16T23:00:00"), historyCleanupJobs[0].Duedate);
            assertEquals(false, historyCleanupJobs[0].Suspended);

            engine.close();

            //when
            //we reconfigure batch window with default values
            engine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("org/camunda/bpm/engine/test/history/history-cleanup-batch-window-default.camunda.cfg.xml").buildProcessEngine();

            //then
            //history cleanup is scheduled for today
            historyCleanupJobs = engine.HistoryService.findHistoryCleanupJobs();
            assertFalse(historyCleanupJobs.Count == 0);
            assertEquals(1, historyCleanupJobs.Count);
            assertEquals(sdf.parse("2018-05-14T23:00:00"), historyCleanupJobs[0].Duedate);
            assertEquals(false, historyCleanupJobs[0].Suspended);

            closeProcessEngine(engine);
        }
Пример #11
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testBatchWindowXmlConfigParsingException() throws java.text.ParseException
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
        public virtual void testBatchWindowXmlConfigParsingException()
        {
            thrown.expect(typeof(Exception));
            thrown.expectMessage("startTime");

            ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("org/camunda/bpm/engine/test/history/history-cleanup-batch-window-map-wrong-values.camunda.cfg.xml").buildProcessEngine();
        }
Пример #12
0
        /// <param name="args"> </param>
        public static void Main(string[] args)
        {
            if (args.Length != 2)
            {
                throw LOG.InvokeSchemaResourceToolException(args.Length);
            }

            var configurationFileResourceName = args[0];
            var schemaFileResourceName        = args[1];

            EnsureUtil.EnsureNotNull("Process engine configuration file name cannot be null",
                                     "configurationFileResourceName", configurationFileResourceName);
            EnsureUtil.EnsureNotNull("Schema resource file name cannot be null", "schemaFileResourceName",
                                     schemaFileResourceName);

            var configuration =
                (ProcessEngineConfigurationImpl)
                ProcessEngineConfiguration.CreateProcessEngineConfigurationFromResource(
                    configurationFileResourceName);
            var processEngine = configuration.BuildProcessEngine();

            configuration.CommandExecutorTxRequired.Execute(new CommandAnonymousInnerClass(schemaFileResourceName));

            processEngine.Close();
        }
Пример #13
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Before public void setUp()
        public virtual void setUp()
        {
            historyService             = processEngineRule.HistoryService;
            processEngineConfiguration = processEngineRule.ProcessEngineConfiguration;

            processEngineTestRule.deploy(createProcessWithUserTask(PROCESS_DEFINITION_KEY));
            processEngineTestRule.deploy(createProcessWithUserTask(ANOTHER_PROCESS_DEFINITION_KEY));
        }
Пример #14
0
        public static void Main(string[] args)
        {
            ProcessEngine engine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("camunda.cfg.xml").buildProcessEngine();

            UpgradedDBDropper fixture = new UpgradedDBDropper();

            fixture.cleanDatabase(engine);
        }
Пример #15
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Before public void setUp()
        public virtual void setUp()
        {
            processEngineConfiguration = engineRule.ProcessEngineConfiguration;
            repositoryService          = engineRule.RepositoryService;
            identityService            = engineRule.IdentityService;
            historyService             = engineRule.HistoryService;
            query = historyService.createUserOperationLogQuery();
        }
        public virtual void TestDefaultRetries()
        {
            var configuration =
                ProcessEngineConfiguration.CreateProcessEngineConfigurationFromResource(
                    "resources/standalone/initialization/defaultretries.Camunda.cfg.xml");

            Assert.AreEqual(JobEntity.DefaultRetries, configuration.DefaultNumberOfRetries);
        }
Пример #17
0
        protected internal virtual void starting(Description description)
        {
            ProcessEngineConfiguration.setHistoryRemovalTimeProvider(new DefaultHistoryRemovalTimeProvider()).setHistoryRemovalTimeStrategy(ProcessEngineConfiguration.HISTORY_REMOVAL_TIME_STRATEGY_START).initHistoryRemovalTime();

            ClockUtil.CurrentTime = CURRENT_DATE;

            base.starting(description);
        }
        public virtual void setUp()
        {
            processEngineConfiguration = engineRule.ProcessEngineConfiguration;
            repositoryService          = engineRule.RepositoryService;
            identityService            = engineRule.IdentityService;

            testRule.DeployForTenant(TENANT_ONE, DRG_DMN, DRD_DMN);
            decisionRequirementsDefinitionId = repositoryService.CreateDecisionRequirementsDefinitionQuery().First().Id;
        }
Пример #19
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Before public void setUp()
        public virtual void setUp()
        {
            processEngineConfiguration = engineRule.ProcessEngineConfiguration;
            repositoryService          = engineRule.RepositoryService;
            identityService            = engineRule.IdentityService;

            testRule.deployForTenant(TENANT_ONE, DMN_MODEL);

            decisionDefinitionId = repositoryService.createDecisionDefinitionQuery().singleResult().Id;
        }
Пример #20
0
        public virtual void setUp()
        {
            processEngineConfiguration = engineRule.ProcessEngineConfiguration;
            repositoryService          = engineRule.RepositoryService;
            identityService            = engineRule.IdentityService;

            testRule.DeployForTenant(TENANT_ONE, CMMN_MODEL, CMMN_DIAGRAM);

            caseDefinitionId = repositoryService.CreateCaseDefinitionQuery().First().Id;
        }
Пример #21
0
        protected internal virtual DateTime?ResolveDueDate(object context)
        {
            ProcessEngineConfiguration processEngineConfiguration = Engine.context.Impl.Context.ProcessEngineConfiguration;

            if ((processEngineConfiguration != null) && processEngineConfiguration.JobExecutorAcquireByDueDate)
            {
                return(ClockUtil.CurrentTime);
            }
            return(null);
        }
Пример #22
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void createTenantWithGenericResourceId()
        public virtual void createTenantWithGenericResourceId()
        {
            processEngine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("org/camunda/bpm/engine/test/api/identity/generic.resource.id.whitelist.camunda.cfg.xml").buildProcessEngine();

            Tenant tenant = processEngine.IdentityService.newTenant("*");

            thrown.expect(typeof(ProcessEngineException));
            thrown.expectMessage("has an invalid id: id cannot be *. * is a reserved identifier.");

            processEngine.IdentityService.saveTenant(tenant);
        }
Пример #23
0
 public virtual void init()
 {
     repositoryService          = engineRule.RepositoryService;
     identityService            = engineRule.IdentityService;
     runtimeService             = engineRule.RuntimeService;
     taskService                = engineRule.TaskService;
     caseService                = engineRule.CaseService;
     decisionService            = engineRule.DecisionService;
     historyService             = engineRule.HistoryService;
     processEngineConfiguration = engineRule.ProcessEngineConfiguration;
 }
Пример #24
0
 public virtual void testNoDbConnection()
 {
     try
     {
         ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("org/camunda/bpm/engine/test/standalone/initialization/nodbconnection.camunda.cfg.xml").buildProcessEngine();
         fail("expected exception");
     }
     catch (Exception e)
     {
         assertTrue(containsSqlException(e));
     }
 }
Пример #25
0
        // helpers ///////////////////////////////////////////////////////////////////////////////////////////////////////////

        protected internal override void initializeProcessEngine()
        {
            processEngineConfiguration = (ProcessEngineConfigurationImpl)ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("camunda.cfg.xml");

            jobExecutor.MaxJobsPerAcquisition      = 1;
            processEngineConfiguration.JobExecutor = jobExecutor;
            processEngineConfiguration.HistoryCleanupBatchWindowStartTime = "12:00";

            processEngineConfiguration.CustomPostCommandInterceptorsTxRequiresNew = Collections.singletonList <CommandInterceptor>(new CommandInterceptorAnonymousInnerClass(this));

            processEngine = processEngineConfiguration.buildProcessEngine();
        }
Пример #26
0
        //JAVA TO C# CONVERTER TODO Resources.Task: Most Java annotations will not have direct .NET equivalent attributes:
        //ORIGINAL LINE: @Before public void setUp()
        public virtual void setUp()
        {
            taskService                = processEngineRule.TaskService;
            identityService            = processEngineRule.IdentityService;
            authorizationService       = processEngineRule.IAuthorizationService;
            processEngineConfiguration = processEngineRule.ProcessEngineConfiguration;

            createTask(groups[0], tenants[0]);
            createTask(groups[0], tenants[1]);
            createTask(groups[1], tenants[1]);
            createTask(null, tenants[1]);
        }
Пример #27
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Before public void setupGroupData()
        public virtual void setupGroupData()
        {
            identityServiceMock            = mock(typeof(IdentityService));
            authorizationServiceMock       = mock(typeof(AuthorizationService));
            processEngineConfigurationMock = mock(typeof(ProcessEngineConfiguration));

            // mock identity service
            when(processEngine.IdentityService).thenReturn(identityServiceMock);
            // authorization service
            when(processEngine.AuthorizationService).thenReturn(authorizationServiceMock);
            // process engine configuration
            when(processEngine.ProcessEngineConfiguration).thenReturn(processEngineConfigurationMock);
        }
Пример #28
0
 public virtual void testNoTables()
 {
     try
     {
         ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("org/camunda/bpm/engine/test/standalone/initialization/notables.camunda.cfg.xml").buildProcessEngine();
         fail("expected exception");
     }
     catch (Exception e)
     {
         // OK
         assertTextPresent("ENGINE-03057 There are no Camunda tables in the database. Hint: Set <property name=\"databaseSchemaUpdate\" to value=\"true\" or value=\"create-drop\" (use create-drop for testing only!) in bean processEngineConfiguration in camunda.cfg.xml for automatic schema creation", e.Message);
     }
 }
        public virtual void setUp()
        {
            taskService                = processEngineRule.TaskService;
            identityService            = processEngineRule.IdentityService;
            authorizationService       = processEngineRule.IAuthorizationService;
            processEngineConfiguration = processEngineRule.ProcessEngineConfiguration;

            createTask(groupId, tenantId);
            createTask(groupId, anotherTenantId);
            createTask(groupId, anotherTenantId);

            processEngineConfiguration.SetTenantCheckEnabled(true);
        }
Пример #30
0
        public virtual DateTime resolveDueDate(S context)
        {
            ProcessEngineConfiguration processEngineConfiguration = Context.ProcessEngineConfiguration;

            if (processEngineConfiguration != null && (processEngineConfiguration.JobExecutorAcquireByDueDate || processEngineConfiguration.EnsureJobDueDateNotNull))
            {
                return(ClockUtil.CurrentTime);
            }
            else
            {
                return(null);
            }
        }