test_class.file: services/connectivity/messaging/src/test/java/org/eclipse/ditto/services/connectivity/messaging/MessageMappingProcessorActorTest.java
test_class.identifier: MessageMappingProcessorActorTest
test_class.superclass: extends AbstractMessageMappingProcessorActorTest
test_case.body: @Test
      public void testReplacementOfPlaceholders() {
          final String correlationId = UUID.randomUUID().toString();
          final AuthorizationContext contextWithPlaceholders =
                  AuthorizationModelFactory.newAuthContext(DittoAuthorizationContextType.UNSPECIFIED,
                          AuthorizationModelFactory.newAuthSubject(
                                  "integration:{{header:correlation-id}}:hub-{{   header:content-type   }}"),
                          AuthorizationModelFactory.newAuthSubject(
                                  "integration:{{header:content-type}}:hub-{{ header:correlation-id }}"));
  
          final AuthorizationContext expectedAuthContext = TestConstants.Authorization.withUnprefixedSubjects(
                  AuthorizationModelFactory.newAuthContext(
                          DittoAuthorizationContextType.UNSPECIFIED,
                          AuthorizationModelFactory.newAuthSubject(
                                  "integration:" + correlationId + ":hub-application/json"),
                          AuthorizationModelFactory.newAuthSubject("integration:application/json:hub-" + correlationId)));
  
          testMessageMapping(correlationId, contextWithPlaceholders, ModifyAttribute.class, modifyAttribute -> {
              assertThat(modifyAttribute.getType()).isEqualTo(ModifyAttribute.TYPE);
              assertThat(modifyAttribute.getDittoHeaders().getCorrelationId()).contains(correlationId);
              assertThat(modifyAttribute.getDittoHeaders().getAuthorizationContext().getAuthorizationSubjects())
                      .isEqualTo(expectedAuthContext.getAuthorizationSubjects());
  
              // mapped by source <- {{ request:subjectId }}
              assertThat(modifyAttribute.getDittoHeaders().get("source"))
                      .contains("integration:" + correlationId + ":hub-application/json");
          });
      }
test_case.class_method_signature: MessageMappingProcessorActorTest.testReplacementOfPlaceholders()
test_case.full_signature: @Test public void testReplacementOfPlaceholders()
test_case.identifier: testReplacementOfPlaceholders
test_case.invocations: toString randomUUID newAuthContext newAuthSubject newAuthSubject withUnprefixedSubjects newAuthContext newAuthSubject newAuthSubject testMessageMapping isEqualTo assertThat getType contains assertThat getCorrelationId getDittoHeaders isEqualTo assertThat getAuthorizationSubjects getAuthorizationContext getDittoHeaders getAuthorizationSubjects contains assertThat get getDittoHeaders
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testReplacementOfPlaceholders()
focal_class.declarator: ACTOR_NAME = "messageMappingProcessor"
focal_class.modifier: public static final
focal_class.original_string: public static final String ACTOR_NAME = "messageMappingProcessor";
focal_class.type: String
focal_class.var_name: ACTOR_NAME
focal_class.declarator: MESSAGE_MAPPING_PROCESSOR_DISPATCHER = "message-mapping-processor-dispatcher"
focal_class.modifier: private static final
focal_class.original_string: private static final String MESSAGE_MAPPING_PROCESSOR_DISPATCHER = "message-mapping-processor-dispatcher";
focal_class.type: String
focal_class.var_name: MESSAGE_MAPPING_PROCESSOR_DISPATCHER
focal_class.declarator: logger
focal_class.modifier: private final
focal_class.original_string: private final ThreadSafeDittoLogger logger;
focal_class.type: ThreadSafeDittoLogger
focal_class.var_name: logger
focal_class.declarator: clientActor
focal_class.modifier: private final
focal_class.original_string: private final ActorRef clientActor;
focal_class.type: ActorRef
focal_class.var_name: clientActor
focal_class.declarator: messageMappingProcessor
focal_class.modifier: private final
focal_class.original_string: private final MessageMappingProcessor messageMappingProcessor;
focal_class.type: MessageMappingProcessor
focal_class.var_name: messageMappingProcessor
focal_class.declarator: connectionId
focal_class.modifier: private final
focal_class.original_string: private final ConnectionId connectionId;
focal_class.type: ConnectionId
focal_class.var_name: connectionId
focal_class.declarator: proxyActor
focal_class.modifier: private final
focal_class.original_string: private final ActorRef proxyActor;
focal_class.type: ActorRef
focal_class.var_name: proxyActor
focal_class.declarator: connectionActor
focal_class.modifier: private final
focal_class.original_string: private final ActorRef connectionActor;
focal_class.type: ActorRef
focal_class.var_name: connectionActor
focal_class.declarator: mappingConfig
focal_class.modifier: private final
focal_class.original_string: private final MappingConfig mappingConfig;
focal_class.type: MappingConfig
focal_class.var_name: mappingConfig
focal_class.declarator: connectionMonitorRegistry
focal_class.modifier: private final
focal_class.original_string: private final DefaultConnectionMonitorRegistry connectionMonitorRegistry;
focal_class.type: DefaultConnectionMonitorRegistry
focal_class.var_name: connectionMonitorRegistry
focal_class.declarator: responseDispatchedMonitor
focal_class.modifier: private final
focal_class.original_string: private final ConnectionMonitor responseDispatchedMonitor;
focal_class.type: ConnectionMonitor
focal_class.var_name: responseDispatchedMonitor
focal_class.declarator: responseDroppedMonitor
focal_class.modifier: private final
focal_class.original_string: private final ConnectionMonitor responseDroppedMonitor;
focal_class.type: ConnectionMonitor
focal_class.var_name: responseDroppedMonitor
focal_class.declarator: responseMappedMonitor
focal_class.modifier: private final
focal_class.original_string: private final ConnectionMonitor responseMappedMonitor;
focal_class.type: ConnectionMonitor
focal_class.var_name: responseMappedMonitor
focal_class.declarator: signalEnrichmentFacade
focal_class.modifier: private final
focal_class.original_string: private final SignalEnrichmentFacade signalEnrichmentFacade;
focal_class.type: SignalEnrichmentFacade
focal_class.var_name: signalEnrichmentFacade
focal_class.declarator: processorPoolSize
focal_class.modifier: private final
focal_class.original_string: private final int processorPoolSize;
focal_class.type: int
focal_class.var_name: processorPoolSize
focal_class.declarator: inboundSourceQueue
focal_class.modifier: private final
focal_class.original_string: private final SourceQueue<ExternalMessageWithSender> inboundSourceQueue;
focal_class.type: SourceQueue<ExternalMessageWithSender>
focal_class.var_name: inboundSourceQueue
focal_class.declarator: toErrorResponseFunction
focal_class.modifier: private final
focal_class.original_string: private final DittoRuntimeExceptionToErrorResponseFunction toErrorResponseFunction;
focal_class.type: DittoRuntimeExceptionToErrorResponseFunction
focal_class.var_name: toErrorResponseFunction
focal_class.declarator: ackregatorStarter
focal_class.modifier: private final
focal_class.original_string: private final AcknowledgementAggregatorActorStarter ackregatorStarter;
focal_class.type: AcknowledgementAggregatorActorStarter
focal_class.var_name: ackregatorStarter
focal_class.file: services/connectivity/messaging/src/main/java/org/eclipse/ditto/services/connectivity/messaging/MessageMappingProcessorActor.java
focal_class.identifier: MessageMappingProcessorActor
focal_class.class_method_signature: MessageMappingProcessorActor.MessageMappingProcessorActor(final ActorRef proxyActor,
              final ActorRef clientActor,
              final MessageMappingProcessor messageMappingProcessor,
              final Connection connection,
              final ActorRef connectionActor,
              final int processorPoolSize)
