mirror of
https://github.com/M66B/FairEmail.git
synced 2024-12-26 17:57:16 +00:00
Refactoring
This commit is contained in:
parent
d337763a77
commit
613f72e769
1 changed files with 16 additions and 14 deletions
|
@ -673,23 +673,25 @@ public class EntityRule {
|
||||||
public EvaluationValue evaluate(
|
public EvaluationValue evaluate(
|
||||||
Expression expression, Token operatorToken, EvaluationValue... operands) {
|
Expression expression, Token operatorToken, EvaluationValue... operands) {
|
||||||
Log.i("EXPR " + operands[0] + (regex ? " MATCHES " : " CONTAINS ") + operands[1] + " regex=" + regex);
|
Log.i("EXPR " + operands[0] + (regex ? " MATCHES " : " CONTAINS ") + operands[1] + " regex=" + regex);
|
||||||
|
|
||||||
String condition = operands[1].getStringValue();
|
String condition = operands[1].getStringValue();
|
||||||
List<EvaluationValue> array = operands[0].getArrayValue();
|
List<EvaluationValue> array = operands[0].getArrayValue();
|
||||||
if (!TextUtils.isEmpty(condition) && array != null) {
|
if (TextUtils.isEmpty(condition) || array == null || array.isEmpty())
|
||||||
Pattern p = (regex ? Pattern.compile(condition, Pattern.DOTALL) : null);
|
return expression.convertValue(false);
|
||||||
Log.i("EXPR regex=" + (p == null ? null : p.pattern()));
|
|
||||||
for (EvaluationValue item : array) {
|
Pattern p = (regex ? Pattern.compile(condition, Pattern.DOTALL) : null);
|
||||||
String value = item.getStringValue();
|
for (EvaluationValue item : array) {
|
||||||
if (!TextUtils.isEmpty(value))
|
String value = item.getStringValue();
|
||||||
if (p == null) {
|
if (!TextUtils.isEmpty(value))
|
||||||
if (value.toLowerCase().contains(condition.toLowerCase()))
|
if (p == null) {
|
||||||
return expression.convertValue(true);
|
if (value.toLowerCase().contains(condition.toLowerCase()))
|
||||||
} else {
|
return expression.convertValue(true);
|
||||||
if (p.matcher(value).matches())
|
} else {
|
||||||
return expression.convertValue(true);
|
if (p.matcher(value).matches())
|
||||||
}
|
return expression.convertValue(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return expression.convertValue(false);
|
return expression.convertValue(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue