private static PatternEntry parsePatternEntry()

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


    private static PatternEntry parsePatternEntry(String ruleName, String rulePath, JsonArray jsonElements) {
        if (jsonElements.size() == 0) {
            // Empty array
            throw new InvalidEventPatternException(
                PatternErrorMessages.INVALID_PATTERN_VALUE + jsonElements.toString());
        }

        PatternEntry patternEntry = new PatternEntry(ruleName, rulePath);

        for (final JsonElement element : jsonElements) {
            if (element.isJsonNull() || element.isJsonPrimitive()) {
                // Equal condition
                EqualCondition equalCondition = new EqualCondition(element);
                patternEntry.addRuleCondition(equalCondition);
                continue;
            }

            if (element.isJsonObject()) {
                // May throw RuleParseException when building RuleCondition
                patternEntry.addRuleCondition(parseCondition(element.getAsJsonObject()));
                continue;
            }
            // JsonArray isn't acceptable
            throw new InvalidEventPatternException(PatternErrorMessages.NESTED_PATTERN_VALUE + ruleName);
        }

        return patternEntry;
    }