You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by no...@apache.org on 2019/09/02 03:47:54 UTC
[lucene-solr] 01/01: initial commit
This is an automated email from the ASF dual-hosted git repository.
noble pushed a commit to branch jira/SOLR-13731
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git
commit 185894b029a550bcbdf5f643c27c4eda07260d9c
Author: noble <no...@apache.org>
AuthorDate: Mon Sep 2 13:47:28 2019 +1000
initial commit
---
.../solrj/request/JavaBinUpdateRequestCodec.java | 65 +++++++++--
.../solr/common/ConditionalKeyMapWriter.java | 88 ++++++++++++++
.../org/apache/solr/common/SolrInputDocument.java | 5 +
.../apache/solr/common/params/CommonParams.java | 4 +-
.../org/apache/solr/common/util/JavaBinCodec.java | 6 +-
.../org/apache/solr/common/util/NamedList.java | 6 +
.../solrj/request/TestUpdateRequestCodec.java | 129 +++++++++++++--------
7 files changed, 239 insertions(+), 64 deletions(-)
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/JavaBinUpdateRequestCodec.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/JavaBinUpdateRequestCodec.java
index 05d955e..961cbe0 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/JavaBinUpdateRequestCodec.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/JavaBinUpdateRequestCodec.java
@@ -40,13 +40,13 @@ import org.apache.solr.common.util.NamedList;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import static org.apache.solr.common.params.CommonParams.CHILDDOC;
import static org.apache.solr.common.util.ByteArrayUtf8CharSequence.convertCharSeq;
/**
* Provides methods for marshalling an UpdateRequest to a NamedList which can be serialized in the javabin format and
* vice versa.
*
- *
* @see org.apache.solr.common.util.JavaBinCodec
* @since solr 1.4
*/
@@ -67,7 +67,6 @@ public class JavaBinUpdateRequestCodec {
*
* @param updateRequest the UpdateRequest to be written out
* @param os the OutputStream to which the request is to be written
- *
* @throws IOException in case of an exception during marshalling or writing to the stream
*/
public void marshal(UpdateRequest updateRequest, OutputStream os) throws IOException {
@@ -78,11 +77,11 @@ public class JavaBinUpdateRequestCodec {
}
Iterator<SolrInputDocument> docIter = null;
- if(updateRequest.getDocIterator() != null){
+ if (updateRequest.getDocIterator() != null) {
docIter = updateRequest.getDocIterator();
}
-
- Map<SolrInputDocument,Map<String,Object>> docMap = updateRequest.getDocumentsMap();
+
+ Map<SolrInputDocument, Map<String, Object>> docMap = updateRequest.getDocumentsMap();
nl.add("params", params);// 0: params
if (updateRequest.getDeleteByIdMap() != null) {
@@ -125,7 +124,7 @@ public class JavaBinUpdateRequestCodec {
try (JavaBinCodec codec = new StreamingCodec(namedList, updateRequest, handler)) {
codec.unmarshal(is);
}
-
+
// NOTE: if the update request contains only delete commands the params
// must be loaded now
if(updateRequest.getParams()==null) {
@@ -145,11 +144,11 @@ public class JavaBinUpdateRequestCodec {
} else {
docMap = (List<Entry<SolrInputDocument, Map<Object, Object>>>) docsMapObj;
}
-
+
// we don't add any docs, because they were already processed
// deletes are handled later, and must be passed back on the UpdateRequest
-
+
if (delById != null) {
for (String s : delById) {
updateRequest.deleteById(s);
@@ -167,7 +166,7 @@ public class JavaBinUpdateRequestCodec {
} else {
updateRequest.deleteById(entry.getKey());
}
-
+
}
}
if (delByQ != null) {
@@ -175,7 +174,7 @@ public class JavaBinUpdateRequestCodec {
updateRequest.deleteByQuery(s);
}
}
-
+
return updateRequest;
}
@@ -219,8 +218,17 @@ public class JavaBinUpdateRequestCodec {
}
@Override
+ public Object unmarshal(InputStream is) throws IOException {
+ try {
+ return super.unmarshal(is);
+ } finally {
+ if (namedList[0] == null) namedList[0] = new NamedList();
+ }
+ }
+
+ @Override
protected SolrInputDocument createSolrInputDocument(int sz) {
- return new MaskCharSequenceSolrInputDoc(new LinkedHashMap(sz));
+ return new MaskCharSequenceSolrInputDoc(sz == -1 ? new LinkedHashMap<>() : new LinkedHashMap(sz));
}
@Override
@@ -282,7 +290,12 @@ public class JavaBinUpdateRequestCodec {
private List readOuterMostDocIterator(DataInputInputStream fis) throws IOException {
- NamedList params = (NamedList) namedList[0].get("params");
+ NamedList namedList = this.namedList[0];
+ NamedList params = null;
+ if(namedList != null) {
+ params = (NamedList) namedList.get("params");
+ }
+ if(params == null) params = new NamedList();
updateRequest.setParams(new ModifiableSolrParams(params.toSolrParams()));
if (handler == null) return super.readIterator(fis);
Integer commitWithin = null;
@@ -313,6 +326,8 @@ public class JavaBinUpdateRequestCodec {
commitWithin = (Integer) p.get(UpdateRequest.COMMIT_WITHIN);
overwrite = (Boolean) p.get(UpdateRequest.OVERWRITE);
}
+ } else if (o instanceof Map) {
+ sdoc = convertMapToSolrInputDoc((Map) o);
} else {
sdoc = (SolrInputDocument) o;
}
@@ -333,5 +348,31 @@ public class JavaBinUpdateRequestCodec {
}
}
+ @Override
+ protected Map newMap(int size) {
+ return new NamedList<>().asShallowMap(true);
+ }
+
+ private SolrInputDocument convertMapToSolrInputDoc(Map m) {
+ SolrInputDocument result = createSolrInputDocument(m.size());
+ m.forEach((k, v) -> {
+ if(CHILDDOC.equals(k.toString())){
+ if (v instanceof List) {
+ List list = (List) v;
+ for (Object o : list) {
+ if (o instanceof Map) {
+ result.addChildDocument(convertMapToSolrInputDoc((Map) o));
+ }
+ }
+ } else if(v instanceof Map){
+ result.addChildDocument(convertMapToSolrInputDoc((Map) v));
+ }
+ } else {
+ result.addField(k.toString(), v);
+ }
+ });
+ return result;
+ }
+
}
}
diff --git a/solr/solrj/src/java/org/apache/solr/common/ConditionalKeyMapWriter.java b/solr/solrj/src/java/org/apache/solr/common/ConditionalKeyMapWriter.java
new file mode 100644
index 0000000..fa6c1c9
--- /dev/null
+++ b/solr/solrj/src/java/org/apache/solr/common/ConditionalKeyMapWriter.java
@@ -0,0 +1,88 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.solr.common;
+
+import java.io.IOException;
+import java.util.Set;
+import java.util.function.Predicate;
+
+public class ConditionalKeyMapWriter implements MapWriter {
+ private final MapWriter delegate;
+ private final Predicate<CharSequence> predicate;
+
+ public ConditionalKeyMapWriter(MapWriter delegate, Predicate<CharSequence> predicate) {
+ this.delegate = delegate;
+ this.predicate = predicate;
+ }
+
+ public static class EntryWriterWrapper implements EntryWriter {
+ private final EntryWriter delegate;
+ private final Predicate<CharSequence> predicate;
+
+ public EntryWriterWrapper(EntryWriter delegate, Predicate<CharSequence> predicate) {
+ this.delegate = delegate;
+ this.predicate = predicate;
+ }
+
+ @Override
+ public EntryWriter put(CharSequence k, Object v) throws IOException {
+ if (predicate.test(k)) delegate.put(k, v);
+ return this;
+ }
+
+ @Override
+ public EntryWriter put(CharSequence k, int v) throws IOException {
+ if (predicate.test(k)) delegate.put(k, v);
+ return this;
+ }
+
+ @Override
+ public EntryWriter put(CharSequence k, long v) throws IOException {
+ if (predicate.test(k)) delegate.put(k, v);
+ return this;
+ }
+
+ @Override
+ public EntryWriter put(CharSequence k, float v) throws IOException {
+ if (predicate.test(k)) delegate.put(k, v);
+ return this;
+ }
+
+ @Override
+ public EntryWriter put(CharSequence k, double v) throws IOException {
+ if (predicate.test(k)) delegate.put(k, v);
+ return this;
+ }
+
+ @Override
+ public EntryWriter put(CharSequence k, boolean v) throws IOException {
+ if (predicate.test(k)) delegate.put(k, v);
+ return this;
+ }
+ }
+
+ @Override
+ public void writeMap(EntryWriter ew) throws IOException {
+ if (delegate != null) delegate.writeMap(new EntryWriterWrapper(ew, predicate));
+ }
+
+ public static Predicate<CharSequence> dedupeKeyPredicate(Set<CharSequence> keys) {
+ return (k) -> keys.add(k);
+ }
+
+}
diff --git a/solr/solrj/src/java/org/apache/solr/common/SolrInputDocument.java b/solr/solrj/src/java/org/apache/solr/common/SolrInputDocument.java
index 0c86817..d232c1b 100644
--- a/solr/solrj/src/java/org/apache/solr/common/SolrInputDocument.java
+++ b/solr/solrj/src/java/org/apache/solr/common/SolrInputDocument.java
@@ -26,6 +26,8 @@ import java.util.Map;
import java.util.Set;
import java.util.function.BiConsumer;
+import org.apache.solr.common.params.CommonParams;
+
/**
* Represent the field-value information needed to construct and index
* a Lucene Document. Like the SolrDocument, the field values should
@@ -57,6 +59,9 @@ public class SolrInputDocument extends SolrDocumentBase<SolrInputField, SolrInpu
bc.accept(k, o);
};
_fields.forEach(wrapper);
+ if(_childDocuments!= null){
+ ew.put(CommonParams.CHILDDOC , _childDocuments);
+ }
}
public SolrInputDocument(Map<String,SolrInputField> fields) {
diff --git a/solr/solrj/src/java/org/apache/solr/common/params/CommonParams.java b/solr/solrj/src/java/org/apache/solr/common/params/CommonParams.java
index d0c85a8..60b685f 100644
--- a/solr/solrj/src/java/org/apache/solr/common/params/CommonParams.java
+++ b/solr/solrj/src/java/org/apache/solr/common/params/CommonParams.java
@@ -231,7 +231,7 @@ public interface CommonParams {
}
return null;
}
- };
+ }
/** which parameters to log (if not supplied all parameters will be logged) **/
String LOG_PARAMS_LIST = "logParamsList";
@@ -295,5 +295,7 @@ public interface CommonParams {
String PACKAGE = "package";
+ String CHILDDOC = "_childDocuments_";
+
}
diff --git a/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java b/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java
index 7d6f2e4..261e42d 100644
--- a/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java
+++ b/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java
@@ -38,7 +38,7 @@ import java.util.concurrent.atomic.AtomicLong;
import java.util.function.BiConsumer;
import java.util.function.Function;
-import org.apache.solr.common.ConditionalMapWriter;
+import org.apache.solr.common.ConditionalKeyMapWriter;
import org.apache.solr.common.EnumFieldValue;
import org.apache.solr.common.IteratorWriter;
import org.apache.solr.common.IteratorWriter.ItemWriter;
@@ -531,7 +531,7 @@ public class JavaBinCodec implements PushWriter {
//use this to ignore the writable interface because , child docs will ignore the fl flag
// is it a good design?
private boolean ignoreWritable =false;
- private ConditionalMapWriter.EntryWriterWrapper cew;
+ private MapWriter.EntryWriter cew;
public void writeSolrDocument(SolrDocument doc) throws IOException {
List<SolrDocument> children = doc.getChildDocuments();
@@ -546,7 +546,7 @@ public class JavaBinCodec implements PushWriter {
int sz = fieldsCount + (children==null ? 0 : children.size());
writeTag(SOLRDOC);
writeTag(ORDERED_MAP, sz);
- if (cew == null) cew = new ConditionalMapWriter.EntryWriterWrapper(ew, (k, o) -> toWrite(k.toString()));
+ if (cew == null) cew = new ConditionalKeyMapWriter.EntryWriterWrapper(ew, (k) -> toWrite(k.toString()));
doc.writeMap(cew);
if (children != null) {
try {
diff --git a/solr/solrj/src/java/org/apache/solr/common/util/NamedList.java b/solr/solrj/src/java/org/apache/solr/common/util/NamedList.java
index ec40f97..a853c43 100644
--- a/solr/solrj/src/java/org/apache/solr/common/util/NamedList.java
+++ b/solr/solrj/src/java/org/apache/solr/common/util/NamedList.java
@@ -417,6 +417,9 @@ public class NamedList<T> implements Cloneable, Serializable, Iterable<Map.Entry
}
public Map<String,T> asShallowMap() {
+ return asShallowMap(false);
+ }
+ public Map<String,T> asShallowMap(boolean allowDps) {
return new Map<String, T>() {
@Override
public int size() {
@@ -444,6 +447,9 @@ public class NamedList<T> implements Cloneable, Serializable, Iterable<Map.Entry
@Override
public T put(String key, T value) {
+ if(allowDps){
+ NamedList.this.add(key, value);
+ }
int idx = NamedList.this.indexOf(key, 0);
if (idx == -1) {
NamedList.this.add(key, value);
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestUpdateRequestCodec.java b/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestUpdateRequestCodec.java
index 71466d6..b44c1ef 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestUpdateRequestCodec.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestUpdateRequestCodec.java
@@ -18,28 +18,33 @@ package org.apache.solr.client.solrj.request;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
+import java.util.Map;
import java.util.Set;
import junit.framework.Assert;
-
import org.apache.solr.SolrTestCase;
+import org.apache.solr.common.IteratorWriter;
+import org.apache.solr.common.MapWriter;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.SolrInputField;
+import org.apache.solr.common.util.JavaBinCodec;
+import org.apache.solr.common.util.Utils;
import org.junit.Test;
+import static org.apache.solr.common.params.CommonParams.CHILDDOC;
+
/**
* Test for UpdateRequestCodec
*
- * @since solr 1.4
- *
* @see org.apache.solr.client.solrj.request.UpdateRequest
+ * @since solr 1.4
*/
public class TestUpdateRequestCodec extends SolrTestCase {
@@ -74,7 +79,7 @@ public class TestUpdateRequestCodec extends SolrTestCase {
Collection<String> foobar = new HashSet<>();
foobar.add("baz1");
foobar.add("baz2");
- doc.addField("foobar",foobar);
+ doc.addField("foobar", foobar);
updateRequest.add(doc);
// updateRequest.setWaitFlush(true);
@@ -84,15 +89,12 @@ public class TestUpdateRequestCodec extends SolrTestCase {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
codec.marshal(updateRequest, baos);
final List<SolrInputDocument> docs = new ArrayList<>();
- JavaBinUpdateRequestCodec.StreamingUpdateHandler handler = new JavaBinUpdateRequestCodec.StreamingUpdateHandler() {
- @Override
- public void update(SolrInputDocument document, UpdateRequest req, Integer commitWithin, Boolean overwrite) {
- Assert.assertNotNull(req.getParams());
- docs.add(document);
- }
+ JavaBinUpdateRequestCodec.StreamingUpdateHandler handler = (document, req, commitWithin, overwrite) -> {
+ Assert.assertNotNull(req.getParams());
+ docs.add(document);
};
- UpdateRequest updateUnmarshalled = codec.unmarshal(new ByteArrayInputStream(baos.toByteArray()) ,handler);
+ UpdateRequest updateUnmarshalled = codec.unmarshal(new ByteArrayInputStream(baos.toByteArray()), handler);
for (SolrInputDocument document : docs) {
updateUnmarshalled.add(document);
@@ -100,12 +102,12 @@ public class TestUpdateRequestCodec extends SolrTestCase {
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);
+ 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));
+ 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"));
}
@@ -125,10 +127,7 @@ public class TestUpdateRequestCodec extends SolrTestCase {
doc.addField("desc", "one");
// imagine someone adding a custom Bean that implements Iterable
// but is not a Collection
- doc.addField("iter", new Iterable<String>() {
- @Override
- public Iterator<String> iterator() { return values.iterator(); }
- });
+ doc.addField("iter", (Iterable<String>) values::iterator);
doc.addField("desc", "1");
updateRequest.add(doc);
@@ -136,16 +135,13 @@ public class TestUpdateRequestCodec extends SolrTestCase {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
codec.marshal(updateRequest, baos);
final List<SolrInputDocument> docs = new ArrayList<>();
- JavaBinUpdateRequestCodec.StreamingUpdateHandler handler = new JavaBinUpdateRequestCodec.StreamingUpdateHandler() {
- @Override
- public void update(SolrInputDocument document, UpdateRequest req, Integer commitWithin, Boolean overwrite) {
- Assert.assertNotNull(req.getParams());
- docs.add(document);
- }
+ JavaBinUpdateRequestCodec.StreamingUpdateHandler handler = (document, req, commitWithin, overwrite) -> {
+ Assert.assertNotNull(req.getParams());
+ docs.add(document);
};
- UpdateRequest updateUnmarshalled = codec.unmarshal(new ByteArrayInputStream(baos.toByteArray()) ,handler);
-
+ UpdateRequest updateUnmarshalled = codec.unmarshal(new ByteArrayInputStream(baos.toByteArray()), handler);
+
for (SolrInputDocument document : docs) {
updateUnmarshalled.add(document);
}
@@ -154,12 +150,54 @@ public class TestUpdateRequestCodec extends SolrTestCase {
SolrInputField iter = outDoc.getField("iter");
Assert.assertNotNull("iter field is null", iter);
Object iterVal = iter.getValue();
- Assert.assertTrue("iterVal is not a Collection",
- iterVal instanceof Collection);
+ Assert.assertTrue("iterVal is not a Collection",
+ iterVal instanceof Collection);
Assert.assertEquals("iterVal contents", values, iterVal);
}
+ public void testStreamableInputDocFormat() throws IOException {
+ Map m = Utils.makeMap("id","1","desc" ,"The desc 1");
+ m.put(CHILDDOC, (MapWriter) ew -> {
+ ew.put("id","1.1");
+ ew.put("desc" ,"The desc 1.1");
+ ew.put(CHILDDOC, (IteratorWriter) iw -> {
+ iw.add(Utils.makeMap("id", "1.1.1","desc","The desc 1.1.1"));
+ iw.add((MapWriter) ew1 -> {
+ ew1.put("id", "1.1.2");
+ ew1.put("desc", "The desc 1.1.2");
+ });
+ });
+ });
+ MapWriter m2 = ew -> {
+ ew.put("id", "2");
+ ew.put("des", "The desc 2");
+ };
+
+ List l = new ArrayList();
+ l.add(m);
+ l.add(m2);
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ new JavaBinCodec().marshal(l.iterator(), baos);
+
+ List<SolrInputDocument> l2 = new ArrayList();
+
+ new JavaBinUpdateRequestCodec().unmarshal(new ByteArrayInputStream(baos.toByteArray()), new JavaBinUpdateRequestCodec.StreamingUpdateHandler() {
+ @Override
+ public void update(SolrInputDocument document, UpdateRequest req, Integer commitWithin, Boolean override) {
+ l2.add(document);
+ }
+ });
+
+ assertEquals(l2.get(0).getChildDocuments().size(), 1);
+
+ Object o = Utils.fromJSONString(Utils.writeJson(l.get(0), new StringWriter(), true).toString());
+ Object cdoc = Utils.getObjectByPath(o, false, CHILDDOC);
+ assertEquals(Utils.writeJson(cdoc, new StringWriter(), true).toString(),
+ Utils.writeJson(l2.get(0).getChildDocuments().get(0) ,new StringWriter(), true).toString());
+
+ }
+
@Test
// commented out on: 24-Dec-2018 @BadApple(bugUrl="https://issues.apache.org/jira/browse/SOLR-12028") // added 20-Sep-2018
@@ -193,24 +231,20 @@ public class TestUpdateRequestCodec extends SolrTestCase {
Collection<String> foobar = new HashSet<>();
foobar.add("baz1");
foobar.add("baz2");
- doc.addField("foobar",foobar);
+ doc.addField("foobar", foobar);
updateRequest.add(doc);
updateRequest.deleteById("2");
updateRequest.deleteByQuery("id:3");
-
InputStream is = getClass().getResourceAsStream("/solrj/updateReq_4_5.bin");
assertNotNull("updateReq_4_5.bin was not found", is);
- 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);
+ UpdateRequest updateUnmarshalled = new JavaBinUpdateRequestCodec().unmarshal(is, (document, req, commitWithin, override) -> {
+ if (commitWithin == null) {
+ req.add(document);
}
+ System.err.println("Doc" + document + " ,commitWithin:" + commitWithin + " , override:" + override);
});
System.err.println(updateUnmarshalled.getDocumentsMap());
@@ -219,11 +253,11 @@ public class TestUpdateRequestCodec extends SolrTestCase {
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);
+ compareDocs("doc#" + i, inDoc, outDoc);
}
- Assert.assertEquals(updateUnmarshalled.getDeleteById().get(0) ,
+ Assert.assertEquals(updateUnmarshalled.getDeleteById().get(0),
updateRequest.getDeleteById().get(0));
- Assert.assertEquals(updateUnmarshalled.getDeleteQuery().get(0) ,
+ Assert.assertEquals(updateUnmarshalled.getDeleteQuery().get(0),
updateRequest.getDeleteQuery().get(0));
assertEquals("b", updateUnmarshalled.getParams().get("a"));
@@ -231,9 +265,8 @@ public class TestUpdateRequestCodec extends SolrTestCase {
}
-
- private void compareDocs(String m,
- SolrInputDocument expectedDoc,
+ private void compareDocs(String m,
+ SolrInputDocument expectedDoc,
SolrInputDocument actualDoc) {
for (String s : expectedDoc.getFieldNames()) {
@@ -252,7 +285,7 @@ public class TestUpdateRequestCodec extends SolrTestCase {
}
Assert.assertEquals(m + " diff values for field: " + s,
- expectedVal, actualVal);
+ expectedVal, actualVal);
}
}