You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by no...@apache.org on 2009/08/24 10:36:27 UTC

svn commit: r807120 - in /lucene/solr/trunk/src/java/org/apache/solr: core/PluginInfo.java core/RequestHandlers.java core/SolrConfig.java core/SolrCore.java highlight/DefaultSolrHighlighter.java

Author: noble
Date: Mon Aug 24 08:36:26 2009
New Revision: 807120

URL: http://svn.apache.org/viewvc?rev=807120&view=rev
Log:
SOLR-1198 moved PluginInfo out of solrconfig

Added:
    lucene/solr/trunk/src/java/org/apache/solr/core/PluginInfo.java
Modified:
    lucene/solr/trunk/src/java/org/apache/solr/core/RequestHandlers.java
    lucene/solr/trunk/src/java/org/apache/solr/core/SolrConfig.java
    lucene/solr/trunk/src/java/org/apache/solr/core/SolrCore.java
    lucene/solr/trunk/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java

Added: lucene/solr/trunk/src/java/org/apache/solr/core/PluginInfo.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/core/PluginInfo.java?rev=807120&view=auto
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/core/PluginInfo.java (added)
+++ lucene/solr/trunk/src/java/org/apache/solr/core/PluginInfo.java Mon Aug 24 08:36:26 2009
@@ -0,0 +1,77 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.solr.core;
+
+import org.apache.solr.common.util.NamedList;
+import org.apache.solr.common.util.DOMUtil;
+import org.w3c.dom.Node;
+import org.w3c.dom.NamedNodeMap;
+
+import java.util.*;
+
+/**
+ * An Object which represents a Plugin of any type 
+ * @version $Id$
+ */
+public class PluginInfo {
+  public final String startup, name, className, type;
+  public final boolean isDefault;
+  public final NamedList initArgs;
+  public final Map<String, String> attributes;
+
+  public PluginInfo(String type, String startup, String name, String className,
+                    boolean isdefault, NamedList initArgs, Map<String, String> otherAttrs) {
+    this.type = type;
+    this.startup = startup;
+    this.name = name;
+    this.className = className;
+    this.isDefault = isdefault;
+    this.initArgs = initArgs;
+    attributes = otherAttrs == null ? Collections.<String, String>emptyMap() : otherAttrs;
+  }
+
+
+  public PluginInfo(Node node, String err, boolean requireName) {
+    type = node.getNodeName();
+    name = DOMUtil.getAttr(node, "name", requireName ? err : null);
+    className = DOMUtil.getAttr(node, "class", err);
+    isDefault = Boolean.parseBoolean(DOMUtil.getAttr(node, "default", null));
+    startup = DOMUtil.getAttr(node, "startup", null);
+    initArgs = DOMUtil.childNodesToNamedList(node);
+    Map<String, String> m = new HashMap<String, String>();
+    NamedNodeMap nnm = node.getAttributes();
+    for (int i = 0; i < nnm.getLength(); i++) {
+      String name = nnm.item(i).getNodeName();
+      m.put(name, nnm.item(i).getNodeValue());
+    }
+    attributes = Collections.unmodifiableMap(m);
+
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("{");
+    if (name != null) sb.append("name = " + name + ",");
+    if (className != null) sb.append("class = " + className + ",");
+    if (isDefault) sb.append("default = " + isDefault + ",");
+    if (startup != null) sb.append("startup = " + startup + ",");
+    if (initArgs.size() > 0) sb.append("args = " + initArgs);
+    sb.append("}");
+    return sb.toString();
+  }
+
+}

