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/10/10 08:13:55 UTC

svn commit: r823798 - in /lucene/solr/trunk/contrib/dataimporthandler/src: main/java/org/apache/solr/handler/dataimport/RegexTransformer.java test/java/org/apache/solr/handler/dataimport/TestRegexTransformer.java

Author: noble
Date: Sat Oct 10 06:13:55 2009
New Revision: 823798

URL: http://svn.apache.org/viewvc?rev=823798&view=rev
Log:
SOLR-1498 RegexTransformer: sourceColName version not handling multiValued fields correctly

Modified:
    lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/RegexTransformer.java
    lucene/solr/trunk/contrib/dataimporthandler/src/test/java/org/apache/solr/handler/dataimport/TestRegexTransformer.java

Modified: lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/RegexTransformer.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/RegexTransformer.java?rev=823798&r1=823797&r2=823798&view=diff
==============================================================================
--- lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/RegexTransformer.java (original)
+++ lucene/solr/trunk/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/RegexTransformer.java Sat Oct 10 06:13:55 2009
@@ -100,7 +100,7 @@
               }
             }
           }
-          for (Object result : results) row.put(col, result);
+          row.put(col, results);
           if(otherVars != null) row.putAll(otherVars);
         } else {
           String value = tmpVal.toString();

Modified: lucene/solr/trunk/contrib/dataimporthandler/src/test/java/org/apache/solr/handler/dataimport/TestRegexTransformer.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/contrib/dataimporthandler/src/test/java/org/apache/solr/handler/dataimport/TestRegexTransformer.java?rev=823798&r1=823797&r2=823798&view=diff
==============================================================================
--- lucene/solr/trunk/contrib/dataimporthandler/src/test/java/org/apache/solr/handler/dataimport/TestRegexTransformer.java (original)
+++ lucene/solr/trunk/contrib/dataimporthandler/src/test/java/org/apache/solr/handler/dataimport/TestRegexTransformer.java Sat Oct 10 06:13:55 2009
@@ -20,6 +20,8 @@
 import static org.apache.solr.handler.dataimport.RegexTransformer.GROUP_NAMES;
 import static org.apache.solr.handler.dataimport.RegexTransformer.REPLACE_WITH;
 import static org.apache.solr.handler.dataimport.DataImporter.COLUMN;
+import static org.apache.solr.handler.dataimport.AbstractDataImportHandlerTest.createMap;
+import static org.apache.solr.handler.dataimport.AbstractDataImportHandlerTest.getContext;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -149,6 +151,24 @@
     Assert.assertEquals("Fuel Economy range: 26 mpg Hwy, 19 mpg City", result.get("t3"));
   }
 
+  @Test
+  public void testMultiValuedRegex(){
+      List<Map<String, String>> fields = new ArrayList<Map<String, String>>();
+//    <field column="participant" sourceColName="person" regex="(.*)" />
+    Map<String, String> fld = getField("participant", null, "(.*)", "person", null);
+    fields.add(fld);
+    Context context = getContext(null, null,
+            null, Context.FULL_DUMP, fields, null);
+
+    ArrayList<String> strings = new ArrayList<String>();
+    strings.add("hello");
+    strings.add("world");
+    Map<String, Object> result = new RegexTransformer().transformRow(createMap("person", strings), context);
+    Assert.assertEquals(strings,result.get("participant"));
+
+
+  }
+
   public static List<Map<String, String>> getFields() {
     List<Map<String, String>> fields = new ArrayList<Map<String, String>>();