focal_class.full_signature: @SuppressWarnings("unused") private  MessageMappingProcessorActor(final ActorRef proxyActor,
              final ActorRef clientActor,
              final MessageMappingProcessor messageMappingProcessor,
              final Connection connection,
              final ActorRef connectionActor,
              final int processorPoolSize)
focal_class.identifier: MessageMappingProcessorActor
focal_class.modifiers: @SuppressWarnings("unused") private
focal_class.parameters: (final ActorRef proxyActor,
              final ActorRef clientActor,
              final MessageMappingProcessor messageMappingProcessor,
              final Connection connection,
              final ActorRef connectionActor,
              final int processorPoolSize)
focal_class.signature:  MessageMappingProcessorActor(final ActorRef proxyActor,
              final ActorRef clientActor,
              final MessageMappingProcessor messageMappingProcessor,
              final Connection connection,
              final ActorRef connectionActor,
              final int processorPoolSize)
focal_class.class_method_signature: MessageMappingProcessorActor.determinePoolSize(final int connectionPoolSize, final int maxPoolSize)
focal_class.full_signature: private int determinePoolSize(final int connectionPoolSize, final int maxPoolSize)
focal_class.identifier: determinePoolSize
focal_class.modifiers: private
focal_class.parameters: (final int connectionPoolSize, final int maxPoolSize)
focal_class.return: int
focal_class.signature: int determinePoolSize(final int connectionPoolSize, final int maxPoolSize)
focal_class.class_method_signature: MessageMappingProcessorActor.props(final ActorRef proxyActor,
              final ActorRef clientActor,
              final MessageMappingProcessor processor,
              final Connection connection,
              final ActorRef connectionActor,
              final int processorPoolSize)
focal_class.full_signature: public static Props props(final ActorRef proxyActor,
              final ActorRef clientActor,
              final MessageMappingProcessor processor,
              final Connection connection,
              final ActorRef connectionActor,
              final int processorPoolSize)
focal_class.identifier: props
focal_class.modifiers: public static
focal_class.parameters: (final ActorRef proxyActor,
              final ActorRef clientActor,
              final MessageMappingProcessor processor,
              final Connection connection,
              final ActorRef connectionActor,
              final int processorPoolSize)
focal_class.return: Props
focal_class.signature: Props props(final ActorRef proxyActor,
              final ActorRef clientActor,
              final MessageMappingProcessor processor,
              final Connection connection,
              final ActorRef connectionActor,
              final int processorPoolSize)