Modified: lucene/solr/trunk/src/java/org/apache/solr/core/RequestHandlers.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/core/RequestHandlers.java?rev=807120&r1=807119&r2=807120&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/core/RequestHandlers.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/core/RequestHandlers.java Mon Aug 24 08:36:26 2009
@@ -135,8 +135,8 @@
    */
 
   void initHandlersFromConfig(SolrConfig config ){
-    Map<SolrConfig.PluginInfo,SolrRequestHandler> handlers = new HashMap<SolrConfig.PluginInfo,SolrRequestHandler>();
-    for (SolrConfig.PluginInfo info : config.getReqHandlerInfo()) {
+    Map<PluginInfo,SolrRequestHandler> handlers = new HashMap<PluginInfo,SolrRequestHandler>();
+    for (PluginInfo info : config.getReqHandlerInfo()) {
       try {
         SolrRequestHandler requestHandler;
         if( info.startup != null ) {
@@ -166,7 +166,7 @@
           SolrException.logOnce(log,null,e);
       }
     }
-    for (Map.Entry<SolrConfig.PluginInfo,SolrRequestHandler> entry : handlers.entrySet()) {
+    for (Map.Entry<PluginInfo,SolrRequestHandler> entry : handlers.entrySet()) {
       entry.getValue().init(entry.getKey().initArgs);
     }
 

Modified: lucene/solr/trunk/src/java/org/apache/solr/core/SolrConfig.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/core/SolrConfig.java?rev=807120&r1=807119&r2=807120&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/core/SolrConfig.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/core/SolrConfig.java Mon Aug 24 08:36:26 2009
@@ -460,61 +460,6 @@
     } 
   }
 
-  public static class PluginInfo {
-    public final String startup, name, className;
-    public final boolean isDefault;
-    public final NamedList initArgs;
-    public final Map<String ,String> otherAttributes;
-
-    public PluginInfo(String startup, String name, String className,
-                      boolean isdefault, NamedList initArgs, Map<String ,String> otherAttrs) {
-      this.startup = startup;
-      this.name = name;
-      this.className = className;
-      this.isDefault = isdefault;
-      this.initArgs = initArgs;
-      otherAttributes = otherAttrs == null ? Collections.<String ,String >emptyMap(): otherAttrs;
-    }
-
-
-    public PluginInfo(Node node, String err, boolean requireName) {
-      name = DOMUtil.getAttr(node, "name", requireName ? err : null);
-      className = DOMUtil.getAttr(node, "class", err );
-      isDefault = Boolean.parseBoolean(DOMUtil.getAttr(node, "default", null));
-      startup = DOMUtil.getAttr(node, "startup",null);
-      initArgs = DOMUtil.childNodesToNamedList(node);
-      Map<String ,String> m = new HashMap<String, String>();
-      NamedNodeMap nnm = node.getAttributes();
-      for (int i = 0; i < nnm.getLength(); i++) {
-        String name= nnm.item(i).getNodeName();
-        if(knownAttrs.contains(name)) continue;
-        m.put(name, nnm.item(i).getNodeValue());
-      }
-      otherAttributes = m.isEmpty() ?
-              Collections.<String ,String >emptyMap():
-              Collections.unmodifiableMap(m);
-
-  }
-
-    @Override
-    public String toString() {
-      StringBuilder sb = new StringBuilder("{");
-      if(name != null) sb.append("name = "+name +",");
-      if(className != null) sb.append("class = "+className +",");
-      if(isDefault) sb.append("default = "+isDefault +",");
-      if(startup != null) sb.append("startup = "+startup +",");      
-      if(initArgs.size() >0) sb.append("args = "+initArgs);
-      sb.append("}");
-      return sb.toString();    
-    }
-    private static final Set<String> knownAttrs = new HashSet<String>();
-    static {
-      knownAttrs.add("name");
-      knownAttrs.add("class");
-      knownAttrs.add("startup");
-      knownAttrs.add("default");
-    }
-  }
 
   public List<PluginInfo> getReqHandlerInfo() { return reqHandlerInfo; }
 

Modified: lucene/solr/trunk/src/java/org/apache/solr/core/SolrCore.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/core/SolrCore.java?rev=807120&r1=807119&r2=807120&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/core/SolrCore.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/core/SolrCore.java Mon Aug 24 08:36:26 2009
@@ -248,7 +248,7 @@
   }
 
    private void initDeletionPolicy() {
-     SolrConfig.PluginInfo info = solrConfig.getDeletionPolicyInfo();
+     PluginInfo info = solrConfig.getDeletionPolicyInfo();
      IndexDeletionPolicy delPolicy = null;
      if(info != null){
        delPolicy = createInstance(info.className,IndexDeletionPolicy.class,"Deletion Policy for SOLR");
@@ -261,9 +261,9 @@
      solrDelPolicy = new IndexDeletionPolicyWrapper(delPolicy);
    }
 
-  private List<SolrEventListener> parseListener(List<SolrConfig.PluginInfo> path) {
+  private List<SolrEventListener> parseListener(List<PluginInfo> path) {
     List<SolrEventListener> lst = new ArrayList<SolrEventListener>();
-    for (SolrConfig.PluginInfo info : path) {
+    for (PluginInfo info : path) {
       SolrEventListener listener = createEventListener(info.className);
       listener.init(info.initArgs);
       lst.add(listener);
@@ -328,7 +328,7 @@
 
    private void initDirectoryFactory() {
     DirectoryFactory dirFactory;
-    SolrConfig.PluginInfo info = solrConfig.getDirectoryfactoryInfo();
+    PluginInfo info = solrConfig.getDirectoryfactoryInfo();
     if (info != null) {
       dirFactory = (DirectoryFactory) getResourceLoader().newInstance(info.className);
       dirFactory.init(info.initArgs);
@@ -341,7 +341,7 @@
 
   private void initIndexReaderFactory() {
     IndexReaderFactory indexReaderFactory;
-    SolrConfig.PluginInfo info = solrConfig.getIndexReaderFactoryInfo();
+    PluginInfo info = solrConfig.getIndexReaderFactoryInfo();
     if (info != null) {
       indexReaderFactory = (IndexReaderFactory) resourceLoader.newInstance(info.className);
       indexReaderFactory.init(info.initArgs);
@@ -590,19 +590,19 @@
    private Map<String,UpdateRequestProcessorChain> loadUpdateProcessorChains() {
     final Map<String, UpdateRequestProcessorChain> map = new HashMap<String, UpdateRequestProcessorChain>();
     UpdateRequestProcessorChain def = null;
-    Map<String, List<SolrConfig.PluginInfo>> infos = solrConfig.getUpdateProcessorChainInfo();
+    Map<String, List<PluginInfo>> infos = solrConfig.getUpdateProcessorChainInfo();
     if (!infos.isEmpty()) {
       boolean defaultProcessed = false;
-      List<SolrConfig.PluginInfo> defProcessorChainInfo = infos.get(null);// this is the default one
-      for (Map.Entry<String, List<SolrConfig.PluginInfo>> e : solrConfig.getUpdateProcessorChainInfo().entrySet()) {
-        List<SolrConfig.PluginInfo> processorsInfo = e.getValue();
+      List<PluginInfo> defProcessorChainInfo = infos.get(null);// this is the default one
+      for (Map.Entry<String, List<PluginInfo>> e : solrConfig.getUpdateProcessorChainInfo().entrySet()) {
+        List<PluginInfo> processorsInfo = e.getValue();
         if (processorsInfo == defProcessorChainInfo && defaultProcessed) {
           map.put(e.getKey(), def);
           continue;
         }
         UpdateRequestProcessorFactory[] chain = new UpdateRequestProcessorFactory[processorsInfo.size()];
         for (int i = 0; i < processorsInfo.size(); i++) {
-          SolrConfig.PluginInfo info = processorsInfo.get(i);
+          PluginInfo info = processorsInfo.get(i);
           chain[i] = createInstance(info.className, UpdateRequestProcessorFactory.class, null);
           chain[i].init(info.initArgs);
         }
@@ -1465,9 +1465,9 @@
     }
   }
 
-  public <T> T initPlugins(List<SolrConfig.PluginInfo> pluginInfos , Map<String ,T> registry, Class<T> type){
+  public <T> T initPlugins(List<PluginInfo> pluginInfos , Map<String ,T> registry, Class<T> type){
     T def = null;
-    for (SolrConfig.PluginInfo info : pluginInfos) {
+    for (PluginInfo info : pluginInfos) {
       T o = createInstance(info.className,type, type.getSimpleName());
       if (o instanceof NamedListInitializedPlugin) {
         ((NamedListInitializedPlugin) o).init(info.initArgs);

Modified: lucene/solr/trunk/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java?rev=807120&r1=807119&r2=807120&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java Mon Aug 24 08:36:26 2009
@@ -42,6 +42,7 @@
 import org.apache.solr.common.util.NamedList;
 import org.apache.solr.common.util.SimpleOrderedMap;
 import org.apache.solr.core.SolrConfig;
+import org.apache.solr.core.PluginInfo;
 import org.apache.solr.request.SolrQueryRequest;
 import org.apache.solr.schema.IndexSchema;
 import org.apache.solr.schema.SchemaField;
@@ -63,7 +64,7 @@
     // Load the fragmenters
     ResourceLoader loader= config.getResourceLoader();
     SolrFragmenter frag = null;
-    for (SolrConfig.PluginInfo info : config.getHighlightingFragmenterInfo()) {
+    for (PluginInfo info : config.getHighlightingFragmenterInfo()) {
       SolrFragmenter fragmenter = (SolrFragmenter) loader.newInstance(info.className);
       fragmenter.init(info.initArgs);
       if(info.isDefault) frag = fragmenter;
@@ -77,7 +78,7 @@
     fragmenters.put( null, frag );
     // Load the formatters
     SolrFormatter fmt = null;
-    for (SolrConfig.PluginInfo info : config.getHighlightingFormatterInfo()) {
+    for (PluginInfo info : config.getHighlightingFormatterInfo()) {
       SolrFormatter formatter = (SolrFormatter) loader.newInstance(info.className);
       formatter.init(info.initArgs);
       formatters.put(info.name, formatter);