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;
}