mirror of https://github.com/apache/lucene.git
SOLR-1198 refactored to make class name also optional
git-svn-id: https://svn.apache.org/repos/asf/lucene/solr/trunk@811770 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
9fe0028cd0
commit
17e40ee174
|
@ -45,10 +45,10 @@ public class PluginInfo {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public PluginInfo(Node node, String err, boolean requireName) {
|
public PluginInfo(Node node, String err, boolean requireName, boolean requireClass) {
|
||||||
type = node.getNodeName();
|
type = node.getNodeName();
|
||||||
name = DOMUtil.getAttr(node, "name", requireName ? err : null);
|
name = DOMUtil.getAttr(node, "name", requireName ? err : null);
|
||||||
className = DOMUtil.getAttr(node, "class", err);
|
className = DOMUtil.getAttr(node, "class", requireClass ? err : null);
|
||||||
isDefault = Boolean.parseBoolean(DOMUtil.getAttr(node, "default", null));
|
isDefault = Boolean.parseBoolean(DOMUtil.getAttr(node, "default", null));
|
||||||
startup = DOMUtil.getAttr(node, "startup", null);
|
startup = DOMUtil.getAttr(node, "startup", null);
|
||||||
initArgs = DOMUtil.childNodesToNamedList(node);
|
initArgs = DOMUtil.childNodesToNamedList(node);
|
||||||
|
|
|
@ -190,8 +190,8 @@ public class SolrConfig extends Config {
|
||||||
|
|
||||||
protected void loadHighLightingPlugins() {
|
protected void loadHighLightingPlugins() {
|
||||||
highLghtingClass = get("highlighting/@class",null);
|
highLghtingClass = get("highlighting/@class",null);
|
||||||
highlightingFragmenterInfo = loadPluginInfo("highlighting/fragmenter",true);
|
highlightingFragmenterInfo = loadPluginInfo("highlighting/fragmenter",true,true);
|
||||||
highlightingFormatterInfo = loadPluginInfo("highlighting/formatter",true);
|
highlightingFormatterInfo = loadPluginInfo("highlighting/formatter",true, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected UpdateHandlerInfo loadUpdatehandlerInfo() {
|
protected UpdateHandlerInfo loadUpdatehandlerInfo() {
|
||||||
|
@ -202,17 +202,17 @@ public class SolrConfig extends Config {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void loadPluginInfo() {
|
protected void loadPluginInfo() {
|
||||||
reqHandlerInfo = loadPluginInfo("requestHandler",true);
|
reqHandlerInfo = loadPluginInfo("requestHandler",true, true);
|
||||||
respWriterInfo = loadPluginInfo("queryResponseWriter",true);
|
respWriterInfo = loadPluginInfo("queryResponseWriter",true, true);
|
||||||
valueSourceParserInfo = loadPluginInfo("valueSourceParser",true);
|
valueSourceParserInfo = loadPluginInfo("valueSourceParser",true, true);
|
||||||
queryParserInfo = loadPluginInfo("queryParser",true);
|
queryParserInfo = loadPluginInfo("queryParser",true, true);
|
||||||
searchComponentInfo = loadPluginInfo("searchComponent",true);
|
searchComponentInfo = loadPluginInfo("searchComponent",true, true);
|
||||||
queryConverterInfo = loadPluginInfo("queryConverter",true);
|
queryConverterInfo = loadPluginInfo("queryConverter",true, true);
|
||||||
directoryfactoryInfo = loadSinglePlugin("directoryFactory");
|
directoryfactoryInfo = loadSinglePlugin("directoryFactory");
|
||||||
deletionPolicyInfo = loadSinglePlugin("mainIndex/deletionPolicy");
|
deletionPolicyInfo = loadSinglePlugin("mainIndex/deletionPolicy");
|
||||||
indexReaderFactoryInfo = loadSinglePlugin("indexReaderFactory");
|
indexReaderFactoryInfo = loadSinglePlugin("indexReaderFactory");
|
||||||
firstSearcherListenerInfo = loadPluginInfo("//listener[@event='firstSearcher']",false);
|
firstSearcherListenerInfo = loadPluginInfo("//listener[@event='firstSearcher']",false, true);
|
||||||
newSearcherListenerInfo = loadPluginInfo("//listener[@event='newSearcher']",false);
|
newSearcherListenerInfo = loadPluginInfo("//listener[@event='newSearcher']",false, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Map<String, List<PluginInfo>> loadUpdateProcessorInfo() {
|
protected Map<String, List<PluginInfo>> loadUpdateProcessorInfo() {
|
||||||
|
@ -232,7 +232,7 @@ public class SolrConfig extends Config {
|
||||||
}
|
}
|
||||||
ArrayList<PluginInfo> result = new ArrayList<PluginInfo>();
|
ArrayList<PluginInfo> result = new ArrayList<PluginInfo>();
|
||||||
for (int j=0; j<nl.getLength(); j++) {
|
for (int j=0; j<nl.getLength(); j++) {
|
||||||
PluginInfo pluginInfo = new PluginInfo(nl.item(j), "[solrconfig.xml] processor", false);
|
PluginInfo pluginInfo = new PluginInfo(nl.item(j), "[solrconfig.xml] processor", false, true);
|
||||||
if(pluginInfo.isEnabled()) result.add(pluginInfo);
|
if(pluginInfo.isEnabled()) result.add(pluginInfo);
|
||||||
}
|
}
|
||||||
chains.put(name,result);
|
chains.put(name,result);
|
||||||
|
@ -248,15 +248,15 @@ public class SolrConfig extends Config {
|
||||||
Collections.unmodifiableMap(chains);
|
Collections.unmodifiableMap(chains);
|
||||||
}
|
}
|
||||||
private PluginInfo loadSinglePlugin(String tag) {
|
private PluginInfo loadSinglePlugin(String tag) {
|
||||||
List<PluginInfo> l = loadPluginInfo(tag, false);
|
List<PluginInfo> l = loadPluginInfo(tag, false, true);
|
||||||
return l.isEmpty() ? null : l.get(0);
|
return l.isEmpty() ? null : l.get(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<PluginInfo> loadPluginInfo(String tag, boolean requireName) {
|
private List<PluginInfo> loadPluginInfo(String tag, boolean requireName, boolean requireClass) {
|
||||||
ArrayList<PluginInfo> result = new ArrayList<PluginInfo>();
|
ArrayList<PluginInfo> result = new ArrayList<PluginInfo>();
|
||||||
NodeList nodes = (NodeList) evaluate(tag, XPathConstants.NODESET);
|
NodeList nodes = (NodeList) evaluate(tag, XPathConstants.NODESET);
|
||||||
for (int i=0; i<nodes.getLength(); i++) {
|
for (int i=0; i<nodes.getLength(); i++) {
|
||||||
PluginInfo pluginInfo = new PluginInfo(nodes.item(i), "[solrconfig.xml] " + tag, requireName);
|
PluginInfo pluginInfo = new PluginInfo(nodes.item(i), "[solrconfig.xml] " + tag, requireName, requireClass);
|
||||||
if(pluginInfo.isEnabled()) result.add(pluginInfo);
|
if(pluginInfo.isEnabled()) result.add(pluginInfo);
|
||||||
}
|
}
|
||||||
return result.isEmpty() ?
|
return result.isEmpty() ?
|
||||||
|
@ -300,7 +300,8 @@ public class SolrConfig extends Config {
|
||||||
protected PluginInfo deletionPolicyInfo;
|
protected PluginInfo deletionPolicyInfo;
|
||||||
protected PluginInfo indexReaderFactoryInfo;
|
protected PluginInfo indexReaderFactoryInfo;
|
||||||
protected List<PluginInfo> newSearcherListenerInfo;
|
protected List<PluginInfo> newSearcherListenerInfo;
|
||||||
private List<PluginInfo> queryConverterInfo;
|
protected List<PluginInfo> queryConverterInfo;
|
||||||
|
|
||||||
protected PluginInfo directoryfactoryInfo;
|
protected PluginInfo directoryfactoryInfo;
|
||||||
protected Map<String ,List<PluginInfo>> updateProcessorChainInfo ;
|
protected Map<String ,List<PluginInfo>> updateProcessorChainInfo ;
|
||||||
protected UpdateHandlerInfo updateHandlerInfo ;
|
protected UpdateHandlerInfo updateHandlerInfo ;
|
||||||
|
|
Loading…
Reference in New Issue