Example #1
0
        /// <summary>
        /// validates the configuration and throws <seealso cref="ProcessEngineException"/>
        /// if the configuration is invalid.
        /// </summary>
        public virtual void validate()
        {
            StringBuilder validationErrorBuilder = new StringBuilder("Process engine configuration is invalid: \n");
            bool          isValid = true;

            if (string.ReferenceEquals(datasourceJndiName, null) || datasourceJndiName.Length == 0)
            {
                isValid = false;
                validationErrorBuilder.Append(" property 'datasource' cannot be null \n");
            }
            if (string.ReferenceEquals(engineName, null) || engineName.Length == 0)
            {
                isValid = false;
                validationErrorBuilder.Append(" property 'engineName' cannot be null \n");
            }

            for (int i = 0; i < pluginConfigurations.Count; i++)
            {
                ProcessEnginePluginXml pluginConfiguration = pluginConfigurations[i];
                if (string.ReferenceEquals(pluginConfiguration.PluginClass, null) || pluginConfiguration.PluginClass.Length == 0)
                {
                    isValid = false;
                    validationErrorBuilder.Append(" property 'class' in plugin[" + i + "] cannot be null \n");
                }
            }

            if (!isValid)
            {
                throw new ProcessEngineException(validationErrorBuilder.ToString());
            }
        }
Example #2
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testInstallSubsystemXmlWithEnginePropertiesPluginsAndJobExecutorWithExpressions() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
        public virtual void testInstallSubsystemXmlWithEnginePropertiesPluginsAndJobExecutorWithExpressions()
        {
            System.Properties.putAll(EXPRESSION_PROPERTIES);
            try
            {
                string           subsystemXml = FileUtils.readFile(SUBSYSTEM_WITH_ENGINES_PROPERTIES_PLUGINS_AND_JOB_EXECUTOR_WITH_EXPRESSIONS);
                KernelServices   services     = createKernelServicesBuilder(null).setSubsystemXml(subsystemXml).build();
                ServiceContainer container    = services.Container;

                assertNotNull("platform service should be installed", container.getRequiredService(PLATFORM_SERVICE_NAME));
                assertNotNull("process engine service should be bound in JNDI", container.getRequiredService(processEngineServiceBindingServiceName));

//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: org.jboss.msc.service.ServiceController<?> defaultEngineService = container.getService(org.camunda.bpm.container.impl.jboss.service.ServiceNames.forManagedProcessEngine("__test"));
                ServiceController <object> defaultEngineService = container.getService(ServiceNames.forManagedProcessEngine("__test"));

                assertNotNull("process engine controller for engine __test is installed ", defaultEngineService);

                ManagedProcessEngineMetadata metadata = ((MscManagedProcessEngineController)defaultEngineService.Service).ProcessEngineMetadata;
                IDictionary <string, string> configurationProperties = metadata.ConfigurationProperties;
                assertEquals("default", configurationProperties["job-acquisition-name"]);

                IDictionary <string, string> foxLegacyProperties = metadata.FoxLegacyProperties;
                assertTrue(foxLegacyProperties.Count == 0);

                assertNotNull("process engine controller for engine __test is installed ", container.getRequiredService(ServiceNames.forManagedProcessEngine("__test")));

                // check we have parsed the plugin configurations
                IList <ProcessEnginePluginXml> pluginConfigurations = metadata.PluginConfigurations;

                assertEquals(1, pluginConfigurations.Count);

                ProcessEnginePluginXml processEnginePluginXml = pluginConfigurations[0];
                assertEquals("org.camunda.bpm.identity.impl.ldap.plugin.LdapIdentityProviderPlugin", processEnginePluginXml.PluginClass);
                IDictionary <string, string> processEnginePluginXmlProperties = processEnginePluginXml.Properties;
                assertEquals("abc", processEnginePluginXmlProperties["test"]);
                assertEquals("123", processEnginePluginXmlProperties["number"]);
                assertEquals("true", processEnginePluginXmlProperties["bool"]);

                string persistedSubsystemXml = services.PersistedSubsystemXml;
                compareXml(null, subsystemXml, persistedSubsystemXml);
            }
            finally
            {
                foreach (string key in EXPRESSION_PROPERTIES.Keys)
                {
                    System.clearProperty(key);
                }
            }
        }
Example #3
0
        public virtual void testParseProcessesXmlAntStyleProperties()
        {
            BpmPlatformXml platformXml = parser.createParse().sourceUrl(getStreamUrl("bpmplatform_xml_ant_style_properties.xml")).execute().BpmPlatformXml;

            assertNotNull(platformXml);

            ProcessEngineXml engineXml = platformXml.ProcessEngines[0];

            assertEquals(1, engineXml.Plugins.Count);
            ProcessEnginePluginXml pluginXml = engineXml.Plugins[0];

            IDictionary <string, string> properties = pluginXml.Properties;

            assertEquals(2, properties.Count);

            // these two system properties are guaranteed to be set
            assertEquals(System.getProperty("java.version"), properties["prop1"]);
            assertEquals("prefix-" + System.getProperty("os.name"), properties["prop2"]);
        }
