You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by dw...@apache.org on 2021/03/10 09:56:00 UTC
[lucene] 04/42: use proper generics
This is an automated email from the ASF dual-hosted git repository.
dweiss pushed a commit to branch jira/solr14155-1
in repository https://gitbox.apache.org/repos/asf/lucene.git
commit 90516874d8e5621c032a779b7d0a853bf13ee2c4
Author: noblepaul <no...@gmail.com>
AuthorDate: Sun Jul 12 22:14:26 2020 +1000
use proper generics
---
.../java/org/apache/solr/pkg/CoreRefreshingClassLoader.java | 9 ++++++---
solr/core/src/java/org/apache/solr/search/CacheConfig.java | 10 +++++-----
2 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/solr/core/src/java/org/apache/solr/pkg/CoreRefreshingClassLoader.java b/solr/core/src/java/org/apache/solr/pkg/CoreRefreshingClassLoader.java
index 7b3882d..e75d595 100644
--- a/solr/core/src/java/org/apache/solr/pkg/CoreRefreshingClassLoader.java
+++ b/solr/core/src/java/org/apache/solr/pkg/CoreRefreshingClassLoader.java
@@ -63,10 +63,13 @@ public class CoreRefreshingClassLoader implements PackageListeners.Listener {
return version;
}
- @SuppressWarnings({"rawtypes","unchecked"})
- public static Class loadClass(SolrResourceLoader srl, PluginInfo info, Class type) {
+ /**
+ * Load a class using an appropriate {@link SolrResourceLoader} depending of the package of that class
+ */
+ public static <T> Class<? extends T> findClass(SolrResourceLoader srl, PluginInfo info, Class<T> type) {
if(info.cName.pkg == null) return srl.findClass(info.className, type);
- return _get(srl, info, version -> version.getLoader().findClass(info.cName.className, type));
+ return _get(srl, info,
+ (Function<PackageLoader.Package.Version, Class<? extends T>>) ver -> ver.getLoader().findClass(info.cName.className, type));
}
diff --git a/solr/core/src/java/org/apache/solr/search/CacheConfig.java b/solr/core/src/java/org/apache/solr/search/CacheConfig.java
index e47aed4..807f3c0 100644
--- a/solr/core/src/java/org/apache/solr/search/CacheConfig.java
+++ b/solr/core/src/java/org/apache/solr/search/CacheConfig.java
@@ -122,22 +122,22 @@ public class CacheConfig implements MapSerializable{
config.args = attrs;
Map<String, String> map = xpath == null ? null : solrConfig.getOverlay().getEditableSubProperties(xpath);
- if(map != null){
+ if (map != null) {
HashMap<String, String> mapCopy = new HashMap<>(config.args);
for (Map.Entry<String, String> e : map.entrySet()) {
- mapCopy.put(e.getKey(),String.valueOf(e.getValue()));
+ mapCopy.put(e.getKey(), String.valueOf(e.getValue()));
}
config.args = mapCopy;
}
String nameAttr = config.args.get(NAME); // OPTIONAL
- if (nameAttr==null) {
+ if (nameAttr == null) {
config.args.put(NAME, config.nodeName);
}
SolrResourceLoader loader = solrConfig.getResourceLoader();
config.cacheImpl = config.args.get("class");
- if(config.cacheImpl == null) config.cacheImpl = "solr.CaffeineCache";
- config.clazz = () -> CoreRefreshingClassLoader.loadClass(loader,
+ if (config.cacheImpl == null) config.cacheImpl = "solr.CaffeineCache";
+ config.clazz = () -> CoreRefreshingClassLoader.findClass(loader,
new PluginInfo("cache", Collections.singletonMap("class", config.cacheImpl)),
SolrCache.class);
config.regenImpl = config.args.get("regenerator");