test_class.declarator: HEADER_HONO_DEVICE_ID = "device_id"
test_class.modifier: private static final
test_class.original_string: private static final String HEADER_HONO_DEVICE_ID = "device_id";
test_class.type: String
test_class.var_name: HEADER_HONO_DEVICE_ID
test_class.declarator: CREATION_TIME_STR = "1571214120000"
test_class.modifier: private static final
test_class.original_string: private static final String CREATION_TIME_STR = "1571214120000";
test_class.type: String
test_class.var_name: CREATION_TIME_STR
test_class.declarator: CREATION_TIME = Instant.ofEpochMilli(Long.parseLong(CREATION_TIME_STR))
test_class.modifier: private static final
test_class.original_string: private static final Instant CREATION_TIME = Instant.ofEpochMilli(Long.parseLong(CREATION_TIME_STR));
test_class.type: Instant
test_class.var_name: CREATION_TIME
test_class.declarator: TTD_STR = "20"
test_class.modifier: private static final
test_class.original_string: private static final String TTD_STR = "20";
test_class.type: String
test_class.var_name: TTD_STR
test_class.declarator: DITTO_PROTOCOL_ADAPTER = DittoProtocolAdapter.newInstance()
test_class.modifier: private static final
test_class.original_string: private static final DittoProtocolAdapter DITTO_PROTOCOL_ADAPTER = DittoProtocolAdapter.newInstance();
test_class.type: DittoProtocolAdapter
test_class.var_name: DITTO_PROTOCOL_ADAPTER
test_class.declarator: EXPECTED_READY_UNTIL_IN_DISTANT_FUTURE = "9999-12-31T23:59:59Z"
test_class.modifier: private static final
test_class.original_string: private static final String EXPECTED_READY_UNTIL_IN_DISTANT_FUTURE = "9999-12-31T23:59:59Z";
test_class.type: String
test_class.var_name: EXPECTED_READY_UNTIL_IN_DISTANT_FUTURE
test_class.declarator: mappingConfig
test_class.modifier: private static
test_class.original_string: private static MappingConfig mappingConfig;
test_class.type: MappingConfig
test_class.var_name: mappingConfig
test_class.declarator: validHeader
test_class.modifier: private
test_class.original_string: private Map<String, String> validHeader;
test_class.type: Map<String, String>
test_class.var_name: validHeader
test_class.declarator: validConfigProps
test_class.modifier: private
test_class.original_string: private Map<String, JsonValue> validConfigProps;
test_class.type: Map<String, JsonValue>
test_class.var_name: validConfigProps
test_class.declarator: validConditions
test_class.modifier: private
test_class.original_string: private Map<String, String> validConditions;
test_class.type: Map<String, String>
test_class.var_name: validConditions
test_class.declarator: validMapperConfig
test_class.modifier: private
test_class.original_string: private DefaultMessageMapperConfiguration validMapperConfig;
test_class.type: DefaultMessageMapperConfiguration
test_class.var_name: validMapperConfig
test_class.declarator: underTest
test_class.modifier: private
test_class.original_string: private MessageMapper underTest;
test_class.type: MessageMapper
test_class.var_name: underTest
test_class.declarator: exception = ExpectedException.none()
test_class.modifier: @Rule
      public final
test_class.original_string: @Rule
      public final ExpectedException exception = ExpectedException.none();
test_class.type: ExpectedException
test_class.var_name: exception
test_class.file: services/connectivity/mapping/src/test/java/org/eclipse/ditto/services/connectivity/mapping/ConnectionStatusMessageMapperTest.java
test_class.identifier: ConnectionStatusMessageMapperTest
test_case.body: @Test
      public void doForwardMappingContextWithThingIdMapping() {
          final Map<String, JsonValue> props =
                  Map.of(MAPPING_OPTIONS_PROPERTIES_THING_ID, JsonValue.of("{{ header:device_id }}"));
          final MessageMapperConfiguration thingIdWithPlaceholder
                  = DefaultMessageMapperConfiguration.of("placeholder", props, validConditions, validConditions);
          underTest.configure(mappingConfig, thingIdWithPlaceholder);
          final ExternalMessage externalMessage = ExternalMessageFactory.newExternalMessageBuilder(validHeader).build();
          final List<Adaptable> mappingResult = underTest.map(externalMessage);
          assertThat(mappingResult.get(0).getTopicPath().getId())
                  .isEqualTo(ThingId.of(validHeader.get(HEADER_HONO_DEVICE_ID)).getName());
      }
