/* * Copyright OpenSearch Contributors * SPDX-License-Identifier: Apache-2.0 */ package org.opensearch.dataprepper.logstash.mapping; import java.util.regex.Matcher; import java.util.regex.Pattern; public class NestedSyntaxConverter { private static final String NESTED_SYNTAX_REGEX = "(\\[([^\\]\\[]+)\\])+"; private static final Pattern NESTED_SYNTAX_PATTERN = Pattern.compile(NESTED_SYNTAX_REGEX); private NestedSyntaxConverter() {} public static String convertNestedSyntaxToJsonPointer(final String logstashAttributeValue) { Matcher nestedSyntaxMatcher = NESTED_SYNTAX_PATTERN.matcher(logstashAttributeValue); if (nestedSyntaxMatcher.matches()) { return logstashAttributeValue.replace("\\]\\[", "/").replace("[", "/").replace("]", ""); } return logstashAttributeValue; } }