Sure.
let's change the location one we identify the right place.
I hope we don't need to block 4.7 for this
On 22 Feb 2014 14:32, "Uwe Schindler" <u...@thetaphi.de> wrote:

> Hi,
>
> your commit is likely to fail when we start to restructure directory
> layouts. Tests should (whenever possible) always use the classpath to find
> the files in test-files (which is part of the classpath).
> Attached is a patch with the "recommended way". I suggest to fix this.
> ExternalPaths.SOURCE_HOME is unused in Solr test, the constant is just a
> relict and only used internally on setup of test infrastructure. Real tests
> should not use it.
>
> There are more usages of this constant in test with "absolute" paths
> (including "contrib/foobar/src/test-files" to the contrib modules, I will
> open issue to fix those.
>
> Uwe
>
> -----
> Uwe Schindler
> H.-H.-Meier-Allee 63, D-28213 Bremen
> http://www.thetaphi.de
> eMail: u...@thetaphi.de
>
>
> > -----Original Message-----
> > From: no...@apache.org [mailto:no...@apache.org]
> > Sent: Saturday, February 22, 2014 7:19 AM
> > To: comm...@lucene.apache.org
> > Subject: svn commit: r1570793 - in /lucene/dev/trunk/solr/solrj/src:
> > java/org/apache/solr/client/solrj/request/JavaBinUpdateRequestCodec.java
> > test-files/solrj/updateReq_4_5.bin
> > test/org/apache/solr/client/solrj/request/TestUpdateRequestCodec.java
> >
> > Author: noble
> > Date: Sat Feb 22 06:19:16 2014
> > New Revision: 1570793
> >
> > URL: http://svn.apache.org/r1570793
> > Log:
> > SOLR-5762 broke backward compatibility of Javabin format
> >
> > Added:
> >     lucene/dev/trunk/solr/solrj/src/test-files/solrj/updateReq_4_5.bin
> (with
> > props)
> > Modified:
> >
> >
> lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/Ja
> > vaBinUpdateRequestCodec.java
> >
> >
> lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/request/T
> > estUpdateRequestCodec.java
> >
> > Modified:
> >
> lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/Ja
> > vaBinUpdateRequestCodec.java
> > URL:
> >
> http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apa
> > che/solr/client/solrj/request/JavaBinUpdateRequestCodec.java?rev=157079
> > 3&r1=1570792&r2=1570793&view=diff
> > ==========================================================
> > ====================
> > ---
> >
> lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/Ja
> > vaBinUpdateRequestCodec.java (original)
> > +++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/re
> > +++ quest/JavaBinUpdateRequestCodec.java Sat Feb 22 06:19:16 2014
> > @@ -184,7 +184,13 @@ public class JavaBinUpdateRequestCodec {
> >      delByIdMap = (Map<String,Map<String,Object>>)
> > namedList[0].get("delByIdMap");
> >      delByQ = (List<String>) namedList[0].get("delByQ");
> >      doclist = (List) namedList[0].get("docs");
> > -    docMap =  (List<Entry<SolrInputDocument,Map<Object,Object>>>)
> > namedList[0].get("docsMap");
> > +    Object docsMapObj = namedList[0].get("docsMap");
> > +
> > +    if (docsMapObj instanceof Map) {//SOLR-5762
> > +      docMap =  new ArrayList(((Map)docsMapObj).entrySet());
> > +    } else {
> > +      docMap = (List<Entry<SolrInputDocument, Map<Object, Object>>>)
> > docsMapObj;
> > +    }
> >
> >
> >      // we don't add any docs, because they were already processed
> >
> > Added: lucene/dev/trunk/solr/solrj/src/test-files/solrj/updateReq_4_5.bin
> > URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/test-
> > files/solrj/updateReq_4_5.bin?rev=1570793&view=auto
> > ==========================================================
> > ====================
> > Binary file - no diff available.
> >
> > Modified:
> >
> lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/request/T
> > estUpdateRequestCodec.java
> > URL:
> >
> http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/test/org/apa
> > che/solr/client/solrj/request/TestUpdateRequestCodec.java?rev=1570793&r
> > 1=1570792&r2=1570793&view=diff
> > ==========================================================
> > ====================
> > ---
> >
> lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/request/T
> > estUpdateRequestCodec.java (original)
> > +++ lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/re
> > +++ quest/TestUpdateRequestCodec.java Sat Feb 22 06:19:16 2014
> > @@ -18,6 +18,9 @@ package org.apache.solr.client.solrj.req
> >
> >  import java.io.ByteArrayInputStream;
> >  import java.io.ByteArrayOutputStream;
> > +import java.io.File;
> > +import java.io.FileInputStream;
> > +import java.io.FileOutputStream;
> >  import java.io.IOException;
> >  import java.util.ArrayList;
> >  import java.util.Collection;
> > @@ -31,6 +34,7 @@ import junit.framework.Assert;  import
> > org.apache.lucene.util.LuceneTestCase;
> >  import org.apache.solr.common.SolrInputDocument;
> >  import org.apache.solr.common.SolrInputField;
> > +import org.apache.solr.util.ExternalPaths;
> >  import org.junit.Test;
> >
> >  /**
> > @@ -160,6 +164,75 @@ public class TestUpdateRequestCodec exte
> >
> >
> >
> > +  public void testBackCompat4_5() throws IOException {
> > +
> > +    UpdateRequest updateRequest = new UpdateRequest();
> > +    updateRequest.deleteById("*:*");
> > +    updateRequest.deleteById("id:5");
> > +    updateRequest.deleteByQuery("2*");
> > +    updateRequest.deleteByQuery("1*");
> > +    updateRequest.setParam("a", "b");
> > +    SolrInputDocument doc = new SolrInputDocument();
> > +    doc.addField("id", 1);
> > +    doc.addField("desc", "one", 2.0f);
> > +    doc.addField("desc", "1");
> > +    updateRequest.add(doc);
> > +
> > +    doc = new SolrInputDocument();
> > +    doc.addField("id", 2);
> > +    doc.setDocumentBoost(10.0f);
> > +    doc.addField("desc", "two", 3.0f);
> > +    doc.addField("desc", "2");
> > +    updateRequest.add(doc);
> > +
> > +    doc = new SolrInputDocument();
> > +    doc.addField("id", 3);
> > +    doc.addField("desc", "three", 3.0f);
> > +    doc.addField("desc", "3");
> > +    updateRequest.add(doc);
> > +
> > +    doc = new SolrInputDocument();
> > +    Collection<String> foobar = new HashSet<String>();
> > +    foobar.add("baz1");
> > +    foobar.add("baz2");
> > +    doc.addField("foobar",foobar);
> > +    updateRequest.add(doc);
> > +
> > +    updateRequest.deleteById("2");
> > +    updateRequest.deleteByQuery("id:3");
> > +
> > +
> > +
> > +    FileInputStream is = new FileInputStream(new
> > File(ExternalPaths.SOURCE_HOME, "solrj/src/test-
> > files/solrj/updateReq_4_5.bin"));
> > +    UpdateRequest updateUnmarshalled = new
> > JavaBinUpdateRequestCodec().unmarshal(is, new
> > JavaBinUpdateRequestCodec.StreamingUpdateHandler() {
> > +      @Override
> > +      public void update(SolrInputDocument document, UpdateRequest req,
> > Integer commitWithin, Boolean override) {
> > +        if(commitWithin == null ){
> > +                    req.add(document);
> > +        }
> > +        System.err.println("Doc" + document + "
> > ,commitWithin:"+commitWithin+ " , override:"+ override);
> > +      }
> > +    });
> > +
> > +    System.err.println(updateUnmarshalled.getDocumentsMap());
> > +    System.err.println(updateUnmarshalled.getDocuments());
> > +
> > +    for (int i = 0; i < updateRequest.getDocuments().size(); i++) {
> > +      SolrInputDocument inDoc = updateRequest.getDocuments().get(i);
> > +      SolrInputDocument outDoc =
> > updateUnmarshalled.getDocuments().get(i);
> > +      compareDocs("doc#"+i, inDoc, outDoc);
> > +    }
> > +    Assert.assertEquals(updateUnmarshalled.getDeleteById().get(0) ,
> > +        updateRequest.getDeleteById().get(0));
> > +    Assert.assertEquals(updateUnmarshalled.getDeleteQuery().get(0) ,
> > +        updateRequest.getDeleteQuery().get(0));
> > +
> > +    assertEquals("b", updateUnmarshalled.getParams().get("a"));
> > +    is.close();
> > +  }
> > +
> > +
> > +
> >    private void compareDocs(String m,
> >                             SolrInputDocument expectedDoc,
> >                             SolrInputDocument actualDoc) {
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>

Reply via email to