Example #1
0
        public virtual void testParseProcessesXmlOneArchive()
        {
            ProcessesXml processesXml = parser.createParse().sourceUrl(getStreamUrl("process_xml_one_archive.xml")).execute().ProcessesXml;

            assertNotNull(processesXml);

            assertEquals(0, processesXml.ProcessEngines.Count);
            assertEquals(1, processesXml.ProcessArchives.Count);

            ProcessArchiveXml archiveXml1 = processesXml.ProcessArchives[0];

            assertEquals("pa1", archiveXml1.Name);
            assertEquals("default", archiveXml1.ProcessEngineName);

            IList <string> resourceNames = archiveXml1.ProcessResourceNames;

            assertEquals(2, resourceNames.Count);
            assertEquals("process1.bpmn", resourceNames[0]);
            assertEquals("process2.bpmn", resourceNames[1]);

            IDictionary <string, string> properties1 = archiveXml1.Properties;

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

            assertEquals("value1", properties1["prop1"]);
            assertEquals("value2", properties1["prop2"]);
        }
Example #2
0
        public virtual void FAILING_testParseProcessesXmlClassLineBreak()
        {
            ProcessesXml processesXml = parser.createParse().sourceUrl(getStreamUrl("process_xml_one_archive_with_line_break.xml")).execute().ProcessesXml;

            assertNotNull(processesXml);

            ProcessArchiveXml archiveXml1   = processesXml.ProcessArchives[0];
            IList <string>    resourceNames = archiveXml1.ProcessResourceNames;

            assertEquals(2, resourceNames.Count);
            assertEquals("process1.bpmn", resourceNames[0]);
        }
Example #3
0
        protected internal virtual ServiceName getProcessEngineServiceName(ProcessArchiveXml processArchive)
        {
            ServiceName serviceName = null;

            if (string.ReferenceEquals(processArchive.ProcessEngineName, null) || processArchive.ProcessEngineName.Length == 0)
            {
                serviceName = ServiceNames.forDefaultProcessEngine();
            }
            else
            {
                serviceName = ServiceNames.forManagedProcessEngine(processArchive.ProcessEngineName);
            }
            return(serviceName);
        }
Example #4
0
        public virtual void testParseProcessesXmlTenantId()
        {
            ProcessesXml processesXml = parser.createParse().sourceUrl(getStreamUrl("process_xml_tenant_id.xml")).execute().ProcessesXml;

            assertNotNull(processesXml);
            assertEquals(2, processesXml.ProcessArchives.Count);

            ProcessArchiveXml archiveXmlWithoutTenantId = processesXml.ProcessArchives[0];

            assertNull(archiveXmlWithoutTenantId.TenantId);

            ProcessArchiveXml archiveXmlWithTenantId = processesXml.ProcessArchives[1];

            assertEquals("tenant1", archiveXmlWithTenantId.TenantId);
        }
Example #5
0
        public virtual void testDefaultValues()
        {
            ProcessesXml emptyProcessesXml = ProcessesXml.EMPTY_PROCESSES_XML;

            assertNotNull(emptyProcessesXml);

            assertNotNull(emptyProcessesXml.ProcessEngines);
            assertEquals(0, emptyProcessesXml.ProcessEngines.Count);

            assertNotNull(emptyProcessesXml.ProcessArchives);
            assertEquals(1, emptyProcessesXml.ProcessArchives.Count);

            ProcessArchiveXml processArchiveXml = emptyProcessesXml.ProcessArchives[0];

            assertNull(processArchiveXml.Name);
            assertNull(processArchiveXml.ProcessEngineName);

            assertNotNull(processArchiveXml.ProcessResourceNames);
            assertEquals(0, processArchiveXml.ProcessResourceNames.Count);

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

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

            string isDeleteUponUndeploy = properties[org.camunda.bpm.application.impl.metadata.spi.ProcessArchiveXml_Fields.PROP_IS_DELETE_UPON_UNDEPLOY];

            assertNotNull(isDeleteUponUndeploy);
            assertEquals(false.ToString(), isDeleteUponUndeploy);

            string isScanForProcessDefinitions = properties[org.camunda.bpm.application.impl.metadata.spi.ProcessArchiveXml_Fields.PROP_IS_SCAN_FOR_PROCESS_DEFINITIONS];

            assertNotNull(isScanForProcessDefinitions);
            assertEquals(true.ToString(), isScanForProcessDefinitions);

            string isDeployChangedOnly = properties[org.camunda.bpm.application.impl.metadata.spi.ProcessArchiveXml_Fields.PROP_IS_DEPLOY_CHANGED_ONLY];

            assertNotNull(isDeployChangedOnly);
            assertEquals(false.ToString(), isDeployChangedOnly);

            string resumePreviousBy = properties[org.camunda.bpm.application.impl.metadata.spi.ProcessArchiveXml_Fields.PROP_RESUME_PREVIOUS_BY];

            assertThat(resumePreviousBy, @is(notNullValue()));
            assertThat(resumePreviousBy, @is(ResumePreviousBy.RESUME_BY_PROCESS_DEFINITION_KEY));
        }
