From 4114447c8f0c06012c7f60703165172aef83a294 Mon Sep 17 00:00:00 2001 From: Noble Paul Date: Mon, 31 Aug 2009 09:16:41 +0000 Subject: [PATCH] SOLR-1385 Add an 'enable' attribute to all plugins git-svn-id: https://svn.apache.org/repos/asf/lucene/solr/trunk@809512 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES.txt | 4 +- src/java/org/apache/solr/core/PluginInfo.java | 5 ++ src/java/org/apache/solr/core/SolrConfig.java | 9 +- .../org/apache/solr/TestPluginEnable.java | 33 ++++++++ .../solr/conf/solrconfig-enableplugin.xml | 84 +++++++++++++++++++ 5 files changed, 131 insertions(+), 4 deletions(-) create mode 100644 src/test/org/apache/solr/TestPluginEnable.java create mode 100644 src/test/test-files/solr/conf/solrconfig-enableplugin.xml diff --git a/CHANGES.txt b/CHANGES.txt index 50b2951c6f0..5b4162bb186 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -288,7 +288,9 @@ New Features 73. SOLR-1156: Sort TermsComponent results by frequency (Matt Weber via yonik) -74. SOLR-1384 : load core properties from a properties file (noble) +74. SOLR-1335 : load core properties from a properties file (noble) + +75. SOLR-1385 : Add an 'enable' attribute to all plugins (noble) Optimizations ---------------------- diff --git a/src/java/org/apache/solr/core/PluginInfo.java b/src/java/org/apache/solr/core/PluginInfo.java index ed96139adc8..68a5fd7551c 100644 --- a/src/java/org/apache/solr/core/PluginInfo.java +++ b/src/java/org/apache/solr/core/PluginInfo.java @@ -74,4 +74,9 @@ public class PluginInfo { return sb.toString(); } + public boolean isEnabled(){ + String enable = attributes.get("enable"); + return enable == null || Boolean.parseBoolean(enable); + } + } diff --git a/src/java/org/apache/solr/core/SolrConfig.java b/src/java/org/apache/solr/core/SolrConfig.java index beedf4797dc..24a1d9e9e49 100644 --- a/src/java/org/apache/solr/core/SolrConfig.java +++ b/src/java/org/apache/solr/core/SolrConfig.java @@ -231,7 +231,8 @@ public class SolrConfig extends Config { } ArrayList result = new ArrayList(); for (int j=0; j result = new ArrayList(); NodeList nodes = (NodeList) evaluate(tag, XPathConstants.NODESET); for (int i=0; iemptyList() : diff --git a/src/test/org/apache/solr/TestPluginEnable.java b/src/test/org/apache/solr/TestPluginEnable.java new file mode 100644 index 00000000000..3a514725735 --- /dev/null +++ b/src/test/org/apache/solr/TestPluginEnable.java @@ -0,0 +1,33 @@ +package org.apache.solr; + +import org.apache.solr.client.solrj.SolrServerException; +import org.apache.solr.util.AbstractSolrTestCase; + +/** + *

Test disabling components

+ * @version $Id:$ + * @since solr 1.4 + */ +public class TestPluginEnable extends AbstractSolrTestCase { + + + public void testSimple() throws SolrServerException { + assertNull( h.getCore().getRequestHandler("disabled")); + assertNotNull( h.getCore().getRequestHandler("enabled")); + + } + + + + + @Override + public String getSchemaFile() { + return "schema-replication1.xml"; + } + + @Override + public String getSolrConfigFile() { + return "solrconfig-enableplugin.xml"; + } + +} diff --git a/src/test/test-files/solr/conf/solrconfig-enableplugin.xml b/src/test/test-files/solr/conf/solrconfig-enableplugin.xml new file mode 100644 index 00000000000..419d999c89b --- /dev/null +++ b/src/test/test-files/solr/conf/solrconfig-enableplugin.xml @@ -0,0 +1,84 @@ + + + + + + + + + ${solr.data.dir:./solr/data} + + + false + 10 + 32 + 2147483647 + 10000 + 1000 + 10000 + + 1000 + 10000 + + single + + + + false + 10 + 32 + 2147483647 + 10000 + + true + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + max-age=30, public + + + +