focal_class.class_method_signature: MessageMappingProcessorActor.getBufferSize()
focal_class.full_signature: @Override protected int getBufferSize()
focal_class.identifier: getBufferSize
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getBufferSize()
focal_class.class_method_signature: MessageMappingProcessorActor.preEnhancement(final ReceiveBuilder receiveBuilder)
focal_class.full_signature: @Override protected void preEnhancement(final ReceiveBuilder receiveBuilder)
focal_class.identifier: preEnhancement
focal_class.modifiers: @Override protected
focal_class.parameters: (final ReceiveBuilder receiveBuilder)
focal_class.return: void
focal_class.signature: void preEnhancement(final ReceiveBuilder receiveBuilder)
focal_class.class_method_signature: MessageMappingProcessorActor.handleNotExpectedAcknowledgement(final Acknowledgement acknowledgement)
focal_class.full_signature: private void handleNotExpectedAcknowledgement(final Acknowledgement acknowledgement)
focal_class.identifier: handleNotExpectedAcknowledgement
focal_class.modifiers: private
focal_class.parameters: (final Acknowledgement acknowledgement)
focal_class.return: void
focal_class.signature: void handleNotExpectedAcknowledgement(final Acknowledgement acknowledgement)
focal_class.class_method_signature: MessageMappingProcessorActor.materializeInboundStream(final int processorPoolSize)
focal_class.full_signature: private SourceQueue<ExternalMessageWithSender> materializeInboundStream(final int processorPoolSize)
focal_class.identifier: materializeInboundStream
focal_class.modifiers: private
focal_class.parameters: (final int processorPoolSize)
focal_class.return: SourceQueue<ExternalMessageWithSender>
focal_class.signature: SourceQueue<ExternalMessageWithSender> materializeInboundStream(final int processorPoolSize)
focal_class.class_method_signature: MessageMappingProcessorActor.dispatchIncomingSignal(final IncomingSignal incomingSignal)
focal_class.full_signature: private void dispatchIncomingSignal(final IncomingSignal incomingSignal)
focal_class.identifier: dispatchIncomingSignal
focal_class.modifiers: private
focal_class.parameters: (final IncomingSignal incomingSignal)
focal_class.return: void
focal_class.signature: void dispatchIncomingSignal(final IncomingSignal incomingSignal)
focal_class.class_method_signature: MessageMappingProcessorActor.isLive(final Signal<?> signal)
focal_class.full_signature: private static boolean isLive(final Signal<?> signal)
focal_class.identifier: isLive
focal_class.modifiers: private static
focal_class.parameters: (final Signal<?> signal)
focal_class.return: boolean
focal_class.signature: boolean isLive(final Signal<?> signal)
focal_class.class_method_signature: MessageMappingProcessorActor.handleErrorDuringStartingOfAckregator(final DittoRuntimeException e, final DittoHeaders dittoHeaders,
              final ActorRef sender)
focal_class.full_signature: private void handleErrorDuringStartingOfAckregator(final DittoRuntimeException e, final DittoHeaders dittoHeaders,
              final ActorRef sender)
focal_class.identifier: handleErrorDuringStartingOfAckregator
focal_class.modifiers: private
focal_class.parameters: (final DittoRuntimeException e, final DittoHeaders dittoHeaders,
              final ActorRef sender)
focal_class.return: void
focal_class.signature: void handleErrorDuringStartingOfAckregator(final DittoRuntimeException e, final DittoHeaders dittoHeaders,
              final ActorRef sender)
focal_class.class_method_signature: MessageMappingProcessorActor.startAckregatorAndForwardSignal(final Signal<?> signal, final ActorRef sender)
focal_class.full_signature: private void startAckregatorAndForwardSignal(final Signal<?> signal, final ActorRef sender)
focal_class.identifier: startAckregatorAndForwardSignal
focal_class.modifiers: private
focal_class.parameters: (final Signal<?> signal, final ActorRef sender)
focal_class.return: void
focal_class.signature: void startAckregatorAndForwardSignal(final Signal<?> signal, final ActorRef sender)
focal_class.class_method_signature: MessageMappingProcessorActor.handleIncomingMappedSignal(
              final Pair<Source<Signal<?>, ?>, ActorRef> mappedSignalsWithSender)
focal_class.full_signature: private Source<IncomingSignal, ?> handleIncomingMappedSignal(
              final Pair<Source<Signal<?>, ?>, ActorRef> mappedSignalsWithSender)
focal_class.identifier: handleIncomingMappedSignal
focal_class.modifiers: private
focal_class.parameters: (
              final Pair<Source<Signal<?>, ?>, ActorRef> mappedSignalsWithSender)
focal_class.return: Source<IncomingSignal, ?>
focal_class.signature: Source<IncomingSignal, ?> handleIncomingMappedSignal(
              final Pair<Source<Signal<?>, ?>, ActorRef> mappedSignalsWithSender)
focal_class.class_method_signature: MessageMappingProcessorActor.onIncomingMappedSignal(final ActorRef sender)
focal_class.full_signature: private PartialFunction<Signal<?>, Source<IncomingSignal, NotUsed>> onIncomingMappedSignal(final ActorRef sender)
focal_class.identifier: onIncomingMappedSignal
focal_class.modifiers: private
focal_class.parameters: (final ActorRef sender)
focal_class.return: PartialFunction<Signal<?>, Source<IncomingSignal, NotUsed>>
focal_class.signature: PartialFunction<Signal<?>, Source<IncomingSignal, NotUsed>> onIncomingMappedSignal(final ActorRef sender)
focal_class.class_method_signature: MessageMappingProcessorActor.forwardToConnectionActor(final Signal<?> signal, final ActorRef sender)
focal_class.full_signature: private Source<T, NotUsed> forwardToConnectionActor(final Signal<?> signal, final ActorRef sender)
focal_class.identifier: forwardToConnectionActor
focal_class.modifiers: private
focal_class.parameters: (final Signal<?> signal, final ActorRef sender)
focal_class.return: Source<T, NotUsed>
focal_class.signature: Source<T, NotUsed> forwardToConnectionActor(final Signal<?> signal, final ActorRef sender)
focal_class.class_method_signature: MessageMappingProcessorActor.getReturnAddress(final Signal<?> signal)
focal_class.full_signature: private ActorRef getReturnAddress(final Signal<?> signal)
focal_class.identifier: getReturnAddress
focal_class.modifiers: private
focal_class.parameters: (final Signal<?> signal)
focal_class.return: ActorRef
focal_class.signature: ActorRef getReturnAddress(final Signal<?> signal)
focal_class.class_method_signature: MessageMappingProcessorActor.appendConnectionAcknowledgementsToSignal(final ExternalMessage message,
              final Signal<?> signal)
focal_class.full_signature: private static Signal<?> appendConnectionAcknowledgementsToSignal(final ExternalMessage message,
              final Signal<?> signal)
