You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by is...@apache.org on 2019/11/04 19:33:21 UTC

[lucene-solr] branch jira/solr-13662-3 updated: SOLR-13662: Removing json-smart and asm dependencies

This is an automated email from the ASF dual-hosted git repository.

ishan pushed a commit to branch jira/solr-13662-3
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git


The following commit(s) were added to refs/heads/jira/solr-13662-3 by this push:
     new 4c288ed  SOLR-13662: Removing json-smart and asm dependencies
4c288ed is described below

commit 4c288eda307b2030d5d26b224c79675b2a401ae5
Author: Ishan Chattopadhyaya <is...@apache.org>
AuthorDate: Tue Nov 5 00:57:28 2019 +0530

    SOLR-13662: Removing json-smart and asm dependencies
---
 solr/core/ivy.xml                                         |  3 +--
 .../java/org/apache/solr/packagemanager/PackageUtils.java | 15 ++++++++++++++-
 .../apache/solr/packagemanager/SolrPackageManager.java    |  3 ++-
 solr/core/src/java/org/apache/solr/util/PackageTool.java  |  3 ++-
 4 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/solr/core/ivy.xml b/solr/core/ivy.xml
index 76de7c4..da5a202 100644
--- a/solr/core/ivy.xml
+++ b/solr/core/ivy.xml
@@ -138,9 +138,8 @@
     <dependency org="com.google.protobuf" name="protobuf-java" rev="${/com.google.protobuf/protobuf-java}" conf="compile"/>
     <dependency org="com.jayway.jsonpath" name="json-path" rev="${/com.jayway.jsonpath/json-path}" conf="compile"/>
 
+    <!-- Package manager -->
     <dependency org="com.github.zafarkhaja" name="java-semver" rev="0.9.0" conf="compile"/>
-    <dependency org="net.minidev" name="json-smart" rev="2.2.1" conf="compile"/>
-    <dependency org="net.minidev" name="asm" rev="1.0.2" conf="compile"/>
 
     <dependency org="org.rrd4j" name="rrd4j" rev="${/org.rrd4j/rrd4j}" conf="compile"/>
 
diff --git a/solr/core/src/java/org/apache/solr/packagemanager/PackageUtils.java b/solr/core/src/java/org/apache/solr/packagemanager/PackageUtils.java
index da23068..7f9e1b1 100644
--- a/solr/core/src/java/org/apache/solr/packagemanager/PackageUtils.java
+++ b/solr/core/src/java/org/apache/solr/packagemanager/PackageUtils.java
@@ -44,9 +44,22 @@ import org.apache.solr.common.params.ModifiableSolrParams;
 
 import com.github.zafarkhaja.semver.Version;
 import com.google.common.base.Strings;
+import com.jayway.jsonpath.Configuration;
+import com.jayway.jsonpath.spi.json.JacksonJsonProvider;
+import com.jayway.jsonpath.spi.json.JsonProvider;
+import com.jayway.jsonpath.spi.mapper.JacksonMappingProvider;
+import com.jayway.jsonpath.spi.mapper.MappingProvider;
 
 public class PackageUtils {
-  static public ByteBuffer getFileContent(File file) throws IOException {
+  
+  public static Configuration jsonPathConfiguration() {
+    MappingProvider provider = new JacksonMappingProvider();
+    JsonProvider jsonProvider = new JacksonJsonProvider();
+    Configuration c = Configuration.builder().jsonProvider(jsonProvider).mappingProvider(provider).options(com.jayway.jsonpath.Option.REQUIRE_PROPERTIES).build();
+    return c;
+  }
+  
+  public static ByteBuffer getFileContent(File file) throws IOException {
     ByteBuffer jar;
     try (FileInputStream fis = new FileInputStream(file)) {
       byte[] buf = new byte[fis.available()];
diff --git a/solr/core/src/java/org/apache/solr/packagemanager/SolrPackageManager.java b/solr/core/src/java/org/apache/solr/packagemanager/SolrPackageManager.java
index 12fa90f..d8d119f 100644
--- a/solr/core/src/java/org/apache/solr/packagemanager/SolrPackageManager.java
+++ b/solr/core/src/java/org/apache/solr/packagemanager/SolrPackageManager.java
@@ -211,7 +211,8 @@ public class SolrPackageManager implements Closeable {
         if ("GET".equalsIgnoreCase(cmd.method)) {
           String response = PackageUtils.get(url);
           System.out.println(response);
-          String actualValue = JsonPath.parse(response).read(resolve(cmd.condition, pkg.parameterDefaults, collectionParameterOverrides, systemParams));
+          String actualValue = JsonPath.parse(response, PackageUtils.jsonPathConfiguration())
+              .read(resolve(cmd.condition, pkg.parameterDefaults, collectionParameterOverrides, systemParams));
           String expectedValue = resolve(cmd.expected, pkg.parameterDefaults, collectionParameterOverrides, systemParams);
           System.out.println("Actual: "+actualValue+", expected: "+expectedValue);
           if (!expectedValue.equals(actualValue)) {
diff --git a/solr/core/src/java/org/apache/solr/util/PackageTool.java b/solr/core/src/java/org/apache/solr/util/PackageTool.java
index aa3f4a4..3972f29 100644
--- a/solr/core/src/java/org/apache/solr/util/PackageTool.java
+++ b/solr/core/src/java/org/apache/solr/util/PackageTool.java
@@ -257,7 +257,8 @@ public class PackageTool extends SolrCLI.ToolBase {
       String paramsJson = PackageUtils.get(solrBaseUrl+"/api/collections/"+collection+"/config/params/PKG_VERSIONS?omitHeader=true");
       String version = null;
       try {
-        version = JsonPath.parse(paramsJson).read("$['response'].['params'].['PKG_VERSIONS'].['"+pkg.name+"'])");
+        version = JsonPath.parse(paramsJson, PackageUtils.jsonPathConfiguration())
+            .read("$['response'].['params'].['PKG_VERSIONS'].['"+pkg.name+"'])");
       } catch (PathNotFoundException ex) {
         // Don't worry if PKG_VERSION wasn't found. It just means this collection was never touched by the package manager.
       }