From e6d2546c42269ea4ca595f027fa21ff13340125a Mon Sep 17 00:00:00 2001 From: Matthew J Greenwood Date: Mon, 14 Dec 2015 11:49:28 -0500 Subject: [PATCH] removed getLastElement --- .../internal/path/EvaluationContextImpl.java | 3 ++- .../jsonpath/spi/json/AbstractJsonProvider.java | 14 -------------- .../com/jayway/jsonpath/spi/json/JsonProvider.java | 9 --------- 3 files changed, 2 insertions(+), 24 deletions(-) diff --git a/json-path/src/main/java/com/jayway/jsonpath/internal/path/EvaluationContextImpl.java b/json-path/src/main/java/com/jayway/jsonpath/internal/path/EvaluationContextImpl.java index fa43f365..119f2e92 100644 --- a/json-path/src/main/java/com/jayway/jsonpath/internal/path/EvaluationContextImpl.java +++ b/json-path/src/main/java/com/jayway/jsonpath/internal/path/EvaluationContextImpl.java @@ -130,7 +130,8 @@ public class EvaluationContextImpl implements EvaluationContext { if(resultIndex == 0){ throw new PathNotFoundException("No results for path: " + path.toString()); } - Object value = jsonProvider().getLastElement(valueResult); + int len = jsonProvider().length(valueResult); + Object value = (len > 0) ? jsonProvider().getArrayIndex(valueResult, len-1) : null; if (value != null && unwrap){ value = jsonProvider().unwrap(value); } diff --git a/json-path/src/main/java/com/jayway/jsonpath/spi/json/AbstractJsonProvider.java b/json-path/src/main/java/com/jayway/jsonpath/spi/json/AbstractJsonProvider.java index 65b89467..56cfb47c 100644 --- a/json-path/src/main/java/com/jayway/jsonpath/spi/json/AbstractJsonProvider.java +++ b/json-path/src/main/java/com/jayway/jsonpath/spi/json/AbstractJsonProvider.java @@ -43,20 +43,6 @@ public abstract class AbstractJsonProvider implements JsonProvider { return ((List) obj).get(idx); } - /** - * Extracts the last value from an array - * - * @param obj an array - * @return the entry at the given index - */ - public Object getLastElement(Object obj) { - if (null != obj) { - int len = this.length(obj); - return getArrayIndex(obj, len-1); - } - return null; - } - public final Object getArrayIndex(Object obj, int idx, boolean unwrap){ return getArrayIndex(obj, idx); } diff --git a/json-path/src/main/java/com/jayway/jsonpath/spi/json/JsonProvider.java b/json-path/src/main/java/com/jayway/jsonpath/spi/json/JsonProvider.java index e1caa582..fa7dda41 100644 --- a/json-path/src/main/java/com/jayway/jsonpath/spi/json/JsonProvider.java +++ b/json-path/src/main/java/com/jayway/jsonpath/spi/json/JsonProvider.java @@ -163,13 +163,4 @@ public interface JsonProvider { * @return the unwrapped value. */ Object unwrap(Object obj); - - - /** - * Get the last element of the array - * - * @param obj an array - * @return the unwrapped value - */ - Object getLastElement(Object obj); }