Browse Source

Alternate constructor for ValueCompareException

This passes the message in the exception rather than being lost in the
logs.
pull/134/head
Archimedes Trajano 9 years ago
parent
commit
286aff4818
  1. 3
      json-path/src/main/java/com/jayway/jsonpath/Criteria.java
  2. 10
      json-path/src/main/java/com/jayway/jsonpath/ValueCompareException.java

3
json-path/src/main/java/com/jayway/jsonpath/Criteria.java

@ -912,8 +912,7 @@ public class Criteria implements Predicate {
JsonValue json = (JsonValue) left; JsonValue json = (JsonValue) left;
return right.equals(json.parsed(ctx)) ? 0 : -1; return right.equals(json.parsed(ctx)) ? 0 : -1;
} else { } else {
logger.debug("Can not compare a {} with a {}", left.getClass().getName(), right.getClass().getName()); throw new ValueCompareException(left, right);
throw new ValueCompareException();
} }
} }

10
json-path/src/main/java/com/jayway/jsonpath/ValueCompareException.java

@ -19,6 +19,16 @@ public class ValueCompareException extends JsonPathException {
public ValueCompareException() { public ValueCompareException() {
} }
/**
* Construct the exception with message capturing the classes for two objects.
*
* @param left first object
* @param right second object
*/
public ValueCompareException(final Object left, final Object right) {
super(String.format("Can not compare a %1s with a %2s", left.getClass().getName(), right.getClass().getName()));
}
public ValueCompareException(String message) { public ValueCompareException(String message) {
super(message); super(message);
} }

Loading…
Cancel
Save