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