You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by eh...@apache.org on 2013/07/10 19:27:09 UTC

svn commit: r1501863 - in /lucene/dev/trunk/solr: CHANGES.txt core/src/java/org/apache/solr/core/SolrCore.java core/src/java/org/apache/solr/core/SolrInfoMBean.java core/src/java/org/apache/solr/search/QParserPlugin.java webapp/web/css/styles/plugins.css

Author: ehatcher
Date: Wed Jul 10 17:27:08 2013
New Revision: 1501863

URL: http://svn.apache.org/r1501863
Log:
SOLR-4991: Register QParserPlugins as SolrInfoMBeans

Modified:
    lucene/dev/trunk/solr/CHANGES.txt
    lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/SolrCore.java
    lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/SolrInfoMBean.java
    lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/QParserPlugin.java
    lucene/dev/trunk/solr/webapp/web/css/styles/plugins.css

Modified: lucene/dev/trunk/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?rev=1501863&r1=1501862&r2=1501863&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Wed Jul 10 17:27:08 2013
@@ -177,6 +177,8 @@ New Features
 
 * SOLR-5010: Add support for creating copy fields to the Schema REST API (gsingers)
 
+* SOLR-4991: Register QParserPlugins as SolrInfoMBeans (ehatcher)
+
 Bug Fixes
 ----------------------
 

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/SolrCore.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/SolrCore.java?rev=1501863&r1=1501862&r2=1501863&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/SolrCore.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/SolrCore.java Wed Jul 10 17:27:08 2013
@@ -2091,6 +2091,7 @@ public final class SolrCore implements S
          QParserPlugin plugin = clazz.newInstance();
          qParserPlugins.put(name, plugin);
          plugin.init(null);
+         infoRegistry.put(name, plugin);
        }
      } catch (Exception e) {
        throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, e);

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/SolrInfoMBean.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/SolrInfoMBean.java?rev=1501863&r1=1501862&r2=1501863&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/SolrInfoMBean.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/SolrInfoMBean.java Wed Jul 10 17:27:08 2013
@@ -30,7 +30,7 @@ import org.apache.solr.common.util.Named
  */
 public interface SolrInfoMBean {
 
-  public enum Category { CORE, QUERYHANDLER, UPDATEHANDLER, CACHE, HIGHLIGHTING, OTHER };
+  public enum Category { CORE, QUERYHANDLER, UPDATEHANDLER, CACHE, HIGHLIGHTING, QUERYPARSER, OTHER };
 
   /**
    * Simple common usage name, e.g. BasicQueryHandler,

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/QParserPlugin.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/QParserPlugin.java?rev=1501863&r1=1501862&r2=1501863&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/QParserPlugin.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/QParserPlugin.java Wed Jul 10 17:27:08 2013
@@ -17,10 +17,14 @@
 package org.apache.solr.search;
 
 import org.apache.solr.common.params.SolrParams;
+import org.apache.solr.common.util.NamedList;
+import org.apache.solr.core.SolrInfoMBean;
 import org.apache.solr.request.SolrQueryRequest;
 import org.apache.solr.util.plugin.NamedListInitializedPlugin;
 
-public abstract class QParserPlugin implements NamedListInitializedPlugin {
+import java.net.URL;
+
+public abstract class QParserPlugin implements NamedListInitializedPlugin, SolrInfoMBean {
   /** internal use - name of the default parser */
   public static String DEFAULT_QTYPE = LuceneQParserPlugin.NAME;
 
@@ -48,6 +52,43 @@ public abstract class QParserPlugin impl
 
   /** return a {@link QParser} */
   public abstract QParser createParser(String qstr, SolrParams localParams, SolrParams params, SolrQueryRequest req);
+
+  @Override
+  public String getName() {
+    // TODO: ideally use the NAME property that each qparser plugin has
+
+    return this.getClass().getName();
+  }
+
+  @Override
+  public String getVersion() {
+    return null;
+  }
+
+  @Override
+  public String getDescription() {
+    return "";  // UI required non-null to work
+  }
+
+  @Override
+  public Category getCategory() {
+    return Category.QUERYPARSER;
+  }
+
+  @Override
+  public String getSource() {
+    return "$URL$";
+  }
+
+  @Override
+  public URL[] getDocs() {
+    return new URL[0];
+  }
+
+  @Override
+  public NamedList getStatistics() {
+    return null;
+  }
 }
 
 

Modified: lucene/dev/trunk/solr/webapp/web/css/styles/plugins.css
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/webapp/web/css/styles/plugins.css?rev=1501863&r1=1501862&r2=1501863&view=diff
==============================================================================
--- lucene/dev/trunk/solr/webapp/web/css/styles/plugins.css (original)
+++ lucene/dev/trunk/solr/webapp/web/css/styles/plugins.css Wed Jul 10 17:27:08 2013
@@ -28,6 +28,7 @@ limitations under the License.
 #content #plugins #navigation .highlighting a { background-image: url( ../../img/ico/highlighter-text.png ); }
 #content #plugins #navigation .updatehandler a{ background-image: url( ../../img/ico/arrow-circle.png ); }
 #content #plugins #navigation .queryhandler a { background-image: url( ../../img/ico/magnifier.png ); }
+#content #plugins #navigation .queryparser a { background-image: url( ../../img/ico/asterisk.png ); }
 
 #content #plugins #navigation .PLUGINCHANGES { margin-top: 20px; }
 #content #plugins #navigation .PLUGINCHANGES a { background-image: url( ../../img/ico/eye.png ); }