Пример #1
0
        private void createMessageCorrelationBuilderMock()
        {
            mockMessageCorrelationBuilder = mock(typeof(MessageCorrelationBuilder));
            mockMessageCorrelationResult  = mock(typeof(MessageCorrelationResult));

            when(mockRuntimeService.createMessageCorrelation(anyString())).thenReturn(mockMessageCorrelationBuilder);
            when(mockMessageCorrelationBuilder.correlateWithResult()).thenReturn(mockMessageCorrelationResult);
            when(mockMessageCorrelationBuilder.processInstanceId(anyString())).thenReturn(mockMessageCorrelationBuilder);
            when(mockMessageCorrelationBuilder.processInstanceBusinessKey(anyString())).thenReturn(mockMessageCorrelationBuilder);
            when(mockMessageCorrelationBuilder.processInstanceVariableEquals(anyString(), any())).thenReturn(mockMessageCorrelationBuilder);
            when(mockMessageCorrelationBuilder.setVariables(Matchers.any <IDictionary <string, object> >())).thenReturn(mockMessageCorrelationBuilder);
            when(mockMessageCorrelationBuilder.setVariable(anyString(), any())).thenReturn(mockMessageCorrelationBuilder);
        }
Пример #2
0
        protected internal virtual MessageCorrelationBuilder createMessageCorrelationBuilder(CorrelationMessageDto messageDto)
        {
            RuntimeService runtimeService = processEngine.RuntimeService;

            ObjectMapper objectMapper = ObjectMapper;
            IDictionary <string, object> correlationKeys       = VariableValueDto.toMap(messageDto.CorrelationKeys, processEngine, objectMapper);
            IDictionary <string, object> localCorrelationKeys  = VariableValueDto.toMap(messageDto.LocalCorrelationKeys, processEngine, objectMapper);
            IDictionary <string, object> processVariables      = VariableValueDto.toMap(messageDto.ProcessVariables, processEngine, objectMapper);
            IDictionary <string, object> processVariablesLocal = VariableValueDto.toMap(messageDto.ProcessVariablesLocal, processEngine, objectMapper);

            MessageCorrelationBuilder builder = runtimeService.createMessageCorrelation(messageDto.MessageName);

            if (processVariables != null)
            {
                builder.Variables = processVariables;
            }
            if (processVariablesLocal != null)
            {
                builder.VariablesLocal = processVariablesLocal;
            }
            if (!string.ReferenceEquals(messageDto.BusinessKey, null))
            {
                builder.processInstanceBusinessKey(messageDto.BusinessKey);
            }

            if (correlationKeys != null && correlationKeys.Count > 0)
            {
                foreach (KeyValuePair <string, object> correlationKey in correlationKeys.SetOfKeyValuePairs())
                {
                    string name  = correlationKey.Key;
                    object value = correlationKey.Value;
                    builder.processInstanceVariableEquals(name, value);
                }
            }

            if (localCorrelationKeys != null && localCorrelationKeys.Count > 0)
            {
                foreach (KeyValuePair <string, object> correlationKey in localCorrelationKeys.SetOfKeyValuePairs())
                {
                    string name  = correlationKey.Key;
                    object value = correlationKey.Value;
                    builder.localVariableEquals(name, value);
                }
            }

            if (!string.ReferenceEquals(messageDto.TenantId, null))
            {
                builder.tenantId(messageDto.TenantId);
            }
            else if (messageDto.WithoutTenantId)
            {
                builder.withoutTenantId();
            }

            string processInstanceId = messageDto.ProcessInstanceId;

            if (!string.ReferenceEquals(processInstanceId, null))
            {
                builder.processInstanceId(processInstanceId);
            }

            return(builder);
        }