focal_class.identifier: appendConnectionAcknowledgementsToSignal
focal_class.modifiers: private static
focal_class.parameters: (final ExternalMessage message,
              final Signal<?> signal)
focal_class.return: Signal<?>
focal_class.signature: Signal<?> appendConnectionAcknowledgementsToSignal(final ExternalMessage message,
              final Signal<?> signal)
focal_class.class_method_signature: MessageMappingProcessorActor.filterAcknowledgements(final Signal<?> signal, final @Nullable String filter)
focal_class.full_signature: static Signal<?> filterAcknowledgements(final Signal<?> signal, final @Nullable String filter)
focal_class.identifier: filterAcknowledgements
focal_class.modifiers: static
focal_class.parameters: (final Signal<?> signal, final @Nullable String filter)
focal_class.return: Signal<?>
focal_class.signature: Signal<?> filterAcknowledgements(final Signal<?> signal, final @Nullable String filter)
focal_class.class_method_signature: MessageMappingProcessorActor.handleDittoRuntimeException(final DittoRuntimeException exception)
focal_class.full_signature: @Override protected void handleDittoRuntimeException(final DittoRuntimeException exception)
focal_class.identifier: handleDittoRuntimeException
focal_class.modifiers: @Override protected
focal_class.parameters: (final DittoRuntimeException exception)
focal_class.return: void
focal_class.signature: void handleDittoRuntimeException(final DittoRuntimeException exception)
focal_class.class_method_signature: MessageMappingProcessorActor.mapMessage(final OutboundSignal message)
focal_class.full_signature: @Override protected OutboundSignalWithId mapMessage(final OutboundSignal message)
focal_class.identifier: mapMessage
focal_class.modifiers: @Override protected
focal_class.parameters: (final OutboundSignal message)
focal_class.return: OutboundSignalWithId
focal_class.signature: OutboundSignalWithId mapMessage(final OutboundSignal message)
focal_class.class_method_signature: MessageMappingProcessorActor.processMessageFlow()
focal_class.full_signature: @Override protected Flow<OutboundSignalWithId, OutboundSignalWithId, NotUsed> processMessageFlow()
focal_class.identifier: processMessageFlow
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: Flow<OutboundSignalWithId, OutboundSignalWithId, NotUsed>
focal_class.signature: Flow<OutboundSignalWithId, OutboundSignalWithId, NotUsed> processMessageFlow()
focal_class.class_method_signature: MessageMappingProcessorActor.processedMessageSink()
focal_class.full_signature: @Override protected Sink<OutboundSignalWithId, ?> processedMessageSink()
focal_class.identifier: processedMessageSink
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: Sink<OutboundSignalWithId, ?>
focal_class.signature: Sink<OutboundSignalWithId, ?> processedMessageSink()
focal_class.class_method_signature: MessageMappingProcessorActor.splitByTargetExtraFieldsFlow()
focal_class.full_signature: private static Flow<OutboundSignalWithId, Pair<OutboundSignalWithId, FilteredTopic>, NotUsed> splitByTargetExtraFieldsFlow()
focal_class.identifier: splitByTargetExtraFieldsFlow
focal_class.modifiers: private static
focal_class.parameters: ()
focal_class.return: Flow<OutboundSignalWithId, Pair<OutboundSignalWithId, FilteredTopic>, NotUsed>
focal_class.signature: Flow<OutboundSignalWithId, Pair<OutboundSignalWithId, FilteredTopic>, NotUsed> splitByTargetExtraFieldsFlow()
focal_class.class_method_signature: MessageMappingProcessorActor.enrichAndFilterSignal(
              final Pair<OutboundSignalWithId, FilteredTopic> outboundSignalWithExtraFields)
focal_class.full_signature: private CompletionStage<Collection<OutboundSignalWithId>> enrichAndFilterSignal(
              final Pair<OutboundSignalWithId, FilteredTopic> outboundSignalWithExtraFields)
focal_class.identifier: enrichAndFilterSignal
focal_class.modifiers: private
focal_class.parameters: (
              final Pair<OutboundSignalWithId, FilteredTopic> outboundSignalWithExtraFields)
focal_class.return: CompletionStage<Collection<OutboundSignalWithId>>
focal_class.signature: CompletionStage<Collection<OutboundSignalWithId>> enrichAndFilterSignal(
              final Pair<OutboundSignalWithId, FilteredTopic> outboundSignalWithExtraFields)
focal_class.class_method_signature: MessageMappingProcessorActor.recoverFromEnrichmentError(final OutboundSignalWithId outboundSignal,
              final Target target, final Throwable error)
focal_class.full_signature: private OutboundSignalWithId recoverFromEnrichmentError(final OutboundSignalWithId outboundSignal,
              final Target target, final Throwable error)
focal_class.identifier: recoverFromEnrichmentError
focal_class.modifiers: private
focal_class.parameters: (final OutboundSignalWithId outboundSignal,
              final Target target, final Throwable error)
focal_class.return: OutboundSignalWithId
focal_class.signature: OutboundSignalWithId recoverFromEnrichmentError(final OutboundSignalWithId outboundSignal,
              final Target target, final Throwable error)
focal_class.class_method_signature: MessageMappingProcessorActor.logEnrichmentFailure(final OutboundSignal outboundSignal, final ConnectionId connectionId,
              final Throwable error)
focal_class.full_signature: private void logEnrichmentFailure(final OutboundSignal outboundSignal, final ConnectionId connectionId,
              final Throwable error)
focal_class.identifier: logEnrichmentFailure
focal_class.modifiers: private
focal_class.parameters: (final OutboundSignal outboundSignal, final ConnectionId connectionId,
              final Throwable error)
focal_class.return: void
focal_class.signature: void logEnrichmentFailure(final OutboundSignal outboundSignal, final ConnectionId connectionId,
              final Throwable error)
