public static String getTargetElementOfFilterPattern()

in common/src/main/java/org/apache/rocketmq/eventbridge/tools/pattern/PatternEvaluatorBuilder.java [149:173]


    public static String getTargetElementOfFilterPattern(String filterPattern, String... elements) {
        if (JsonUtil.isEmptyJsonObject(filterPattern)) {
            return filterPattern;
        }
        final JsonElement rootElement;
        try {
            rootElement = jsonParser.parse(filterPattern);
        } catch (JsonSyntaxException e) {
            throw new InvalidEventPatternException(PatternErrorMessages.INVALID_JSON_STRING, e);
        }

        if (!rootElement.isJsonObject()) {
            throw new InvalidEventPatternException(PatternErrorMessages.NON_SUPPORTED_JSON);
        }

        JsonObject sourceJsonObject = rootElement.getAsJsonObject();
        JsonObject targetJsonObject = new JsonObject();
        for (String element : elements) {
            JsonElement targetElement = sourceJsonObject.get(element);
            if (targetElement != null) {
                targetJsonObject.add(element, targetElement);
            }
        }
        return targetJsonObject.toString();
    }