test_case.class_method_signature: ConnectionStatusMessageMapperTest.doForwardMappingContextWithThingIdMapping()
test_case.full_signature: @Test public void doForwardMappingContextWithThingIdMapping()
test_case.identifier: doForwardMappingContextWithThingIdMapping
test_case.invocations: of of of configure build newExternalMessageBuilder map isEqualTo assertThat getId getTopicPath get getName of get
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void doForwardMappingContextWithThingIdMapping()
focal_class.declarator: LOGGER = DittoLoggerFactory.getLogger(ConnectionStatusMessageMapper.class)
focal_class.modifier: private static final
focal_class.original_string: private static final DittoLogger LOGGER = DittoLoggerFactory.getLogger(ConnectionStatusMessageMapper.class);
focal_class.type: DittoLogger
focal_class.var_name: LOGGER
focal_class.declarator: HEADER_HONO_TTD = "ttd"
focal_class.modifier: static final
focal_class.original_string: static final String HEADER_HONO_TTD = "ttd";
focal_class.type: String
focal_class.var_name: HEADER_HONO_TTD
focal_class.declarator: HEADER_HONO_CREATION_TIME = "creation-time"
focal_class.modifier: static final
focal_class.original_string: static final String HEADER_HONO_CREATION_TIME = "creation-time";
focal_class.type: String
focal_class.var_name: HEADER_HONO_CREATION_TIME
focal_class.declarator: DEFAULT_FEATURE_ID = "ConnectionStatus"
focal_class.modifier: static final
focal_class.original_string: static final String DEFAULT_FEATURE_ID = "ConnectionStatus";
focal_class.type: String
focal_class.var_name: DEFAULT_FEATURE_ID
focal_class.declarator: MAPPING_OPTIONS_PROPERTIES_THING_ID = "thingId"
focal_class.modifier: static final
focal_class.original_string: static final String MAPPING_OPTIONS_PROPERTIES_THING_ID = "thingId";
focal_class.type: String
focal_class.var_name: MAPPING_OPTIONS_PROPERTIES_THING_ID
focal_class.declarator: MAPPING_OPTIONS_PROPERTIES_FEATURE_ID = "featureId"
focal_class.modifier: static final
focal_class.original_string: static final String MAPPING_OPTIONS_PROPERTIES_FEATURE_ID = "featureId";
focal_class.type: String
focal_class.var_name: MAPPING_OPTIONS_PROPERTIES_FEATURE_ID
focal_class.declarator: FEATURE_DEFINITION = "org.eclipse.ditto:ConnectionStatus:1.0.0"
focal_class.modifier: static final
focal_class.original_string: static final String FEATURE_DEFINITION = "org.eclipse.ditto:ConnectionStatus:1.0.0";
focal_class.type: String
focal_class.var_name: FEATURE_DEFINITION
focal_class.declarator: FEATURE_PROPERTY_CATEGORY_STATUS = "status"
focal_class.modifier: static final
focal_class.original_string: static final String FEATURE_PROPERTY_CATEGORY_STATUS = "status";
focal_class.type: String
focal_class.var_name: FEATURE_PROPERTY_CATEGORY_STATUS
focal_class.declarator: FEATURE_PROPERTY_READY_SINCE = "readySince"
focal_class.modifier: static final
focal_class.original_string: static final String FEATURE_PROPERTY_READY_SINCE = "readySince";
focal_class.type: String
focal_class.var_name: FEATURE_PROPERTY_READY_SINCE
focal_class.declarator: FEATURE_PROPERTY_READY_UNTIL = "readyUntil"
focal_class.modifier: static final
focal_class.original_string: static final String FEATURE_PROPERTY_READY_UNTIL = "readyUntil";
focal_class.type: String
focal_class.var_name: FEATURE_PROPERTY_READY_UNTIL
focal_class.declarator: DISTANT_FUTURE_INSTANT = Instant.ofEpochSecond(253402300799L)
focal_class.modifier: private static final
focal_class.original_string: private static final Instant DISTANT_FUTURE_INSTANT = Instant.ofEpochSecond(253402300799L);
focal_class.type: Instant
focal_class.var_name: DISTANT_FUTURE_INSTANT
focal_class.declarator: EMPTY_RESULT = Collections.emptyList()
focal_class.modifier: private static final
focal_class.original_string: private static final List<Adaptable> EMPTY_RESULT = Collections.emptyList();
focal_class.type: List<Adaptable>
focal_class.var_name: EMPTY_RESULT
focal_class.declarator: DITTO_PROTOCOL_ADAPTER = DittoProtocolAdapter.newInstance()
focal_class.modifier: private static final
focal_class.original_string: private static final DittoProtocolAdapter DITTO_PROTOCOL_ADAPTER = DittoProtocolAdapter.newInstance();
focal_class.type: DittoProtocolAdapter
focal_class.var_name: DITTO_PROTOCOL_ADAPTER
focal_class.declarator: HEADERS_PLACEHOLDER = PlaceholderFactory.newHeadersPlaceholder()
focal_class.modifier: private static final
focal_class.original_string: private static final HeadersPlaceholder HEADERS_PLACEHOLDER = PlaceholderFactory.newHeadersPlaceholder();
focal_class.type: HeadersPlaceholder
focal_class.var_name: HEADERS_PLACEHOLDER
focal_class.declarator: mappingOptionFeatureId
focal_class.modifier: private
focal_class.original_string: private String mappingOptionFeatureId;
focal_class.type: String
focal_class.var_name: mappingOptionFeatureId
focal_class.declarator: mappingOptionThingId
focal_class.modifier: private
focal_class.original_string: private String mappingOptionThingId;
focal_class.type: String
focal_class.var_name: mappingOptionThingId
focal_class.file: services/connectivity/mapping/src/main/java/org/eclipse/ditto/services/connectivity/mapping/ConnectionStatusMessageMapper.java
focal_class.identifier: ConnectionStatusMessageMapper
focal_class.class_method_signature: ConnectionStatusMessageMapper.doConfigure(final MappingConfig mappingConfig,
              final MessageMapperConfiguration messageMapperConfiguration)