Example #6
0
        public virtual void testParseProcessesXmlTwoArchivesAndTwoEngines()
        {
            ProcessesXml processesXml = parser.createParse().sourceUrl(getStreamUrl("process_xml_two_archives_two_engines.xml")).execute().ProcessesXml;

            assertNotNull(processesXml);

            assertEquals(2, processesXml.ProcessEngines.Count);
            assertEquals(2, processesXml.ProcessArchives.Count);

            // validate archives

            ProcessArchiveXml archiveXml1 = processesXml.ProcessArchives[0];

            assertEquals("pa1", archiveXml1.Name);
            assertEquals("default", archiveXml1.ProcessEngineName);

            IList <string> resourceNames = archiveXml1.ProcessResourceNames;

            assertEquals(2, resourceNames.Count);
            assertEquals("process1.bpmn", resourceNames[0]);
            assertEquals("process2.bpmn", resourceNames[1]);

            IDictionary <string, string> properties1 = archiveXml1.Properties;

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

            assertEquals("value1", properties1["prop1"]);
            assertEquals("value2", properties1["prop2"]);

            ProcessArchiveXml archiveXml2 = processesXml.ProcessArchives[1];

            assertEquals("pa2", archiveXml2.Name);
            assertEquals("default", archiveXml2.ProcessEngineName);

            IList <string> resourceNames2 = archiveXml2.ProcessResourceNames;

            assertEquals(2, resourceNames.Count);
            assertEquals("process1.bpmn", resourceNames2[0]);
            assertEquals("process2.bpmn", resourceNames2[1]);

            IDictionary <string, string> properties2 = archiveXml2.Properties;

            assertNotNull(properties2);
            assertEquals(0, properties2.Count);

            // validate engines

            ProcessEngineXml engineXml1 = processesXml.ProcessEngines[0];

            assertEquals("engine1", engineXml1.Name);
            assertEquals("configuration", engineXml1.ConfigurationClass);
            assertEquals("datasource", engineXml1.Datasource);

            properties1 = engineXml1.Properties;
            assertNotNull(properties1);
            assertEquals(2, properties1.Count);

            assertEquals("value1", properties1["prop1"]);
            assertEquals("value2", properties1["prop2"]);

            ProcessEngineXml engineXml2 = processesXml.ProcessEngines[1];

            assertEquals("engine2", engineXml2.Name);
            assertEquals("configuration", engineXml2.ConfigurationClass);
            assertEquals("datasource", engineXml2.Datasource);

            // the second engine has no properties
            properties2 = engineXml2.Properties;
            assertNotNull(properties2);
            assertEquals(0, properties2.Count);
        }
Example #7
0
 public UndeployProcessArchiveStep(JmxManagedProcessApplication deployedProcessApplication, ProcessArchiveXml processArchive, string processEngineName)
 {
     this.deployedProcessApplication = deployedProcessApplication;
     this.processArchive             = processArchive;
     this.processEngineName          = processEngineName;
 }
Example #8
0
 public DeployProcessArchiveStep(ProcessArchiveXml parsedProcessArchive, URL url)
 {
     processArchive   = parsedProcessArchive;
     this.metaFileUrl = url;
 }
Example #9
0
        protected internal virtual IDictionary <string, sbyte[]> getDeploymentResources(ProcessArchiveXml processArchive, DeploymentUnit deploymentUnit, VirtualFile processesXmlFile)
        {
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.jboss.modules.Module module = deploymentUnit.getAttachment(MODULE);
            Module module = deploymentUnit.getAttachment(MODULE);

            IDictionary <string, sbyte[]> resources = new Dictionary <string, sbyte[]>();

            // first, add all resources listed in the processe.xml
            IList <string>    process     = processArchive.ProcessResourceNames;
            ModuleClassLoader classLoader = module.ClassLoader;

            foreach (string resource in process)
            {
                Stream inputStream = null;
                try
                {
                    inputStream         = classLoader.getResourceAsStream(resource);
                    resources[resource] = IoUtil.readInputStream(inputStream, resource);
                }
                finally
                {
                    IoUtil.closeSilently(inputStream);
                }
            }

            // scan for process definitions
            if (PropertyHelper.getBooleanProperty(processArchive.Properties, org.camunda.bpm.application.impl.metadata.spi.ProcessArchiveXml_Fields.PROP_IS_SCAN_FOR_PROCESS_DEFINITIONS, process.Count == 0))
            {
                //always use VFS scanner on JBoss
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.camunda.bpm.container.impl.deployment.scanning.VfsProcessApplicationScanner scanner = new org.camunda.bpm.container.impl.deployment.scanning.VfsProcessApplicationScanner();
                VfsProcessApplicationScanner scanner = new VfsProcessApplicationScanner();

                string   resourceRootPath           = processArchive.Properties[org.camunda.bpm.application.impl.metadata.spi.ProcessArchiveXml_Fields.PROP_RESOURCE_ROOT_PATH];
                string[] additionalResourceSuffixes = StringUtil.Split(processArchive.Properties[org.camunda.bpm.application.impl.metadata.spi.ProcessArchiveXml_Fields.PROP_ADDITIONAL_RESOURCE_SUFFIXES], org.camunda.bpm.application.impl.metadata.spi.ProcessArchiveXml_Fields.PROP_ADDITIONAL_RESOURCE_SUFFIXES_SEPARATOR);
                URL      processesXmlUrl            = vfsFileAsUrl(processesXmlFile);
//JAVA TO C# CONVERTER TODO TASK: There is no .NET Dictionary equivalent to the Java 'putAll' method:
                resources.putAll(scanner.findResources(classLoader, resourceRootPath, processesXmlUrl, additionalResourceSuffixes));
            }

            return(resources);
        }
Example #10
0
 public ProcessApplicationDeploymentService(IDictionary <string, sbyte[]> deploymentMap, ProcessArchiveXml processArchive, Module module)
 {
     this.deploymentMap  = deploymentMap;
     this.processArchive = processArchive;
     this.module         = module;
 }