focal_class.class_method_signature: MessageMappingProcessorActor.handleInboundMessage(final ExternalMessage externalMessage)
focal_class.full_signature: private void handleInboundMessage(final ExternalMessage externalMessage)
focal_class.identifier: handleInboundMessage
focal_class.modifiers: private
focal_class.parameters: (final ExternalMessage externalMessage)
focal_class.return: void
focal_class.signature: void handleInboundMessage(final ExternalMessage externalMessage)
focal_class.class_method_signature: MessageMappingProcessorActor.mapInboundMessage(final ExternalMessageWithSender withSender)
focal_class.full_signature: private Pair<Source<Signal<?>, ?>, ActorRef> mapInboundMessage(final ExternalMessageWithSender withSender)
focal_class.identifier: mapInboundMessage
focal_class.modifiers: private
focal_class.parameters: (final ExternalMessageWithSender withSender)
focal_class.return: Pair<Source<Signal<?>, ?>, ActorRef>
focal_class.signature: Pair<Source<Signal<?>, ?>, ActorRef> mapInboundMessage(final ExternalMessageWithSender withSender)
focal_class.class_method_signature: MessageMappingProcessorActor.getCorrelationIdOrNull(final ExternalMessage externalMessage)
focal_class.full_signature: @Nullable private static String getCorrelationIdOrNull(final ExternalMessage externalMessage)
focal_class.identifier: getCorrelationIdOrNull
focal_class.modifiers: @Nullable private static
focal_class.parameters: (final ExternalMessage externalMessage)
focal_class.return: String
focal_class.signature: String getCorrelationIdOrNull(final ExternalMessage externalMessage)
focal_class.class_method_signature: MessageMappingProcessorActor.handleInboundException(final Exception e,
              final ExternalMessageWithSender withSender,
              @Nullable final TopicPath topicPath,
              @Nullable final AuthorizationContext authorizationContext)
focal_class.full_signature: private void handleInboundException(final Exception e,
              final ExternalMessageWithSender withSender,
              @Nullable final TopicPath topicPath,
              @Nullable final AuthorizationContext authorizationContext)
focal_class.identifier: handleInboundException
focal_class.modifiers: private
focal_class.parameters: (final Exception e,
              final ExternalMessageWithSender withSender,
              @Nullable final TopicPath topicPath,
              @Nullable final AuthorizationContext authorizationContext)
focal_class.return: void
focal_class.signature: void handleInboundException(final Exception e,
              final ExternalMessageWithSender withSender,
              @Nullable final TopicPath topicPath,
              @Nullable final AuthorizationContext authorizationContext)
focal_class.class_method_signature: MessageMappingProcessorActor.mapExternalMessageToSignal(final ExternalMessageWithSender withSender)
focal_class.full_signature: private Source<Signal<?>, ?> mapExternalMessageToSignal(final ExternalMessageWithSender withSender)
focal_class.identifier: mapExternalMessageToSignal
focal_class.modifiers: private
focal_class.parameters: (final ExternalMessageWithSender withSender)
focal_class.return: Source<Signal<?>, ?>
focal_class.signature: Source<Signal<?>, ?> mapExternalMessageToSignal(final ExternalMessageWithSender withSender)
focal_class.class_method_signature: MessageMappingProcessorActor.handleMappingResult(final ExternalMessageWithSender withSender,
              final AuthorizationContext authorizationContext)
focal_class.full_signature: private InboundMappingResultHandler handleMappingResult(final ExternalMessageWithSender withSender,
              final AuthorizationContext authorizationContext)
focal_class.identifier: handleMappingResult
focal_class.modifiers: private
focal_class.parameters: (final ExternalMessageWithSender withSender,
              final AuthorizationContext authorizationContext)
focal_class.return: InboundMappingResultHandler
focal_class.signature: InboundMappingResultHandler handleMappingResult(final ExternalMessageWithSender withSender,
              final AuthorizationContext authorizationContext)
focal_class.class_method_signature: MessageMappingProcessorActor.handleErrorResponse(final DittoRuntimeException exception, final ErrorResponse<?> errorResponse,
              final ActorRef sender)
focal_class.full_signature: private void handleErrorResponse(final DittoRuntimeException exception, final ErrorResponse<?> errorResponse,
              final ActorRef sender)
focal_class.identifier: handleErrorResponse
focal_class.modifiers: private
focal_class.parameters: (final DittoRuntimeException exception, final ErrorResponse<?> errorResponse,
              final ActorRef sender)
focal_class.return: void
focal_class.signature: void handleErrorResponse(final DittoRuntimeException exception, final ErrorResponse<?> errorResponse,
              final ActorRef sender)
focal_class.class_method_signature: MessageMappingProcessorActor.handleCommandResponse(final CommandResponse<?> response,
              @Nullable final DittoRuntimeException exception, final ActorRef sender)
focal_class.full_signature: private void handleCommandResponse(final CommandResponse<?> response,
              @Nullable final DittoRuntimeException exception, final ActorRef sender)
focal_class.identifier: handleCommandResponse
focal_class.modifiers: private
focal_class.parameters: (final CommandResponse<?> response,
              @Nullable final DittoRuntimeException exception, final ActorRef sender)
focal_class.return: void
focal_class.signature: void handleCommandResponse(final CommandResponse<?> response,
              @Nullable final DittoRuntimeException exception, final ActorRef sender)
