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