Example #4
0
        public virtual void testParseBpmPlatformXmlEnginePlugin()
        {
            BpmPlatformXml bpmPlatformXml = parser.createParse().sourceUrl(getStreamUrl("bpmplatform_xml_engine_plugin.xml")).execute().BpmPlatformXml;

            assertNotNull(bpmPlatformXml);
            assertEquals(1, bpmPlatformXml.ProcessEngines.Count);

            ProcessEngineXml engineXml = bpmPlatformXml.ProcessEngines[0];

            assertEquals("engine1", engineXml.Name);
            assertEquals("default", engineXml.JobAcquisitionName);

            IList <ProcessEnginePluginXml> plugins = engineXml.Plugins;

            assertEquals(1, plugins.Count);

            ProcessEnginePluginXml plugin1 = plugins[0];

            assertNotNull(plugin1);

            assertEquals("org.camunda.bpm.MyAwesomePlugin", plugin1.PluginClass);

            IDictionary <string, string> properties = plugin1.Properties;

            assertNotNull(properties);
            assertEquals(2, properties.Count);

            string val1 = properties["prop1"];

            assertNotNull(val1);
            assertEquals("val1", val1);

            string val2 = properties["prop2"];

            assertNotNull(val2);
            assertEquals("val2", val2);
        }
Example #5
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testInstallSubsystemWithEnginesPropertiesPlugins() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
        public virtual void testInstallSubsystemWithEnginesPropertiesPlugins()
        {
            string subsystemXml = FileUtils.readFile(SUBSYSTEM_WITH_ENGINES_PROPERTIES_PLUGINS);

            KernelServices services = createKernelServicesBuilder(null).setSubsystemXml(subsystemXml).build();

            ServiceContainer container = services.Container;

            assertNotNull("platform service should be installed", container.getRequiredService(PLATFORM_SERVICE_NAME));
            assertNotNull("process engine service should be bound in JNDI", container.getRequiredService(processEngineServiceBindingServiceName));

//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: org.jboss.msc.service.ServiceController<?> defaultEngineService = container.getService(org.camunda.bpm.container.impl.jboss.service.ServiceNames.forManagedProcessEngine("__default"));
            ServiceController <object> defaultEngineService = container.getService(ServiceNames.forManagedProcessEngine("__default"));

            assertNotNull("process engine controller for engine __default is installed ", defaultEngineService);

            ManagedProcessEngineMetadata metadata = ((MscManagedProcessEngineController)defaultEngineService.Service).ProcessEngineMetadata;
            IDictionary <string, string> configurationProperties = metadata.ConfigurationProperties;

            assertEquals("default", configurationProperties["job-name"]);
            assertEquals("default", configurationProperties["job-acquisition"]);
            assertEquals("default", configurationProperties["job-acquisition-name"]);

            IDictionary <string, string> foxLegacyProperties = metadata.FoxLegacyProperties;

            assertTrue(foxLegacyProperties.Count == 0);

            assertNotNull("process engine controller for engine __default is installed ", container.getRequiredService(ServiceNames.forManagedProcessEngine("__default")));
            assertNotNull("process engine controller for engine __test is installed ", container.getRequiredService(ServiceNames.forManagedProcessEngine("__test")));

            // check we have parsed the plugin configurations
            metadata = ((MscManagedProcessEngineController)container.getRequiredService(ServiceNames.forManagedProcessEngine("__test")).Service).ProcessEngineMetadata;
            IList <ProcessEnginePluginXml> pluginConfigurations = metadata.PluginConfigurations;

            ProcessEnginePluginXml processEnginePluginXml = pluginConfigurations[0];

            assertEquals("org.camunda.bpm.identity.impl.ldap.plugin.LdapIdentityProviderPlugin", processEnginePluginXml.PluginClass);
            IDictionary <string, string> processEnginePluginXmlProperties = processEnginePluginXml.Properties;

            assertEquals("abc", processEnginePluginXmlProperties["test"]);
            assertEquals("123", processEnginePluginXmlProperties["number"]);
            assertEquals("true", processEnginePluginXmlProperties["bool"]);

            processEnginePluginXml = pluginConfigurations[1];
            assertEquals("org.camunda.bpm.identity.impl.ldap.plugin.LdapIdentityProviderPlugin", processEnginePluginXml.PluginClass);
            processEnginePluginXmlProperties = processEnginePluginXml.Properties;
            assertEquals("cba", processEnginePluginXmlProperties["test"]);
            assertEquals("321", processEnginePluginXmlProperties["number"]);
            assertEquals("false", processEnginePluginXmlProperties["bool"]);

            // test correct subsystem removal
            assertRemoveSubsystemResources(services);
            try
            {
//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: org.jboss.msc.service.ServiceController<?> service = container.getRequiredService(org.camunda.bpm.container.impl.jboss.service.ServiceNames.forManagedProcessEngine("__default"));
                ServiceController <object> service = container.getRequiredService(ServiceNames.forManagedProcessEngine("__default"));
                fail("Service '" + service.Name + "' should have been removed.");
            }
            catch (Exception)
            {
                // nop
            }
            try
            {
//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: org.jboss.msc.service.ServiceController<?> service = container.getRequiredService(org.camunda.bpm.container.impl.jboss.service.ServiceNames.forManagedProcessEngine("__test"));
                ServiceController <object> service = container.getRequiredService(ServiceNames.forManagedProcessEngine("__test"));
                fail("Service '" + service.Name + "' should have been removed.");
            }
            catch (Exception)
            {
                // nop
            }
        }