focal_class.class_method_signature: MessageMappingProcessorActor.recordResponse(final CommandResponse<?> response, @Nullable final DittoRuntimeException exception)
focal_class.full_signature: private void recordResponse(final CommandResponse<?> response, @Nullable final DittoRuntimeException exception)
focal_class.identifier: recordResponse
focal_class.modifiers: private
focal_class.parameters: (final CommandResponse<?> response, @Nullable final DittoRuntimeException exception)
focal_class.return: void
focal_class.signature: void recordResponse(final CommandResponse<?> response, @Nullable final DittoRuntimeException exception)
focal_class.class_method_signature: MessageMappingProcessorActor.handleOutboundSignal(final OutboundSignalWithId outbound)
focal_class.full_signature: private Source<OutboundSignalWithId, ?> handleOutboundSignal(final OutboundSignalWithId outbound)
focal_class.identifier: handleOutboundSignal
focal_class.modifiers: private
focal_class.parameters: (final OutboundSignalWithId outbound)
focal_class.return: Source<OutboundSignalWithId, ?>
focal_class.signature: Source<OutboundSignalWithId, ?> handleOutboundSignal(final OutboundSignalWithId outbound)
focal_class.class_method_signature: MessageMappingProcessorActor.forwardToPublisherActor(final OutboundSignal.MultiMapped mappedEnvelop)
focal_class.full_signature: private void forwardToPublisherActor(final OutboundSignal.MultiMapped mappedEnvelop)
focal_class.identifier: forwardToPublisherActor
focal_class.modifiers: private
focal_class.parameters: (final OutboundSignal.MultiMapped mappedEnvelop)
focal_class.return: void
focal_class.signature: void forwardToPublisherActor(final OutboundSignal.MultiMapped mappedEnvelop)
focal_class.class_method_signature: MessageMappingProcessorActor.handleSignal(final Signal<?> signal, final ActorRef sender)
focal_class.full_signature: private void handleSignal(final Signal<?> signal, final ActorRef sender)
focal_class.identifier: handleSignal
focal_class.modifiers: private
focal_class.parameters: (final Signal<?> signal, final ActorRef sender)
focal_class.return: void
focal_class.signature: void handleSignal(final Signal<?> signal, final ActorRef sender)
focal_class.class_method_signature: MessageMappingProcessorActor.mapToExternalMessage(final OutboundSignalWithId outbound)
focal_class.full_signature: private Source<OutboundSignalWithId, ?> mapToExternalMessage(final OutboundSignalWithId outbound)
focal_class.identifier: mapToExternalMessage
focal_class.modifiers: private
focal_class.parameters: (final OutboundSignalWithId outbound)
focal_class.return: Source<OutboundSignalWithId, ?>
focal_class.signature: Source<OutboundSignalWithId, ?> mapToExternalMessage(final OutboundSignalWithId outbound)
focal_class.class_method_signature: MessageMappingProcessorActor.getMonitorsForDroppedSignal(final OutboundSignal outbound,
              final ConnectionId connectionId)
focal_class.full_signature: private Set<ConnectionMonitor> getMonitorsForDroppedSignal(final OutboundSignal outbound,
              final ConnectionId connectionId)
focal_class.identifier: getMonitorsForDroppedSignal
focal_class.modifiers: private
focal_class.parameters: (final OutboundSignal outbound,
              final ConnectionId connectionId)
focal_class.return: Set<ConnectionMonitor>
focal_class.signature: Set<ConnectionMonitor> getMonitorsForDroppedSignal(final OutboundSignal outbound,
              final ConnectionId connectionId)
focal_class.class_method_signature: MessageMappingProcessorActor.getMonitorsForMappedSignal(final OutboundSignal outbound,
              final ConnectionId connectionId)
focal_class.full_signature: private Set<ConnectionMonitor> getMonitorsForMappedSignal(final OutboundSignal outbound,
              final ConnectionId connectionId)
focal_class.identifier: getMonitorsForMappedSignal
focal_class.modifiers: private
focal_class.parameters: (final OutboundSignal outbound,
              final ConnectionId connectionId)
focal_class.return: Set<ConnectionMonitor>
focal_class.signature: Set<ConnectionMonitor> getMonitorsForMappedSignal(final OutboundSignal outbound,
              final ConnectionId connectionId)
focal_class.class_method_signature: MessageMappingProcessorActor.getMonitorsForOutboundSignal(final OutboundSignal outbound,
              final ConnectionId connectionId,
              final MetricType metricType,
              final LogType logType,
              final ConnectionMonitor responseMonitor)
focal_class.full_signature: private Set<ConnectionMonitor> getMonitorsForOutboundSignal(final OutboundSignal outbound,
              final ConnectionId connectionId,
              final MetricType metricType,
              final LogType logType,
              final ConnectionMonitor responseMonitor)
focal_class.identifier: getMonitorsForOutboundSignal
focal_class.modifiers: private
focal_class.parameters: (final OutboundSignal outbound,
              final ConnectionId connectionId,
              final MetricType metricType,
              final LogType logType,
              final ConnectionMonitor responseMonitor)
focal_class.return: Set<ConnectionMonitor>
focal_class.signature: Set<ConnectionMonitor> getMonitorsForOutboundSignal(final OutboundSignal outbound,
              final ConnectionId connectionId,
              final MetricType metricType,
              final LogType logType,
              final ConnectionMonitor responseMonitor)
focal_class.class_method_signature: MessageMappingProcessorActor.applySignalIdEnforcement(final ExternalMessage externalMessage, final Signal<?> signal)
focal_class.full_signature: private void applySignalIdEnforcement(final ExternalMessage externalMessage, final Signal<?> signal)
focal_class.identifier: applySignalIdEnforcement
focal_class.modifiers: private
focal_class.parameters: (final ExternalMessage externalMessage, final Signal<?> signal)
focal_class.return: void
focal_class.signature: void applySignalIdEnforcement(final ExternalMessage externalMessage, final Signal<?> signal)
focal_class.class_method_signature: MessageMappingProcessorActor.applyInboundHeaderMapping(final Signal<?> signal,
              final ExternalMessage externalMessage,
              @Nullable final AuthorizationContext authorizationContext,
              @Nullable final TopicPath topicPath,
              final DittoHeaders extraInternalHeaders)