focal_class.full_signature: @Override public void doConfigure(final MappingConfig mappingConfig,
              final MessageMapperConfiguration messageMapperConfiguration)
focal_class.identifier: doConfigure
focal_class.modifiers: @Override public
focal_class.parameters: (final MappingConfig mappingConfig,
              final MessageMapperConfiguration messageMapperConfiguration)
focal_class.return: void
focal_class.signature: void doConfigure(final MappingConfig mappingConfig,
              final MessageMapperConfiguration messageMapperConfiguration)
focal_class.class_method_signature: ConnectionStatusMessageMapper.map(final ExternalMessage externalMessage)
focal_class.full_signature: @Override public List<Adaptable> map(final ExternalMessage externalMessage)
focal_class.identifier: map
focal_class.modifiers: @Override public
focal_class.parameters: (final ExternalMessage externalMessage)
focal_class.return: List<Adaptable>
focal_class.signature: List<Adaptable> map(final ExternalMessage externalMessage)
focal_class.class_method_signature: ConnectionStatusMessageMapper.doMap(final ExternalMessage externalMessage)
focal_class.full_signature: private List<Adaptable> doMap(final ExternalMessage externalMessage)
focal_class.identifier: doMap
focal_class.modifiers: private
focal_class.parameters: (final ExternalMessage externalMessage)
focal_class.return: List<Adaptable>
focal_class.signature: List<Adaptable> doMap(final ExternalMessage externalMessage)
focal_class.class_method_signature: ConnectionStatusMessageMapper.getModifyFeaturePropertyAdaptable(final ThingId thingId, final String featureId,
              final Instant readyUntil, final DittoHeaders dittoHeaders)
focal_class.full_signature: private Adaptable getModifyFeaturePropertyAdaptable(final ThingId thingId, final String featureId,
              final Instant readyUntil, final DittoHeaders dittoHeaders)
focal_class.identifier: getModifyFeaturePropertyAdaptable
focal_class.modifiers: private
focal_class.parameters: (final ThingId thingId, final String featureId,
              final Instant readyUntil, final DittoHeaders dittoHeaders)
focal_class.return: Adaptable
focal_class.signature: Adaptable getModifyFeaturePropertyAdaptable(final ThingId thingId, final String featureId,
              final Instant readyUntil, final DittoHeaders dittoHeaders)
focal_class.class_method_signature: ConnectionStatusMessageMapper.getModifyFeatureAdaptable(final ThingId thingId, final String featureId, final Instant readyUntil,
              @Nullable final Instant readySince, final DittoHeaders dittoHeaders)
focal_class.full_signature: private Adaptable getModifyFeatureAdaptable(final ThingId thingId, final String featureId, final Instant readyUntil,
              @Nullable final Instant readySince, final DittoHeaders dittoHeaders)
