Author: ryan
Date: Sat Dec 29 10:07:17 2007
New Revision: 607453

URL: http://svn.apache.org/viewvc?rev=607453&view=rev
Log:
Let ModifiableSolrParams add existing SolrParms -- this is used in SOLR-142 and 
SOLR-303

Modified:
    
lucene/solr/trunk/src/java/org/apache/solr/common/params/ModifiableSolrParams.java

Modified: 
lucene/solr/trunk/src/java/org/apache/solr/common/params/ModifiableSolrParams.java
URL: 
http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/common/params/ModifiableSolrParams.java?rev=607453&r1=607452&r2=607453&view=diff
==============================================================================
--- 
lucene/solr/trunk/src/java/org/apache/solr/common/params/ModifiableSolrParams.java
 (original)
+++ 
lucene/solr/trunk/src/java/org/apache/solr/common/params/ModifiableSolrParams.java
 Sat Dec 29 10:07:17 2007
@@ -41,12 +41,22 @@
     // LinkedHashMap so params show up in CGI in the same order as they are 
entered
     vals = new LinkedHashMap<String, String[]>();
   }
-  
+
+  /** Constructs a new ModifiableSolrParams directly using the provided 
Map<String,String[]> */
   public ModifiableSolrParams( Map<String,String[]> v )
   {
     vals = v;
   }
 
+  /** Constructs a new ModifiableSolrParams, copying values from an existing 
SolrParams */
+  public ModifiableSolrParams(SolrParams params)
+  {
+    vals = new LinkedHashMap<String, String[]>();
+    if( params != null ) {
+      this.add( params );
+    }
+  }
+
   //----------------------------------------------------------------
   //----------------------------------------------------------------
 
@@ -94,6 +104,15 @@
         }
         vals.put( name, both );
       }
+    }
+  }
+
+  public void add(SolrParams params)
+  {
+    Iterator<String> names = params.getParameterNamesIterator();
+    while (names.hasNext()) {
+      String name = names.next();
+      set(name, params.getParams(name));
     }
   }
   


Reply via email to