@Slf4j
public class RuleMatchUtil {
private final static ExpressRunner runner = new ExpressRunner();
public static boolean execute(Map<String, Object> map, String rule) {
DefaultContext<String, Object> context = new DefaultContext<>();
Iterator<Map.Entry<String, Object>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, Object> entry = it.next();
context.put(entry.getKey(), entry.getValue());
}
boolean rs;
try {
rs = (Boolean) runner.execute(rule, context, null, true, false);
} catch (Exception e) {
return false;
}
return rs;
}
}