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 2008/07/19 20:56:31 UTC
svn commit: r678204 - in /lucene/solr/trunk/client/java/solrj:
src/org/apache/solr/client/solrj/beans/DocumentObjectBinder.java
test/org/apache/solr/client/solrj/beans/TestDocumentObjectBinder.java
Author: ryan
Date: Sat Jul 19 11:56:30 2008
New Revision: 678204
URL: http://svn.apache.org/viewvc?rev=678204&view=rev
Log:
SOLR-536 -- fixing array of size 1 error.
Modified:
lucene/solr/trunk/client/java/solrj/src/org/apache/solr/client/solrj/beans/DocumentObjectBinder.java
lucene/solr/trunk/client/java/solrj/test/org/apache/solr/client/solrj/beans/TestDocumentObjectBinder.java
Modified: lucene/solr/trunk/client/java/solrj/src/org/apache/solr/client/solrj/beans/DocumentObjectBinder.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/java/solrj/src/org/apache/solr/client/solrj/beans/DocumentObjectBinder.java?rev=678204&r1=678203&r2=678204&view=diff
==============================================================================
--- lucene/solr/trunk/client/java/solrj/src/org/apache/solr/client/solrj/beans/DocumentObjectBinder.java (original)
+++ lucene/solr/trunk/client/java/solrj/src/org/apache/solr/client/solrj/beans/DocumentObjectBinder.java Sat Jul 19 11:56:30 2008
@@ -196,7 +196,9 @@
List collection = (List) val;
set(obj, collection.toArray((Object[]) Array.newInstance(type,collection.size())));
} else {
- set(obj, new Object[]{val});
+ Object[] arr = (Object[]) Array.newInstance(type, 1);
+ arr[0] = val;
+ set(obj, arr);
}
} else if (isList) {
if (val instanceof List) {
Modified: lucene/solr/trunk/client/java/solrj/test/org/apache/solr/client/solrj/beans/TestDocumentObjectBinder.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/java/solrj/test/org/apache/solr/client/solrj/beans/TestDocumentObjectBinder.java?rev=678204&r1=678203&r2=678204&view=diff
==============================================================================
--- lucene/solr/trunk/client/java/solrj/test/org/apache/solr/client/solrj/beans/TestDocumentObjectBinder.java (original)
+++ lucene/solr/trunk/client/java/solrj/test/org/apache/solr/client/solrj/beans/TestDocumentObjectBinder.java Sat Jul 19 11:56:30 2008
@@ -26,6 +26,7 @@
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.SolrInputField;
+import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.util.NamedList;
import org.junit.Assert;
@@ -46,7 +47,7 @@
List<Item> l = binder.getBeans(Item.class,res.getResults());
Assert.assertEquals(solDocList.size(), l.size());
Assert.assertEquals(solDocList.get(0).getFieldValue("features"), l.get(0).features);
-
+
Item item = new Item();
item.id = "aaa";
item.categories = new String[] { "aaa", "bbb", "ccc" };
@@ -68,6 +69,16 @@
// ok -- this should happen...
}
}
+ public void testSingleVal4Array(){
+ DocumentObjectBinder binder = new DocumentObjectBinder();
+ SolrDocumentList solDocList = new SolrDocumentList();
+ SolrDocument d = new SolrDocument();
+ solDocList.add(d);
+ d.setField("cat","hello");
+ List<Item> l = binder.getBeans(Item.class,solDocList);
+ Assert.assertEquals("hello", l.get(0).categories[0]);
+
+ }
public void testToAndFromSolrDocument()
{