focal_class.identifier: getModifyFeatureAdaptable
focal_class.modifiers: private
focal_class.parameters: (final ThingId thingId, final String featureId, final Instant readyUntil,
              @Nullable final Instant readySince, final DittoHeaders dittoHeaders)
focal_class.return: Adaptable
focal_class.signature: Adaptable getModifyFeatureAdaptable(final ThingId thingId, final String featureId, final Instant readyUntil,
              @Nullable final Instant readySince, final DittoHeaders dittoHeaders)
focal_class.class_method_signature: ConnectionStatusMessageMapper.applyPlaceholderReplacement(final String template, final ExpressionResolver expressionResolver)
focal_class.full_signature: private String applyPlaceholderReplacement(final String template, final ExpressionResolver expressionResolver)
focal_class.identifier: applyPlaceholderReplacement
focal_class.modifiers: private
focal_class.parameters: (final String template, final ExpressionResolver expressionResolver)
focal_class.return: String
focal_class.signature: String applyPlaceholderReplacement(final String template, final ExpressionResolver expressionResolver)
focal_class.class_method_signature: ConnectionStatusMessageMapper.getExpressionResolver(final Map<String, String> headers)
focal_class.full_signature: private static ExpressionResolver getExpressionResolver(final Map<String, String> headers)
focal_class.identifier: getExpressionResolver
focal_class.modifiers: private static
focal_class.parameters: (final Map<String, String> headers)
focal_class.return: ExpressionResolver
focal_class.signature: ExpressionResolver getExpressionResolver(final Map<String, String> headers)
focal_class.class_method_signature: ConnectionStatusMessageMapper.getMappingFailedException(final String message,
              final String description, final DittoHeaders dittoHeaders)
focal_class.full_signature: private MessageMappingFailedException getMappingFailedException(final String message,
              final String description, final DittoHeaders dittoHeaders)
focal_class.identifier: getMappingFailedException
focal_class.modifiers: private
focal_class.parameters: (final String message,
              final String description, final DittoHeaders dittoHeaders)
focal_class.return: MessageMappingFailedException
focal_class.signature: MessageMappingFailedException getMappingFailedException(final String message,
              final String description, final DittoHeaders dittoHeaders)
focal_class.class_method_signature: ConnectionStatusMessageMapper.extractLongHeader(final Map<String, String> headers, final String key,
              final DittoHeaders dittoHeaders)
focal_class.full_signature: private Long extractLongHeader(final Map<String, String> headers, final String key,
              final DittoHeaders dittoHeaders)
focal_class.identifier: extractLongHeader
focal_class.modifiers: private
focal_class.parameters: (final Map<String, String> headers, final String key,
              final DittoHeaders dittoHeaders)
focal_class.return: Long
focal_class.signature: Long extractLongHeader(final Map<String, String> headers, final String key,
              final DittoHeaders dittoHeaders)
focal_class.class_method_signature: ConnectionStatusMessageMapper.map(final Adaptable adaptable)
focal_class.full_signature: @Override public List<ExternalMessage> map(final Adaptable adaptable)
focal_class.identifier: map
focal_class.modifiers: @Override public
focal_class.parameters: (final Adaptable adaptable)
focal_class.return: List<ExternalMessage>
focal_class.signature: List<ExternalMessage> map(final Adaptable adaptable)
focal_class.superclass: extends AbstractMessageMapper
focal_method.body: @Override
      public List<Adaptable> map(final ExternalMessage externalMessage) {
          try {
              return doMap(externalMessage);
          } catch (final Exception e) {
              // we don't want to throw an exception in case something went wrong during the mapping
              LOGGER.withCorrelationId(externalMessage.getInternalHeaders())
                      .info("Error occurred during mapping: <{}>: {}", e.getClass().getSimpleName(), e.getMessage());
              return EMPTY_RESULT;
          }
      }
focal_method.class_method_signature: ConnectionStatusMessageMapper.map(final ExternalMessage externalMessage)
focal_method.full_signature: @Override public List<Adaptable> map(final ExternalMessage externalMessage)
focal_method.identifier: map
focal_method.invocations: doMap info withCorrelationId getInternalHeaders getSimpleName getClass getMessage
focal_method.modifiers: @Override public
focal_method.parameters: (final ExternalMessage externalMessage)
focal_method.return: List<Adaptable>
focal_method.signature: List<Adaptable> map(final ExternalMessage externalMessage)