From bf33697891aaadc4fae947101e433d4afb3ca41b Mon Sep 17 00:00:00 2001 From: gauravgupta Date: Sun, 11 Oct 2015 18:09:47 -0400 Subject: [PATCH 1/4] Externalized the cache using CacheProvider spi. Set the CacheProvider in the Configuration: Configuration .builder() .mappingProvider(new <>) .jsonProvider(new <>) .cacheProvider(new <>) .build(); --- .../com/jayway/jsonpath/Configuration.java | 41 ++++++- .../jsonpath/internal/DefaultsImpl.java | 11 +- .../jayway/jsonpath/internal/JsonReader.java | 8 +- .../jsonpath/internal/PathCompiler.java | 12 +- .../jsonpath/spi/cache/CacheProvider.java | 23 ++++ .../jsonpath/spi/cache/DefaultCache.java | 116 ++++++++++++++++++ 6 files changed, 201 insertions(+), 10 deletions(-) create mode 100644 json-path/src/main/java/com/jayway/jsonpath/spi/cache/CacheProvider.java create mode 100644 json-path/src/main/java/com/jayway/jsonpath/spi/cache/DefaultCache.java diff --git a/json-path/src/main/java/com/jayway/jsonpath/Configuration.java b/json-path/src/main/java/com/jayway/jsonpath/Configuration.java index 1a591ea8..cebb3a99 100644 --- a/json-path/src/main/java/com/jayway/jsonpath/Configuration.java +++ b/json-path/src/main/java/com/jayway/jsonpath/Configuration.java @@ -15,6 +15,8 @@ package com.jayway.jsonpath; import com.jayway.jsonpath.internal.DefaultsImpl; +import com.jayway.jsonpath.spi.cache.CacheProvider; +import com.jayway.jsonpath.spi.cache.DefaultCache; import com.jayway.jsonpath.spi.json.JsonProvider; import com.jayway.jsonpath.spi.mapper.MappingProvider; @@ -55,14 +57,16 @@ public class Configuration { private final MappingProvider mappingProvider; private final Set