focal_class.full_signature: private DittoHeaders applyInboundHeaderMapping(final Signal<?> signal,
              final ExternalMessage externalMessage,
              @Nullable final AuthorizationContext authorizationContext,
              @Nullable final TopicPath topicPath,
              final DittoHeaders extraInternalHeaders)
focal_class.identifier: applyInboundHeaderMapping
focal_class.modifiers: private
focal_class.parameters: (final Signal<?> signal,
              final ExternalMessage externalMessage,
              @Nullable final AuthorizationContext authorizationContext,
              @Nullable final TopicPath topicPath,
              final DittoHeaders extraInternalHeaders)
focal_class.return: DittoHeaders
focal_class.signature: DittoHeaders applyInboundHeaderMapping(final Signal<?> signal,
              final ExternalMessage externalMessage,
              @Nullable final AuthorizationContext authorizationContext,
              @Nullable final TopicPath topicPath,
              final DittoHeaders extraInternalHeaders)
focal_class.class_method_signature: MessageMappingProcessorActor.appendInternalHeaders(final DittoHeadersBuilder<?, ?> builder,
              @Nullable final AuthorizationContext authorizationContext,
              final DittoHeaders extraInternalHeaders,
              final boolean appendRandomCorrelationId)
focal_class.full_signature: private DittoHeadersBuilder<?, ?> appendInternalHeaders(final DittoHeadersBuilder<?, ?> builder,
              @Nullable final AuthorizationContext authorizationContext,
              final DittoHeaders extraInternalHeaders,
              final boolean appendRandomCorrelationId)
focal_class.identifier: appendInternalHeaders
focal_class.modifiers: private
focal_class.parameters: (final DittoHeadersBuilder<?, ?> builder,
              @Nullable final AuthorizationContext authorizationContext,
              final DittoHeaders extraInternalHeaders,
              final boolean appendRandomCorrelationId)
focal_class.return: DittoHeadersBuilder<?, ?>
focal_class.signature: DittoHeadersBuilder<?, ?> appendInternalHeaders(final DittoHeadersBuilder<?, ?> builder,
              @Nullable final AuthorizationContext authorizationContext,
              final DittoHeaders extraInternalHeaders,
              final boolean appendRandomCorrelationId)
focal_class.class_method_signature: MessageMappingProcessorActor.toMultiMappedOutboundSignal(
              final Source<OutboundSignalWithId, T> source)
focal_class.full_signature: private CompletionStage<Collection<OutboundSignal.MultiMapped>> toMultiMappedOutboundSignal(
              final Source<OutboundSignalWithId, T> source)
focal_class.identifier: toMultiMappedOutboundSignal
focal_class.modifiers: private
focal_class.parameters: (
              final Source<OutboundSignalWithId, T> source)
focal_class.return: CompletionStage<Collection<OutboundSignal.MultiMapped>>
focal_class.signature: CompletionStage<Collection<OutboundSignal.MultiMapped>> toMultiMappedOutboundSignal(
              final Source<OutboundSignalWithId, T> source)
focal_class.class_method_signature: MessageMappingProcessorActor.appendConnectionIdToAcknowledgementOrResponse(final T commandResponse,
              final ConnectionId connectionId)
focal_class.full_signature: static T appendConnectionIdToAcknowledgementOrResponse(final T commandResponse,
              final ConnectionId connectionId)
focal_class.identifier: appendConnectionIdToAcknowledgementOrResponse
focal_class.modifiers: static
focal_class.parameters: (final T commandResponse,
              final ConnectionId connectionId)
focal_class.return: T
focal_class.signature: T appendConnectionIdToAcknowledgementOrResponse(final T commandResponse,
              final ConnectionId connectionId)
focal_class.class_method_signature: MessageMappingProcessorActor.appendConnectionIdToAcknowledgements(final Acknowledgements acknowledgements,
              final ConnectionId connectionId)
focal_class.full_signature: static Acknowledgements appendConnectionIdToAcknowledgements(final Acknowledgements acknowledgements,
              final ConnectionId connectionId)
focal_class.identifier: appendConnectionIdToAcknowledgements
focal_class.modifiers: static
focal_class.parameters: (final Acknowledgements acknowledgements,
              final ConnectionId connectionId)
focal_class.return: Acknowledgements
focal_class.signature: Acknowledgements appendConnectionIdToAcknowledgements(final Acknowledgements acknowledgements,
              final ConnectionId connectionId)
focal_class.class_method_signature: MessageMappingProcessorActor.applyFilter(final OutboundSignalWithId outboundSignalWithExtra,
              final FilteredTopic filteredTopic)
focal_class.full_signature: private static Collection<OutboundSignalWithId> applyFilter(final OutboundSignalWithId outboundSignalWithExtra,
              final FilteredTopic filteredTopic)
focal_class.identifier: applyFilter
focal_class.modifiers: private static
focal_class.parameters: (final OutboundSignalWithId outboundSignalWithExtra,
              final FilteredTopic filteredTopic)
focal_class.return: Collection<OutboundSignalWithId>
focal_class.signature: Collection<OutboundSignalWithId> applyFilter(final OutboundSignalWithId outboundSignalWithExtra,
              final FilteredTopic filteredTopic)
