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:45:54 UTC
[lucene] 13/21: renamed PluginLoader to SolrClassLoader
This is an automated email from the ASF dual-hosted git repository.
dweiss pushed a commit to branch jira/solr14155
in repository https://gitbox.apache.org/repos/asf/lucene.git
commit 61ee4d8327ecb07cffd5463e59e584fa3e8c24d8
Author: noble <no...@apache.org>
AuthorDate: Sat Dec 28 00:11:38 2019 +1100
renamed PluginLoader to SolrClassLoader
---
.../java/org/apache/solr/core/MemClassLoader.java | 14 ++++++++--
.../src/java/org/apache/solr/core/PluginBag.java | 7 +++--
.../{PluginLoader.java => SolrClassLoader.java} | 4 ++-
.../src/java/org/apache/solr/core/SolrCore.java | 7 +++--
.../org/apache/solr/core/SolrResourceLoader.java | 9 ++++---
.../org/apache/solr/handler/SolrConfigHandler.java | 5 ++--
.../java/org/apache/solr/pkg/PackageLoader.java | 12 ++++++---
.../org/apache/solr/schema/CurrencyFieldType.java | 2 +-
.../apache/solr/schema/FieldTypePluginLoader.java | 12 ++++-----
.../java/org/apache/solr/schema/IndexSchema.java | 31 +++++++++++-----------
.../org/apache/solr/schema/ManagedIndexSchema.java | 2 +-
.../org/apache/solr/schema/PreAnalyzedField.java | 2 +-
.../solr/util/plugin/AbstractPluginLoader.java | 8 +++---
13 files changed, 67 insertions(+), 48 deletions(-)
diff --git a/solr/core/src/java/org/apache/solr/core/MemClassLoader.java b/solr/core/src/java/org/apache/solr/core/MemClassLoader.java
index cf6bb4d..60942f5 100644
--- a/solr/core/src/java/org/apache/solr/core/MemClassLoader.java
+++ b/solr/core/src/java/org/apache/solr/core/MemClassLoader.java
@@ -39,7 +39,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class MemClassLoader extends ClassLoader implements AutoCloseable, ResourceLoader {
+public class MemClassLoader extends ClassLoader implements ResourceLoader, SolrClassLoader {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private boolean allJarsLoaded = false;
private final SolrResourceLoader parentLoader;
@@ -53,6 +53,16 @@ public class MemClassLoader extends ClassLoader implements AutoCloseable, Resour
this.libs = libs;
}
+ @Override
+ public <T> T newInstance(String cname, Class<T> expectedType, String... subpackages) {
+ return null;
+ }
+
+ @Override
+ public <T> T newInstance(String cName, Class<T> expectedType, String[] subPackages, Class[] params, Object[] args) {
+ return null;
+ }
+
synchronized void loadRemoteJars() {
if (allJarsLoaded) return;
int count = 0;
@@ -149,7 +159,7 @@ public class MemClassLoader extends ClassLoader implements AutoCloseable, Resour
}
@Override
- public void close() throws Exception {
+ public void close() {
for (PluginBag.RuntimeLib lib : libs) {
try {
lib.close();
diff --git a/solr/core/src/java/org/apache/solr/core/PluginBag.java b/solr/core/src/java/org/apache/solr/core/PluginBag.java
index b26b987..708910b 100644
--- a/solr/core/src/java/org/apache/solr/core/PluginBag.java
+++ b/solr/core/src/java/org/apache/solr/core/PluginBag.java
@@ -34,7 +34,6 @@ import java.util.stream.Collectors;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
-import org.apache.lucene.analysis.util.ResourceLoader;
import org.apache.lucene.analysis.util.ResourceLoaderAware;
import org.apache.solr.api.Api;
import org.apache.solr.api.ApiBag;
@@ -144,7 +143,7 @@ public class PluginBag<T> implements AutoCloseable {
PackagePluginHolder<T> holder = new PackagePluginHolder<>(info, core, meta);
return holder;
} else {
- T inst = core.createInstance(info.className, (Class<T>) meta.clazz, meta.getCleanTag(), null, core.getResourceLoader(info.pkgName));
+ T inst = core.createInstance(info.className, (Class<T>) meta.clazz, meta.getCleanTag(), null, core.getSolrClassLoader(info.pkgName));
initInstance(inst, info);
return new PluginHolder<>(info, inst);
}
@@ -403,11 +402,11 @@ public class PluginBag<T> implements AutoCloseable {
private final SolrConfig.SolrPluginInfo pluginMeta;
protected SolrException solrException;
private final SolrCore core;
- protected ResourceLoader resourceLoader;
+ protected SolrClassLoader resourceLoader;
private final boolean isRuntimeLib;
- LazyPluginHolder(SolrConfig.SolrPluginInfo pluginMeta, PluginInfo pluginInfo, SolrCore core, ResourceLoader loader, boolean isRuntimeLib) {
+ LazyPluginHolder(SolrConfig.SolrPluginInfo pluginMeta, PluginInfo pluginInfo, SolrCore core, SolrClassLoader loader, boolean isRuntimeLib) {
super(pluginInfo);
this.pluginMeta = pluginMeta;
this.isRuntimeLib = isRuntimeLib;
diff --git a/solr/core/src/java/org/apache/solr/core/PluginLoader.java b/solr/core/src/java/org/apache/solr/core/SolrClassLoader.java
similarity index 93%
rename from solr/core/src/java/org/apache/solr/core/PluginLoader.java
rename to solr/core/src/java/org/apache/solr/core/SolrClassLoader.java
index ef0bd94..b260e07 100644
--- a/solr/core/src/java/org/apache/solr/core/PluginLoader.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrClassLoader.java
@@ -17,10 +17,12 @@
package org.apache.solr.core;
+import java.io.Closeable;
+
/**A generic interface to load classes
*
*/
-public interface PluginLoader {
+public interface SolrClassLoader extends Closeable {
<T> T newInstance(String cname, Class<T> expectedType, String... subpackages);
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 284bf66..b1c38ba 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrCore.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrCore.java
@@ -63,7 +63,6 @@ import com.codahale.metrics.Timer;
import com.google.common.collect.Iterators;
import com.google.common.collect.MapMaker;
import org.apache.commons.io.FileUtils;
-import org.apache.lucene.analysis.util.ResourceLoader;
import org.apache.lucene.codecs.Codec;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexDeletionPolicy;
@@ -288,7 +287,7 @@ public final class SolrCore implements SolrInfoBean, Closeable {
/** Gets the SolrResourceLoader for a given package
* @param pkg The package name
*/
- public SolrResourceLoader getResourceLoader(String pkg) {
+ public SolrClassLoader getSolrClassLoader(String pkg) {
if (pkg == null) {
return resourceLoader;
}
@@ -819,7 +818,7 @@ public final class SolrCore implements SolrInfoBean, Closeable {
* @return the desired instance
* @throws SolrException if the object could not be instantiated
*/
- public static <T> T createInstance(String className, Class<T> cast, String msg, SolrCore core, ResourceLoader resourceLoader) {
+ public static <T> T createInstance(String className, Class<T> cast, String msg, SolrCore core, SolrClassLoader resourceLoader) {
Class<? extends T> clazz = null;
if (msg == null) msg = "SolrCore Object";
try {
@@ -879,7 +878,7 @@ public final class SolrCore implements SolrInfoBean, Closeable {
public <T extends Object> T createInitInstance(PluginInfo info, Class<T> cast, String msg, String defClassName) {
if (info == null) return null;
- T o = createInstance(info.className == null ? defClassName : info.className, cast, msg, this, getResourceLoader(info.pkgName));
+ T o = createInstance(info.className == null ? defClassName : info.className, cast, msg, this, getSolrClassLoader(info.pkgName));
if (o instanceof PluginInfoInitialized) {
((PluginInfoInitialized) o).init(info);
} else if (o instanceof NamedListInitializedPlugin) {
diff --git a/solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java b/solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java
index 46e2ecf..2ad001b 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java
@@ -20,7 +20,6 @@ import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.naming.NoInitialContextException;
-import java.io.Closeable;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
@@ -83,7 +82,7 @@ import org.slf4j.LoggerFactory;
/**
* @since solr 1.3
*/
-public class SolrResourceLoader implements ResourceLoader, PluginLoader, Closeable {
+public class SolrResourceLoader implements ResourceLoader, SolrClassLoader {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
static final String project = "solr";
@@ -190,6 +189,11 @@ public class SolrResourceLoader implements ResourceLoader, PluginLoader, Closeab
}
this.classLoader = URLClassLoader.newInstance(new URL[0], parent);
+ initSPI();
+ this.coreProperties = coreProperties;
+ }
+
+ protected void initSPI() {
/*
* Skip the lib subdirectory when we are loading from the solr home.
* Otherwise load it, so core lib directories still get loaded.
@@ -207,7 +211,6 @@ public class SolrResourceLoader implements ResourceLoader, PluginLoader, Closeab
reloadLuceneSPI();
}
}
- this.coreProperties = coreProperties;
}
/**
diff --git a/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java b/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java
index 09f2778..fe97744 100644
--- a/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java
@@ -66,6 +66,7 @@ import org.apache.solr.core.ConfigOverlay;
import org.apache.solr.core.PluginBag;
import org.apache.solr.core.PluginInfo;
import org.apache.solr.core.RequestParams;
+import org.apache.solr.core.SolrClassLoader;
import org.apache.solr.core.SolrConfig;
import org.apache.solr.core.SolrCore;
import org.apache.solr.core.SolrResourceLoader;
@@ -593,9 +594,9 @@ public class SolrConfigHandler extends RequestHandlerBase implements SolrCoreAwa
//this is not dynamically loaded so we can verify the class right away
try {
if(expected == Expressible.class) {
- SolrResourceLoader resourceLoader = info.pkgName == null ?
+ SolrClassLoader resourceLoader = info.pkgName == null ?
req.getCore().getResourceLoader() :
- req.getCore().getResourceLoader(info.pkgName);
+ req.getCore().getSolrClassLoader(info.pkgName);
resourceLoader.findClass(info.className, expected);
} else {
req.getCore().createInitInstance(info, expected, clz, "");
diff --git a/solr/core/src/java/org/apache/solr/pkg/PackageLoader.java b/solr/core/src/java/org/apache/solr/pkg/PackageLoader.java
index b7a88d1..c9ef000 100644
--- a/solr/core/src/java/org/apache/solr/pkg/PackageLoader.java
+++ b/solr/core/src/java/org/apache/solr/pkg/PackageLoader.java
@@ -37,6 +37,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
import org.apache.solr.common.MapWriter;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.core.CoreContainer;
+import org.apache.solr.core.SolrClassLoader;
import org.apache.solr.core.SolrCore;
import org.apache.solr.core.SolrResourceLoader;
import org.slf4j.Logger;
@@ -234,7 +235,7 @@ public class PackageLoader implements Closeable {
public class Version implements MapWriter, Closeable {
private final Package parent;
- private SolrResourceLoader loader;
+ private SolrClassLoader loader;
private final PackageAPI.PkgVersion version;
@@ -263,7 +264,12 @@ public class PackageLoader implements Closeable {
"PACKAGE_LOADER: " + parent.name() + ":" + version,
paths,
coreContainer.getResourceLoader().getInstancePath(),
- coreContainer.getResourceLoader().getClassLoader());
+ coreContainer.getResourceLoader().getClassLoader()){
+ @Override
+ protected void initSPI() {
+ //no op
+ }
+ };
} catch (MalformedURLException e) {
log.error("Could not load classloader ", e);
}
@@ -277,7 +283,7 @@ public class PackageLoader implements Closeable {
return Collections.unmodifiableList(version.files);
}
- public SolrResourceLoader getLoader() {
+ public SolrClassLoader getLoader() {
return loader;
}
diff --git a/solr/core/src/java/org/apache/solr/schema/CurrencyFieldType.java b/solr/core/src/java/org/apache/solr/schema/CurrencyFieldType.java
index 0511830..c0f82ee 100644
--- a/solr/core/src/java/org/apache/solr/schema/CurrencyFieldType.java
+++ b/solr/core/src/java/org/apache/solr/schema/CurrencyFieldType.java
@@ -121,7 +121,7 @@ public class CurrencyFieldType extends FieldType implements SchemaAware, Resourc
}
try {
Class<? extends ExchangeRateProvider> c
- = schema.getPluginLoader().findClass(exchangeRateProviderClass, ExchangeRateProvider.class);
+ = schema.getSolrClassLoader().findClass(exchangeRateProviderClass, ExchangeRateProvider.class);
provider = c.getConstructor().newInstance();
provider.init(args);
} catch (Exception e) {
diff --git a/solr/core/src/java/org/apache/solr/schema/FieldTypePluginLoader.java b/solr/core/src/java/org/apache/solr/schema/FieldTypePluginLoader.java
index 89c6ff2..af72660 100644
--- a/solr/core/src/java/org/apache/solr/schema/FieldTypePluginLoader.java
+++ b/solr/core/src/java/org/apache/solr/schema/FieldTypePluginLoader.java
@@ -34,7 +34,7 @@ import org.apache.lucene.analysis.util.TokenizerFactory;
import org.apache.lucene.util.Version;
import org.apache.solr.analysis.TokenizerChain;
import org.apache.solr.common.SolrException;
-import org.apache.solr.core.PluginLoader;
+import org.apache.solr.core.SolrClassLoader;
import org.apache.solr.core.SolrConfig;
import org.apache.solr.util.DOMUtil;
import org.apache.solr.util.plugin.AbstractPluginLoader;
@@ -78,7 +78,7 @@ public final class FieldTypePluginLoader
@Override
- protected FieldType create( PluginLoader loader,
+ protected FieldType create( SolrClassLoader loader,
String name,
String className,
Node node ) throws Exception {
@@ -191,7 +191,7 @@ public final class FieldTypePluginLoader
//
private Analyzer readAnalyzer(Node node) throws XPathExpressionException {
- final PluginLoader loader = schema.getPluginLoader();
+ final SolrClassLoader loader = schema.getSolrClassLoader();
// parent node used to be passed in as "fieldtype"
// if (!fieldtype.hasChildNodes()) return null;
@@ -256,7 +256,7 @@ public final class FieldTypePluginLoader
("[schema.xml] analyzer/charFilter", CharFilterFactory.class, false, false) {
@Override
- protected CharFilterFactory create(PluginLoader loader, String name, String className, Node node) throws Exception {
+ protected CharFilterFactory create(SolrClassLoader loader, String name, String className, Node node) throws Exception {
final Map<String,String> params = DOMUtil.toMap(node.getAttributes());
String configuredVersion = params.remove(LUCENE_MATCH_VERSION_PARAM);
params.put(LUCENE_MATCH_VERSION_PARAM, parseConfiguredVersion(configuredVersion, CharFilterFactory.class.getSimpleName()).toString());
@@ -306,7 +306,7 @@ public final class FieldTypePluginLoader
("[schema.xml] analyzer/tokenizer", TokenizerFactory.class, false, false) {
@Override
- protected TokenizerFactory create(PluginLoader loader, String name, String className, Node node) throws Exception {
+ protected TokenizerFactory create(SolrClassLoader loader, String name, String className, Node node) throws Exception {
final Map<String,String> params = DOMUtil.toMap(node.getAttributes());
String configuredVersion = params.remove(LUCENE_MATCH_VERSION_PARAM);
params.put(LUCENE_MATCH_VERSION_PARAM, parseConfiguredVersion(configuredVersion, TokenizerFactory.class.getSimpleName()).toString());
@@ -360,7 +360,7 @@ public final class FieldTypePluginLoader
new AbstractPluginLoader<TokenFilterFactory>("[schema.xml] analyzer/filter", TokenFilterFactory.class, false, false)
{
@Override
- protected TokenFilterFactory create(PluginLoader loader, String name, String className, Node node) throws Exception {
+ protected TokenFilterFactory create(SolrClassLoader loader, String name, String className, Node node) throws Exception {
final Map<String,String> params = DOMUtil.toMap(node.getAttributes());
String configuredVersion = params.remove(LUCENE_MATCH_VERSION_PARAM);
params.put(LUCENE_MATCH_VERSION_PARAM, parseConfiguredVersion(configuredVersion, TokenFilterFactory.class.getSimpleName()).toString());
diff --git a/solr/core/src/java/org/apache/solr/schema/IndexSchema.java b/solr/core/src/java/org/apache/solr/schema/IndexSchema.java
index 09f6341..ab8d49b 100644
--- a/solr/core/src/java/org/apache/solr/schema/IndexSchema.java
+++ b/solr/core/src/java/org/apache/solr/schema/IndexSchema.java
@@ -63,7 +63,7 @@ import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.Pair;
import org.apache.solr.common.util.SimpleOrderedMap;
import org.apache.solr.core.PluginInfo;
-import org.apache.solr.core.PluginLoader;
+import org.apache.solr.core.SolrClassLoader;
import org.apache.solr.core.SolrCore;
import org.apache.solr.core.SolrResourceLoader;
import org.apache.solr.core.XmlConfigFile;
@@ -144,11 +144,11 @@ public class IndexSchema implements Closeable {
*/
protected final SolrResourceLoader loader;
- /**Classes for all plugins should be loaded using this.
+ /** Classes for all plugins should be loaded using this.
* If resources need to be loaded from packages, use the classloader of one of the classes
* loaded from this package
*/
- protected final PluginLoader pluginLoader;
+ protected final SolrClassLoader classLoader;
protected Map<String,SchemaField> fields = new HashMap<>();
protected Map<String,FieldType> fieldTypes = new HashMap<>();
@@ -200,21 +200,20 @@ public class IndexSchema implements Closeable {
}
}
- public PluginLoader getPluginLoader(){
- return pluginLoader;
+ public SolrClassLoader getSolrClassLoader(){
+ return classLoader;
}
protected IndexSchema(Version luceneVersion, SolrResourceLoader loader) {
this.luceneVersion = Objects.requireNonNull(luceneVersion);
this.loader = loader;
if(loader.getCore() == null) {
- this.pluginLoader = loader;
+ this.classLoader = loader;
} else {
- PackageAwarePluginLoader papl = new PackageAwarePluginLoader(loader.getCore());
- this.pluginLoader = papl;
+ this.classLoader = new PackageAwarePluginLoader(loader.getCore());
}
}
- public class PackageAwarePluginLoader implements PluginLoader, Closeable {
+ public class PackageAwarePluginLoader implements SolrClassLoader {
final SolrCore core;
private final List<PackageListeners.Listener> listeners = new ArrayList<>();
Runnable reloadSchemaRunnable = () -> getCore().refreshSchema();
@@ -234,7 +233,7 @@ public class IndexSchema implements Closeable {
(pkgloader, name) -> pkgloader.newInstance(name, expectedType, subpackages));
}
- private <T> T loadWithRightPackageLoader(String cname, Class expectedType, BiFunction<SolrResourceLoader, String, T> fun) {
+ private <T> T loadWithRightPackageLoader(String cname, Class expectedType, BiFunction<SolrClassLoader, String, T> fun) {
PluginInfo.ClassName className = new PluginInfo.ClassName(cname);
if (className.pkg == null) {
return fun.apply(loader, className.klas);
@@ -280,7 +279,7 @@ public class IndexSchema implements Closeable {
@Override
public <T> Class<? extends T> findClass(String cname, Class<T> expectedType) {
- return loadWithRightPackageLoader(cname, expectedType, (BiFunction<SolrResourceLoader, String ,Class<? extends T>>) (loader, name) -> loader.findClass(name, expectedType));
+ return loadWithRightPackageLoader(cname, expectedType, (BiFunction<SolrClassLoader, String ,Class<? extends T>>) (loader, name) -> loader.findClass(name, expectedType));
}
@Override
@@ -599,7 +598,7 @@ public class IndexSchema implements Closeable {
final FieldTypePluginLoader typeLoader = new FieldTypePluginLoader(this, fieldTypes, schemaAware);
expression = getFieldTypeXPathExpressions();
NodeList nodes = (NodeList) xpath.evaluate(expression, document, XPathConstants.NODESET);
- typeLoader.load(pluginLoader, nodes);
+ typeLoader.load(classLoader, nodes);
// load the fields
Map<String,Boolean> explicitRequiredProp = loadFields(document, xpath);
@@ -610,7 +609,7 @@ public class IndexSchema implements Closeable {
if (similarityFactory == null) {
final Class<?> simClass = SchemaSimilarityFactory.class;
// use the loader to ensure proper SolrCoreAware handling
- similarityFactory = pluginLoader.newInstance(simClass.getName(), SimilarityFactory.class);
+ similarityFactory = classLoader.newInstance(simClass.getName(), SimilarityFactory.class);
similarityFactory.init(new ModifiableSolrParams());
} else {
isExplicitSimilarity = true;
@@ -1084,7 +1083,7 @@ public class IndexSchema implements Closeable {
dynamicCopyFields = temp;
}
- static SimilarityFactory readSimilarity(PluginLoader loader, Node node) {
+ static SimilarityFactory readSimilarity(SolrClassLoader loader, Node node) {
if (node==null) {
return null;
} else {
@@ -2096,8 +2095,8 @@ public class IndexSchema implements Closeable {
@Override
public void close() throws IOException {
- if (pluginLoader instanceof PackageAwarePluginLoader) {
- ((PackageAwarePluginLoader) pluginLoader).close();
+ if (classLoader instanceof PackageAwarePluginLoader) {
+ ((PackageAwarePluginLoader) classLoader).close();
}
}
}
diff --git a/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchema.java b/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchema.java
index d65ece9..3256ff2 100644
--- a/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchema.java
+++ b/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchema.java
@@ -1272,7 +1272,7 @@ public final class ManagedIndexSchema extends IndexSchema {
Map<String,FieldType> newFieldTypes = new HashMap<>();
List<SchemaAware> schemaAwareList = new ArrayList<>();
FieldTypePluginLoader typeLoader = new FieldTypePluginLoader(this, newFieldTypes, schemaAwareList);
- typeLoader.loadSingle(pluginLoader, FieldTypeXmlAdapter.toNode(options));
+ typeLoader.loadSingle(classLoader, FieldTypeXmlAdapter.toNode(options));
FieldType ft = newFieldTypes.get(typeName);
if (!schemaAwareList.isEmpty())
schemaAware.addAll(schemaAwareList);
diff --git a/solr/core/src/java/org/apache/solr/schema/PreAnalyzedField.java b/solr/core/src/java/org/apache/solr/schema/PreAnalyzedField.java
index 9a5683f..e9979306 100644
--- a/solr/core/src/java/org/apache/solr/schema/PreAnalyzedField.java
+++ b/solr/core/src/java/org/apache/solr/schema/PreAnalyzedField.java
@@ -80,7 +80,7 @@ public class PreAnalyzedField extends TextField implements HasImplicitIndexAnaly
parser = new SimplePreAnalyzedParser();
} else {
try {
- Class<? extends PreAnalyzedParser> implClazz = schema.getPluginLoader().findClass(implName, PreAnalyzedParser.class);
+ Class<? extends PreAnalyzedParser> implClazz = schema.getSolrClassLoader().findClass(implName, PreAnalyzedParser.class);
Constructor<?> c = implClazz.getConstructor(new Class<?>[0]);
parser = (PreAnalyzedParser) c.newInstance(new Object[0]);
} catch (Exception e) {
diff --git a/solr/core/src/java/org/apache/solr/util/plugin/AbstractPluginLoader.java b/solr/core/src/java/org/apache/solr/util/plugin/AbstractPluginLoader.java
index 5be8ab4..a1081b4 100644
--- a/solr/core/src/java/org/apache/solr/util/plugin/AbstractPluginLoader.java
+++ b/solr/core/src/java/org/apache/solr/util/plugin/AbstractPluginLoader.java
@@ -23,7 +23,7 @@ import java.util.Objects;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrException.ErrorCode;
-import org.apache.solr.core.PluginLoader;
+import org.apache.solr.core.SolrClassLoader;
import org.apache.solr.util.DOMUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -86,7 +86,7 @@ public abstract class AbstractPluginLoader<T>
* @param node - the XML node defining this plugin
*/
@SuppressWarnings("unchecked")
- protected T create(PluginLoader loader, String name, String className, Node node ) throws Exception
+ protected T create(SolrClassLoader loader, String name, String className, Node node ) throws Exception
{
return loader.newInstance(className, pluginClassType, getDefaultPackages());
}
@@ -135,7 +135,7 @@ public abstract class AbstractPluginLoader<T>
* If a default element is defined, it will be returned from this function.
*
*/
- public T load(PluginLoader loader, NodeList nodes )
+ public T load(SolrClassLoader loader, NodeList nodes )
{
List<PluginInitInfo> info = new ArrayList<>();
T defaultPlugin = null;
@@ -223,7 +223,7 @@ public abstract class AbstractPluginLoader<T>
* The created class for the plugin will be returned from this function.
*
*/
- public T loadSingle(PluginLoader loader, Node node) {
+ public T loadSingle(SolrClassLoader loader, Node node) {
List<PluginInitInfo> info = new ArrayList<>();
T plugin = null;