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 2016/06/09 06:17:30 UTC

[1/3] lucene-solr:master: SOLR-7123: echo shows wrong output, and added a test for multi level nesting

Repository: lucene-solr
Updated Branches:
  refs/heads/master ed2621de8 -> 98f7ab513


SOLR-7123: echo shows wrong output, and added a test for multi level nesting


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/fdf2bbbd
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/fdf2bbbd
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/fdf2bbbd

Branch: refs/heads/master
Commit: fdf2bbbdb166c9514efe8afd5e143ccb924d2d88
Parents: be01109
Author: Noble Paul <no...@apache.org>
Authored: Thu Jun 9 11:34:06 2016 +0530
Committer: Noble Paul <no...@apache.org>
Committed: Thu Jun 9 11:34:06 2016 +0530

----------------------------------------------------------------------
 .../apache/solr/handler/loader/JsonLoader.java  | 12 +++---
 .../org/apache/solr/handler/JsonLoaderTest.java | 43 ++++++++++++++++++++
 2 files changed, 50 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/fdf2bbbd/solr/core/src/java/org/apache/solr/handler/loader/JsonLoader.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/loader/JsonLoader.java b/solr/core/src/java/org/apache/solr/handler/loader/JsonLoader.java
index 2c5b6ac..318f8e6 100644
--- a/solr/core/src/java/org/apache/solr/handler/loader/JsonLoader.java
+++ b/solr/core/src/java/org/apache/solr/handler/loader/JsonLoader.java
@@ -221,10 +221,7 @@ public class JsonLoader extends ContentStreamLoader {
               docs = new ArrayList();
               rsp.add("docs", docs);
             }
-            if (copy.containsKey(null)) {
-              copy.put(CHILD_DOC_KEY, copy.get(null));
-              copy.remove(null);
-            }
+            changeChildDoc(copy);
             docs.add(copy);
           } else {
             AddUpdateCommand cmd = new AddUpdateCommand(req);
@@ -251,7 +248,7 @@ public class JsonLoader extends ContentStreamLoader {
               if (o instanceof Map) result.addChildDocument(buildDoc((Map) o));
             }
           } else if (e.getValue() instanceof Map) {
-            result.addChildDocument(buildDoc((Map) e));
+            result.addChildDocument(buildDoc((Map) e.getValue()));
           }
         } else {
           result.setField(e.getKey(), e.getValue());
@@ -659,4 +656,9 @@ public class JsonLoader extends ContentStreamLoader {
     }
   }
 
+  private static Map changeChildDoc(Map m) {
+    if (m.containsKey(null)) m.put(CHILD_DOC_KEY, changeChildDoc((Map) m.remove(null)));
+    return m;
+  }
+
 }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/fdf2bbbd/solr/core/src/test/org/apache/solr/handler/JsonLoaderTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/handler/JsonLoaderTest.java b/solr/core/src/test/org/apache/solr/handler/JsonLoaderTest.java
index 7e4d28a..65f2d3e 100644
--- a/solr/core/src/test/org/apache/solr/handler/JsonLoaderTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/JsonLoaderTest.java
@@ -388,6 +388,49 @@ public class JsonLoaderTest extends SolrTestCaseJ4 {
     assertEquals(d.getFieldValue("c"), "c2");
     assertEquals(d.getFieldValue("e"), "e2");
     assertEquals(d.getFieldValue("d.p"), "q");
+
+    json = "{\n" +
+        "  \"id\": \"1\",\n" +
+        "  \"name\": \"i am the parent\",\n" +
+        "  \"cat\": \"parent\",\n" +
+        "  \"children\": [\n" +
+        "    {\n" +
+        "      \"id\": \"1.1\",\n" +
+        "      \"name\": \"i am the 1st child\",\n" +
+        "      \"cat\": \"child\"\n" +
+        "    },\n" +
+        "    {\n" +
+        "      \"id\": \"1.2\",\n" +
+        "      \"name\": \"i am the 2nd child\",\n" +
+        "      \"cat\": \"child\",\n" +
+        "      \"grandchildren\": [\n" +
+        "        {\n" +
+        "          \"id\": \"1.2.1\",\n" +
+        "          \"name\": \"i am the grandchild\",\n" +
+        "          \"cat\": \"grandchild\"\n" +
+        "        }\n" +
+        "      ]\n" +
+        "    }\n" +
+        "  ]\n" +
+        "}";
+    req = req(
+        "split", "/|/children|/children/grandchildren",
+        "f","$FQN:/**",
+        "f", "id:/children/id",
+        "f", "/name",
+        "f", "/children/name",
+        "f", "cat:/children/cat",
+        "f", "id:/children/grandchildren/id",
+        "f", "name:/children/grandchildren/name",
+        "f", "cat:/children/grandchildren/cat");
+    req.getContext().put("path", "/update/json/docs");
+    rsp = new SolrQueryResponse();
+    p = new BufferingRequestProcessor(null);
+    loader = new JsonLoader();
+    loader.load(req, rsp, new ContentStreamBase.StringStream(json), p);
+    assertEquals(2, p.addCommands.get(0).solrDoc.getChildDocuments().size());
+    assertEquals(1, p.addCommands.get(0).solrDoc.getChildDocuments().get(1).getChildDocuments().size());
+
   }
 
 


