test_class.file: services/connectivity/messaging/src/test/java/org/eclipse/ditto/services/connectivity/messaging/monitoring/logs/InfoProviderFactoryTest.java
test_class.identifier: InfoProviderFactoryTest
test_case.body: @Test
      public void forHeaders() {
          final String correlationId = "theCorrelation";
          final Map<String, String> headersWithCorrelationId = DittoHeaders.newBuilder().correlationId(correlationId).build();
  
          final Instant before = Instant.now();
          final ConnectionMonitor.InfoProvider info = InfoProviderFactory.forHeaders(headersWithCorrelationId);
          final Instant after = Instant.now();
  
          assertThat(info)
                  .hasNoThingId()
                  .hasCorrelationId(correlationId)
                  .hasTimestampBetween(before, after);
      }
test_case.class_method_signature: InfoProviderFactoryTest.forHeaders()
test_case.full_signature: @Test public void forHeaders()
test_case.identifier: forHeaders
test_case.invocations: build correlationId newBuilder now forHeaders now hasTimestampBetween hasCorrelationId hasNoThingId assertThat
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void forHeaders()
focal_class.declarator: FALLBACK_CORRELATION_ID = "<not-provided>"
focal_class.modifier: private static final
focal_class.original_string: private static final String FALLBACK_CORRELATION_ID = "<not-provided>";
focal_class.type: String
focal_class.var_name: FALLBACK_CORRELATION_ID
focal_class.file: services/connectivity/messaging/src/main/java/org/eclipse/ditto/services/connectivity/messaging/monitoring/logs/InfoProviderFactory.java
focal_class.identifier: InfoProviderFactory
focal_class.class_method_signature: InfoProviderFactory.InfoProviderFactory()
focal_class.full_signature: private  InfoProviderFactory()
focal_class.identifier: InfoProviderFactory
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  InfoProviderFactory()
focal_class.class_method_signature: InfoProviderFactory.forExternalMessage(final ExternalMessage externalMessage)
focal_class.full_signature: public static ConnectionMonitor.InfoProvider forExternalMessage(final ExternalMessage externalMessage)
focal_class.identifier: forExternalMessage
focal_class.modifiers: public static
focal_class.parameters: (final ExternalMessage externalMessage)
focal_class.return: ConnectionMonitor.InfoProvider
focal_class.signature: ConnectionMonitor.InfoProvider forExternalMessage(final ExternalMessage externalMessage)
focal_class.class_method_signature: InfoProviderFactory.supplyPayloadFromExternalMessage(final ExternalMessage externalMessage)
focal_class.full_signature: private static Supplier<String> supplyPayloadFromExternalMessage(final ExternalMessage externalMessage)
focal_class.identifier: supplyPayloadFromExternalMessage
focal_class.modifiers: private static
focal_class.parameters: (final ExternalMessage externalMessage)
focal_class.return: Supplier<String>
focal_class.signature: Supplier<String> supplyPayloadFromExternalMessage(final ExternalMessage externalMessage)
focal_class.class_method_signature: InfoProviderFactory.forSignal(final Signal<?> signal)
focal_class.full_signature: public static ConnectionMonitor.InfoProvider forSignal(final Signal<?> signal)
focal_class.identifier: forSignal
focal_class.modifiers: public static
focal_class.parameters: (final Signal<?> signal)
focal_class.return: ConnectionMonitor.InfoProvider
focal_class.signature: ConnectionMonitor.InfoProvider forSignal(final Signal<?> signal)
focal_class.class_method_signature: InfoProviderFactory.supplyPayloadFromSignal(final Signal<?> signal)
focal_class.full_signature: private static Supplier<String> supplyPayloadFromSignal(final Signal<?> signal)
focal_class.identifier: supplyPayloadFromSignal
focal_class.modifiers: private static
focal_class.parameters: (final Signal<?> signal)
focal_class.return: Supplier<String>
focal_class.signature: Supplier<String> supplyPayloadFromSignal(final Signal<?> signal)
focal_class.class_method_signature: InfoProviderFactory.forHeaders(final Map<String, String> headers)
focal_class.full_signature: public static ConnectionMonitor.InfoProvider forHeaders(final Map<String, String> headers)
focal_class.identifier: forHeaders
focal_class.modifiers: public static
focal_class.parameters: (final Map<String, String> headers)
focal_class.return: ConnectionMonitor.InfoProvider
focal_class.signature: ConnectionMonitor.InfoProvider forHeaders(final Map<String, String> headers)
focal_class.class_method_signature: InfoProviderFactory.extractCorrelationId(final Map<String, String> headers)
focal_class.full_signature: private static String extractCorrelationId(final Map<String, String> headers)
focal_class.identifier: extractCorrelationId
focal_class.modifiers: private static
focal_class.parameters: (final Map<String, String> headers)
focal_class.return: String
focal_class.signature: String extractCorrelationId(final Map<String, String> headers)
focal_class.class_method_signature: InfoProviderFactory.extractThingId(final Signal<?> signal)
focal_class.full_signature: @Nullable private static ThingId extractThingId(final Signal<?> signal)
focal_class.identifier: extractThingId
focal_class.modifiers: @Nullable private static
focal_class.parameters: (final Signal<?> signal)
focal_class.return: ThingId
focal_class.signature: ThingId extractThingId(final Signal<?> signal)
focal_class.class_method_signature: InfoProviderFactory.empty()
focal_class.full_signature: public static ConnectionMonitor.InfoProvider empty()
focal_class.identifier: empty
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: ConnectionMonitor.InfoProvider
focal_class.signature: ConnectionMonitor.InfoProvider empty()
focal_class.class_method_signature: InfoProviderFactory.supplyEmptyPayload()
focal_class.full_signature: private static Supplier<String> supplyEmptyPayload()
focal_class.identifier: supplyEmptyPayload
focal_class.modifiers: private static
focal_class.parameters: ()
focal_class.return: Supplier<String>
focal_class.signature: Supplier<String> supplyEmptyPayload()
focal_method.body: public static ConnectionMonitor.InfoProvider forHeaders(final Map<String, String> headers) {
          final String correlationId = extractCorrelationId(headers);
          final Instant timestamp = Instant.now();
  
          return new ImmutableInfoProvider(correlationId, timestamp, null, headers, supplyEmptyPayload(), false);
      }
focal_method.class_method_signature: InfoProviderFactory.forHeaders(final Map<String, String> headers)
focal_method.full_signature: public static ConnectionMonitor.InfoProvider forHeaders(final Map<String, String> headers)
focal_method.identifier: forHeaders
focal_method.invocations: extractCorrelationId now supplyEmptyPayload
focal_method.modifiers: public static
focal_method.parameters: (final Map<String, String> headers)
focal_method.return: ConnectionMonitor.InfoProvider
focal_method.signature: ConnectionMonitor.InfoProvider forHeaders(final Map<String, String> headers)