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:38:08 UTC

svn commit: r1501871 - in /lucene/dev/branches/branch_4x/solr: ./ core/ core/src/java/org/apache/solr/core/ core/src/java/org/apache/solr/search/ core/src/test/org/apache/solr/core/

Author: ehatcher
Date: Wed Jul 10 17:38:08 2013
New Revision: 1501871

URL: http://svn.apache.org/r1501871
Log:
SOLR-4991: Register QParserPlugins as SolrInfoMBeans (merged from r1501863)

Modified:
    lucene/dev/branches/branch_4x/solr/CHANGES.txt   (contents, props changed)
    lucene/dev/branches/branch_4x/solr/core/   (props changed)
    lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/core/SolrCore.java
    lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/core/SolrInfoMBean.java
    lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/search/QParserPlugin.java
    lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/core/TestConfig.java   (props changed)

Modified: lucene/dev/branches/branch_4x/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/CHANGES.txt?rev=1501871&r1=1501870&r2=1501871&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/CHANGES.txt (original)
+++ lucene/dev/branches/branch_4x/solr/CHANGES.txt Wed Jul 10 17:38:08 2013
@@ -149,6 +149,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/branches/branch_4x/solr/core/src/java/org/apache/solr/core/SolrCore.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/core/SolrCore.java?rev=1501871&r1=1501870&r2=1501871&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/core/SolrCore.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/core/SolrCore.java Wed Jul 10 17:38: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/branches/branch_4x/solr/core/src/java/org/apache/solr/core/SolrInfoMBean.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/core/SolrInfoMBean.java?rev=1501871&r1=1501870&r2=1501871&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/core/SolrInfoMBean.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/core/SolrInfoMBean.java Wed Jul 10 17:38: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/branches/branch_4x/solr/core/src/java/org/apache/solr/search/QParserPlugin.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/search/QParserPlugin.java?rev=1501871&r1=1501870&r2=1501871&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/search/QParserPlugin.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/search/QParserPlugin.java Wed Jul 10 17:38: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;
+  }
 }