[2/3] lucene-solr:master: SOLR-7123: echo shows wrong output, and added a test for multi level nesting

Posted by no...@apache.org.
SOLR-7123: echo shows wrong output, and added a test for multi level nesting


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/84c6e9a4
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/84c6e9a4
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/84c6e9a4

Branch: refs/heads/master
Commit: 84c6e9a477272e71f48b9a8ef040431a0e3f0621
Parents: fdf2bbb
Author: Noble Paul <no...@apache.org>
Authored: Thu Jun 9 11:47:04 2016 +0530
Committer: Noble Paul <no...@apache.org>
Committed: Thu Jun 9 11:47:04 2016 +0530

----------------------------------------------------------------------
 .../org/apache/solr/handler/loader/JsonLoader.java    | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/84c6e9a4/solr/core/src/java/org/apache/solr/handler/loader/JsonLoader.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/handler/loader/JsonLoader.java b/solr/core/src/java/org/apache/solr/handler/loader/JsonLoader.java
index 318f8e6..ab7771a 100644
--- a/solr/core/src/java/org/apache/solr/handler/loader/JsonLoader.java
+++ b/solr/core/src/java/org/apache/solr/handler/loader/JsonLoader.java
@@ -28,6 +28,8 @@ import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 import java.util.UUID;
+import java.util.stream.Collector;
+import java.util.stream.Collectors;
 
 import org.apache.commons.io.IOUtils;
 import org.apache.solr.common.SolrException;
@@ -55,6 +57,7 @@ import org.noggit.ObjectBuilder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import static java.util.stream.Collectors.toList;
 import static org.apache.solr.common.params.CommonParams.JSON;
 import static org.apache.solr.common.params.CommonParams.PATH;
 
@@ -656,8 +659,15 @@ public class JsonLoader extends ContentStreamLoader {
     }
   }
 
-  private static Map changeChildDoc(Map m) {
-    if (m.containsKey(null)) m.put(CHILD_DOC_KEY, changeChildDoc((Map) m.remove(null)));
+  private static Object changeChildDoc(Object o) {
+    if (o instanceof List) {
+      return ((List) o)
+          .stream()
+          .map(JsonLoader::changeChildDoc)
+          .collect(toList());
+    }
+    Map m = (Map) o;
+    if (m.containsKey(null)) m.put(CHILD_DOC_KEY, changeChildDoc(m.remove(null)));
     return m;
   }
 


[3/3] lucene-solr:master: Merge remote-tracking branch 'origin/master'

Posted by no...@apache.org.
Merge remote-tracking branch 'origin/master'


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/98f7ab51
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/98f7ab51
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/98f7ab51

Branch: refs/heads/master
Commit: 98f7ab5137e056bedb924ed88d88505ad8b0f15e
Parents: 84c6e9a ed2621d
Author: Noble Paul <no...@apache.org>
Authored: Thu Jun 9 11:47:23 2016 +0530
Committer: Noble Paul <no...@apache.org>
Committed: Thu Jun 9 11:47:23 2016 +0530

----------------------------------------------------------------------
 lucene/CHANGES.txt                              |  89 ++++-----
 solr/CHANGES.txt                                | 179 ++++++++++---------
 .../org/apache/solr/cloud/DistributedQueue.java |  95 ++++++----
 .../solr/cloud/OverseerTaskProcessor.java       |   6 +-
 .../apache/solr/cloud/OverseerTaskQueue.java    |  48 ++---
 .../apache/solr/cloud/DistributedQueueTest.java |  44 ++++-
 6 files changed, 267 insertions(+), 194 deletions(-)
----------------------------------------------------------------------