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 ry...@apache.org on 2007/12/29 19:07:19 UTC

svn commit: r607453 - /lucene/solr/trunk/src/java/org/apache/solr/common/params/ModifiableSolrParams.java

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));
     }
   }