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

dsmiley pushed a commit to branch branch_9x
in repository https://gitbox.apache.org/repos/asf/solr.git


The following commit(s) were added to refs/heads/branch_9x by this push:
     new e48f382  Minor: Utils.fromJSONResource should take a ClassLoader (#675)
e48f382 is described below

commit e48f3827c7ccc1b3c470b33a1fc68311efed0c2f
Author: David Smiley <[email protected]>
AuthorDate: Tue Feb 22 17:51:44 2022 -0500

    Minor: Utils.fromJSONResource should take a ClassLoader (#675)
    
    Not a bug necessarily but is better because it's presumptuous to assume the 
classloader of Utils (SolrJ)
---
 solr/core/src/java/org/apache/solr/core/ConfigOverlay.java            | 2 +-
 solr/core/src/java/org/apache/solr/core/SolrCore.java                 | 2 +-
 .../test/org/apache/solr/handler/TestSolrConfigHandlerConcurrent.java | 2 +-
 solr/solrj/src/java/org/apache/solr/common/util/Utils.java            | 4 ++--
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/solr/core/src/java/org/apache/solr/core/ConfigOverlay.java 
b/solr/core/src/java/org/apache/solr/core/ConfigOverlay.java
index 2c66334..59cf5ed 100644
--- a/solr/core/src/java/org/apache/solr/core/ConfigOverlay.java
+++ b/solr/core/src/java/org/apache/solr/core/ConfigOverlay.java
@@ -174,7 +174,7 @@ public class ConfigOverlay implements MapSerializable {
   //The path maps to the xml xpath and value of 1 means it is a tag with a 
string value and value
   // of 0 means it is an attribute with string value
 
-  private static Map<?, ?> editable_prop_map = (Map<?, ?>) 
Utils.fromJSONResource("EditableSolrConfigAttributes.json");
+  private static Map<?, ?> editable_prop_map = (Map<?, ?>) 
Utils.fromJSONResource(ConfigOverlay.class.getClassLoader(), 
"EditableSolrConfigAttributes.json");
 
   public static boolean isEditableProp(String path, boolean isXpath, 
List<String> hierarchy) {
     return !(checkEditable(path, isXpath, hierarchy) == null);
diff --git a/solr/core/src/java/org/apache/solr/core/SolrCore.java 
b/solr/core/src/java/org/apache/solr/core/SolrCore.java
index dc3887d..d7169fc 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrCore.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrCore.java
@@ -3218,7 +3218,7 @@ public final class SolrCore implements SolrInfoBean, 
Closeable {
 
     static {
       @SuppressWarnings("unchecked")
-      Map<String,?> implicitPluginsInfo = (Map<String,?>) 
Utils.fromJSONResource("ImplicitPlugins.json");
+      Map<String,?> implicitPluginsInfo = (Map<String,?>) 
Utils.fromJSONResource(SolrCore.class.getClassLoader(), "ImplicitPlugins.json");
       @SuppressWarnings("unchecked")
       Map<String, Map<String,Object>> requestHandlers = (Map<String, 
Map<String, Object>>) implicitPluginsInfo.get(SolrRequestHandler.TYPE);
 
diff --git 
a/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerConcurrent.java
 
b/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerConcurrent.java
index 968db78..3067511 100644
--- 
a/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerConcurrent.java
+++ 
b/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerConcurrent.java
@@ -55,7 +55,7 @@ public class TestSolrConfigHandlerConcurrent extends 
AbstractFullDistribZkTestBa
 
   @Test
   public void test() throws Exception {
-    Map<?, ?> editable_prop_map = (Map<?, ?>) 
Utils.fromJSONResource("EditableSolrConfigAttributes.json");
+    Map<?, ?> editable_prop_map = (Map<?, ?>) 
Utils.fromJSONResource(getClass().getClassLoader(), 
"EditableSolrConfigAttributes.json");
     Map<?, ?> caches = (Map<?, ?>) editable_prop_map.get("query");
 
     setupRestTestHarnesses();
diff --git a/solr/solrj/src/java/org/apache/solr/common/util/Utils.java 
b/solr/solrj/src/java/org/apache/solr/common/util/Utils.java
index 3193bad..78c0fdd 100644
--- a/solr/solrj/src/java/org/apache/solr/common/util/Utils.java
+++ b/solr/solrj/src/java/org/apache/solr/common/util/Utils.java
@@ -402,8 +402,8 @@ public class Utils {
     }
   }
 
-  public static Object fromJSONResource(String resourceName) {
-    final URL resource = 
Utils.class.getClassLoader().getResource(resourceName);
+  public static Object fromJSONResource(ClassLoader loader, String 
resourceName) {
+    final URL resource = loader.getResource(resourceName);
     if (null == resource) {
       throw new IllegalArgumentException("invalid resource name: " + 
resourceName);
     }

Reply via email to