public static Integer extractStatusCodeFromTags()

in research/zipkin-opensearch-to-otel/src/main/java/com/amazon/dataprepper/research/zipkin/ZipkinOpenSearchToOtelPrepper.java [92:125]


    public static Integer extractStatusCodeFromTags(final Map<String, Object> tags) {
        for (final Map.Entry<String, Object> entry:tags.entrySet()) {
            final String key = entry.getKey();
            if (key.equals(HTTP_STATUS_CODE)) {
                final String value = (String) entry.getValue();
                if (StringUtils.isNumeric(value)) {
                    return Integer.parseInt(value);
                }
            } else if (key.equals(RESPONSE_STATUS)) {
                final String value = (String) entry.getValue();
                if (StringUtils.isNumeric(value)) {
                    return Integer.parseInt(value);
                }
            } else if (key.equals(ERROR)) {
                final String value = (String) entry.getValue();
                if (StringUtils.isNumeric(value)) {
                    return Integer.parseInt(value);
                }
            } else if (key.equals(RETURN_VALUE)) {
                // Extract only if value is json string
                try {
                    final Map<String, Object> value = mapper.readValue((String) entry.getValue(), typeRef);
                    if (value != null) {
                        final Integer statusCodeValue = (Integer) value.get(STATUS_CODE_VALUE);
                        if (statusCodeValue != null) {
                            return statusCodeValue;
                        }
                    }
                } catch (final JsonProcessingException ignored) { }
            }
        }

        return null;
    }