Projects STRLCPY LoggerPlusPlus Commits d43f1537
🤬
Revision indexing in progress... (symbol navigation in revisions will be accurate after indexed)
  • ■ ■ ■ ■ ■ ■
    src/main/java/com/nccgroup/loggerplusplus/filter/parser/FilterEvaluationVisitor.java
    skipped 6 lines
    7 7  import com.nccgroup.loggerplusplus.filterlibrary.FilterLibraryController;
    8 8  import com.nccgroup.loggerplusplus.logentry.LogEntry;
    9 9  import com.nccgroup.loggerplusplus.logentry.LogEntryField;
     10 +import org.apache.commons.lang3.StringUtils;
    10 11  import org.apache.commons.lang3.time.DateUtils;
    11 12   
    12 13  import java.math.BigDecimal;
    skipped 148 lines
    161 162   if (leftString.equalsIgnoreCase(String.valueOf(item))) return true;
    162 163   }
    163 164   return false;
    164  - } else if (op == ComparisonOperator.CONTAINS && Collection.class.isAssignableFrom(left.getClass())) {
     165 + } else if (op == ComparisonOperator.CONTAINS) {
    165 166   //Request.Parameters CONTAINS "A"
    166 167   Object finalRight = right;
    167  - return ((Collection) left).stream().anyMatch(o -> String.valueOf(o).equalsIgnoreCase(String.valueOf(finalRight)));
     168 + if (Collection.class.isAssignableFrom(left.getClass())) {
     169 + return ((Collection) left).stream().anyMatch(o -> String.valueOf(o).equalsIgnoreCase(String.valueOf(finalRight)));
     170 + } else {
     171 + return StringUtils.containsIgnoreCase(String.valueOf(left), String.valueOf(right));
     172 + }
    168 173   } else if (left instanceof String || right instanceof String) { //String comparison last.
    169  - switch (op) {
    170  - case EQUAL:
    171  - return String.valueOf(left).equalsIgnoreCase(String.valueOf(right));
    172  - case NOT_EQUAL:
    173  - return !String.valueOf(left).equalsIgnoreCase(String.valueOf(right));
    174  - case CONTAINS:
    175  - return (String.valueOf(left).toLowerCase()).contains(String.valueOf(right).toLowerCase());
    176  - }
     174 + return String.valueOf(left).equalsIgnoreCase(String.valueOf(right)) ^ op != ComparisonOperator.EQUAL;
    177 175   } else {
    178 176   switch (op) {
    179 177   case EQUAL:
    skipped 16 lines
Please wait...
Page is in error, reload to recover