focal_class.class_method_signature: MessageMappingProcessorActor.stackTraceAsString(final DittoRuntimeException exception)
focal_class.full_signature: private static String stackTraceAsString(final DittoRuntimeException exception)
focal_class.identifier: stackTraceAsString
focal_class.modifiers: private static
focal_class.parameters: (final DittoRuntimeException exception)
focal_class.return: String
focal_class.signature: String stackTraceAsString(final DittoRuntimeException exception)
focal_class.class_method_signature: MessageMappingProcessorActor.isSuccessResponse(final CommandResponse<?> response)
focal_class.full_signature: private static boolean isSuccessResponse(final CommandResponse<?> response)
focal_class.identifier: isSuccessResponse
focal_class.modifiers: private static
focal_class.parameters: (final CommandResponse<?> response)
focal_class.return: boolean
focal_class.signature: boolean isSuccessResponse(final CommandResponse<?> response)
focal_class.class_method_signature: MessageMappingProcessorActor.getAuthorizationContextOrThrow(final ExternalMessage externalMessage)
focal_class.full_signature: private static AuthorizationContext getAuthorizationContextOrThrow(final ExternalMessage externalMessage)
focal_class.identifier: getAuthorizationContextOrThrow
focal_class.modifiers: private static
focal_class.parameters: (final ExternalMessage externalMessage)
focal_class.return: AuthorizationContext
focal_class.signature: AuthorizationContext getAuthorizationContextOrThrow(final ExternalMessage externalMessage)
focal_class.class_method_signature: MessageMappingProcessorActor.getAuthorizationContext(final ExternalMessage externalMessage)
focal_class.full_signature: private static Optional<AuthorizationContext> getAuthorizationContext(final ExternalMessage externalMessage)
focal_class.identifier: getAuthorizationContext
focal_class.modifiers: private static
focal_class.parameters: (final ExternalMessage externalMessage)
focal_class.return: Optional<AuthorizationContext>
focal_class.signature: Optional<AuthorizationContext> getAuthorizationContext(final ExternalMessage externalMessage)
focal_class.class_method_signature: MessageMappingProcessorActor.getAuthorizationContextAsEither(
              final ExternalMessage externalMessage)
focal_class.full_signature: private static Either<RuntimeException, AuthorizationContext> getAuthorizationContextAsEither(
              final ExternalMessage externalMessage)
focal_class.identifier: getAuthorizationContextAsEither
focal_class.modifiers: private static
focal_class.parameters: (
              final ExternalMessage externalMessage)
focal_class.return: Either<RuntimeException, AuthorizationContext>
focal_class.signature: Either<RuntimeException, AuthorizationContext> getAuthorizationContextAsEither(
              final ExternalMessage externalMessage)
focal_class.class_method_signature: MessageMappingProcessorActor.splitTargetsByExtraFields(
              final OutboundSignal outboundSignal)
focal_class.full_signature: private static Pair<List<Target>, List<Pair<Target, FilteredTopic>>> splitTargetsByExtraFields(
              final OutboundSignal outboundSignal)
focal_class.identifier: splitTargetsByExtraFields
focal_class.modifiers: private static
focal_class.parameters: (
              final OutboundSignal outboundSignal)
focal_class.return: Pair<List<Target>, List<Pair<Target, FilteredTopic>>>
focal_class.signature: Pair<List<Target>, List<Pair<Target, FilteredTopic>>> splitTargetsByExtraFields(
              final OutboundSignal outboundSignal)
focal_class.class_method_signature: MessageMappingProcessorActor.isTwinCommandResponseWithReplyTarget(final Signal<?> signal)
focal_class.full_signature: private static boolean isTwinCommandResponseWithReplyTarget(final Signal<?> signal)
focal_class.identifier: isTwinCommandResponseWithReplyTarget
focal_class.modifiers: private static
focal_class.parameters: (final Signal<?> signal)
focal_class.return: boolean
focal_class.signature: boolean isTwinCommandResponseWithReplyTarget(final Signal<?> signal)
focal_class.class_method_signature: MessageMappingProcessorActor.canRequestAcks(final Signal<?> signal)
focal_class.full_signature: private static boolean canRequestAcks(final Signal<?> signal)
focal_class.identifier: canRequestAcks
focal_class.modifiers: private static
focal_class.parameters: (final Signal<?> signal)
focal_class.return: boolean
focal_class.signature: boolean canRequestAcks(final Signal<?> signal)
focal_class.class_method_signature: MessageMappingProcessorActor.isApplicable(
              final AbstractCommandAckRequestSetter<C> setter, final Signal<?> signal)
focal_class.full_signature: private static boolean isApplicable(
              final AbstractCommandAckRequestSetter<C> setter, final Signal<?> signal)
focal_class.identifier: isApplicable
focal_class.modifiers: private static
focal_class.parameters: (
              final AbstractCommandAckRequestSetter<C> setter, final Signal<?> signal)
focal_class.return: boolean
focal_class.signature: boolean isApplicable(
              final AbstractCommandAckRequestSetter<C> setter, final Signal<?> signal)
focal_class.superclass: extends AbstractGraphActor<MessageMappingProcessorActor.OutboundSignalWithId, OutboundSignal>
focal_method.body: private static Optional<AuthorizationContext> getAuthorizationContext(final ExternalMessage externalMessage) {
          final Either<RuntimeException, AuthorizationContext> result = getAuthorizationContextAsEither(externalMessage);
          if (result.isRight()) {
              return Optional.of(result.right().get());
          } else {
              return Optional.empty();
          }
      }
focal_method.class_method_signature: MessageMappingProcessorActor.getAuthorizationContext(final ExternalMessage externalMessage)
focal_method.full_signature: private static Optional<AuthorizationContext> getAuthorizationContext(final ExternalMessage externalMessage)
focal_method.identifier: getAuthorizationContext
focal_method.invocations: getAuthorizationContextAsEither isRight of get right empty
focal_method.modifiers: private static
focal_method.parameters: (final ExternalMessage externalMessage)
focal_method.return: Optional<AuthorizationContext>
focal_method.signature: Optional<AuthorizationContext> getAuthorizationContext(final ExternalMessage externalMessage)