diff --git a/core/src/test/java/org/elasticsearch/common/xcontent/support/filtering/AbstractFilteringJsonGeneratorTestCase.java b/core/src/test/java/org/elasticsearch/common/xcontent/support/filtering/AbstractFilteringJsonGeneratorTestCase.java index c060e6c6246..e3d8735e05e 100644 --- a/core/src/test/java/org/elasticsearch/common/xcontent/support/filtering/AbstractFilteringJsonGeneratorTestCase.java +++ b/core/src/test/java/org/elasticsearch/common/xcontent/support/filtering/AbstractFilteringJsonGeneratorTestCase.java @@ -217,75 +217,75 @@ public abstract class AbstractFilteringJsonGeneratorTestCase extends ESTestCase public void testSimpleFieldExclusive() throws Exception { XContentBuilder expected = newXContentBuilder().startObject() - .field("pages", 456) - .field("price", 27.99) - .field("timestamp", 1428582942867L) - .nullField("default") - .startArray("tags") - .value("elasticsearch") - .value("java") - .endArray() - .startArray("authors") - .startObject() - .field("name", "John Doe") - .field("lastname", "John") - .field("firstname", "Doe") + .field("pages", 456) + .field("price", 27.99) + .field("timestamp", 1428582942867L) + .nullField("default") + .startArray("tags") + .value("elasticsearch") + .value("java") + .endArray() + .startArray("authors") + .startObject() + .field("name", "John Doe") + .field("lastname", "John") + .field("firstname", "Doe") + .endObject() + .startObject() + .field("name", "William Smith") + .field("lastname", "William") + .field("firstname", "Smith") + .endObject() + .endArray() + .startObject("properties") + .field("weight", 0.8d) + .startObject("language") + .startObject("en") + .field("lang", "English") + .field("available", true) + .startArray("distributors") + .startObject() + .field("name", "The Book Shop") + .startArray("addresses") + .startObject() + .field("name", "address #1") + .field("street", "Hampton St") + .field("city", "London") + .endObject() + .startObject() + .field("name", "address #2") + .field("street", "Queen St") + .field("city", "Stornoway") + .endObject() + .endArray() + .endObject() + .startObject() + .field("name", "Sussex Books House") + .endObject() + .endArray() .endObject() - .startObject() - .field("name", "William Smith") - .field("lastname", "William") - .field("firstname", "Smith") - .endObject() - .endArray() - .startObject("properties") - .field("weight", 0.8d) - .startObject("language") - .startObject("en") - .field("lang", "English") - .field("available", true) - .startArray("distributors") - .startObject() - .field("name", "The Book Shop") - .startArray("addresses") - .startObject() - .field("name", "address #1") - .field("street", "Hampton St") - .field("city", "London") - .endObject() - .startObject() - .field("name", "address #2") - .field("street", "Queen St") - .field("city", "Stornoway") - .endObject() - .endArray() - .endObject() - .startObject() - .field("name", "Sussex Books House") - .endObject() - .endArray() - .endObject() - .startObject("fr") - .field("lang", "French") - .field("available", false) - .startArray("distributors") - .startObject() - .field("name", "La Maison du Livre") - .startArray("addresses") - .startObject() - .field("name", "address #1") - .field("street", "Rue Mouffetard") - .field("city", "Paris") - .endObject() - .endArray() - .endObject() - .startObject() - .field("name", "Thetra") - .endObject() - .endArray() - .endObject() + .startObject("fr") + .field("lang", "French") + .field("available", false) + .startArray("distributors") + .startObject() + .field("name", "La Maison du Livre") + .startArray("addresses") + .startObject() + .field("name", "address #1") + .field("street", "Rue Mouffetard") + .field("city", "Paris") + .endObject() + .endArray() + .endObject() + .startObject() + .field("name", "Thetra") + .endObject() + .endArray() .endObject() .endObject() - .endObject(); + .endObject() + .endObject(); assertXContentBuilder(expected, sample("title", false)); } @@ -349,27 +349,27 @@ public abstract class AbstractFilteringJsonGeneratorTestCase extends ESTestCase public void testSimpleFieldWithWildcardExclusive() throws Exception { XContentBuilder expected = newXContentBuilder().startObject() - .field("title", "My awesome book") - .field("pages", 456) - .field("timestamp", 1428582942867L) - .nullField("default") - .startArray("tags") - .value("elasticsearch") - .value("java") - .endArray() - .startArray("authors") - .startObject() - .field("name", "John Doe") - .field("lastname", "John") - .field("firstname", "Doe") - .endObject() - .startObject() - .field("name", "William Smith") - .field("lastname", "William") - .field("firstname", "Smith") - .endObject() - .endArray() - .endObject(); + .field("title", "My awesome book") + .field("pages", 456) + .field("timestamp", 1428582942867L) + .nullField("default") + .startArray("tags") + .value("elasticsearch") + .value("java") + .endArray() + .startArray("authors") + .startObject() + .field("name", "John Doe") + .field("lastname", "John") + .field("firstname", "Doe") + .endObject() + .startObject() + .field("name", "William Smith") + .field("lastname", "William") + .field("firstname", "Smith") + .endObject() + .endArray() + .endObject(); assertXContentBuilder(expected, sample("pr*", false)); } @@ -385,74 +385,74 @@ public abstract class AbstractFilteringJsonGeneratorTestCase extends ESTestCase public void testMultipleFieldsExclusive() throws Exception { XContentBuilder expected = newXContentBuilder().startObject() - .field("price", 27.99) - .field("timestamp", 1428582942867L) - .nullField("default") - .startArray("tags") - .value("elasticsearch") - .value("java") - .endArray() - .startArray("authors") - .startObject() - .field("name", "John Doe") - .field("lastname", "John") - .field("firstname", "Doe") + .field("price", 27.99) + .field("timestamp", 1428582942867L) + .nullField("default") + .startArray("tags") + .value("elasticsearch") + .value("java") + .endArray() + .startArray("authors") + .startObject() + .field("name", "John Doe") + .field("lastname", "John") + .field("firstname", "Doe") + .endObject() + .startObject() + .field("name", "William Smith") + .field("lastname", "William") + .field("firstname", "Smith") + .endObject() + .endArray() + .startObject("properties") + .field("weight", 0.8d) + .startObject("language") + .startObject("en") + .field("lang", "English") + .field("available", true) + .startArray("distributors") + .startObject() + .field("name", "The Book Shop") + .startArray("addresses") + .startObject() + .field("name", "address #1") + .field("street", "Hampton St") + .field("city", "London") + .endObject() + .startObject() + .field("name", "address #2") + .field("street", "Queen St") + .field("city", "Stornoway") + .endObject() + .endArray() + .endObject() + .startObject() + .field("name", "Sussex Books House") + .endObject() + .endArray() .endObject() - .startObject() - .field("name", "William Smith") - .field("lastname", "William") - .field("firstname", "Smith") - .endObject() - .endArray() - .startObject("properties") - .field("weight", 0.8d) - .startObject("language") - .startObject("en") - .field("lang", "English") - .field("available", true) - .startArray("distributors") - .startObject() - .field("name", "The Book Shop") - .startArray("addresses") - .startObject() - .field("name", "address #1") - .field("street", "Hampton St") - .field("city", "London") - .endObject() - .startObject() - .field("name", "address #2") - .field("street", "Queen St") - .field("city", "Stornoway") - .endObject() - .endArray() - .endObject() - .startObject() - .field("name", "Sussex Books House") - .endObject() - .endArray() - .endObject() - .startObject("fr") - .field("lang", "French") - .field("available", false) - .startArray("distributors") - .startObject() - .field("name", "La Maison du Livre") - .startArray("addresses") - .startObject() - .field("name", "address #1") - .field("street", "Rue Mouffetard") - .field("city", "Paris") - .endObject() - .endArray() - .endObject() - .startObject() - .field("name", "Thetra") - .endObject() - .endArray() - .endObject() + .startObject("fr") + .field("lang", "French") + .field("available", false) + .startArray("distributors") + .startObject() + .field("name", "La Maison du Livre") + .startArray("addresses") + .startObject() + .field("name", "address #1") + .field("street", "Rue Mouffetard") + .field("city", "Paris") + .endObject() + .endArray() + .endObject() + .startObject() + .field("name", "Thetra") + .endObject() + .endArray() .endObject() .endObject() - .endObject(); + .endObject() + .endObject(); assertXContentBuilder(expected, sample(new String[] { "title", "pages" }, false)); } @@ -460,10 +460,10 @@ public abstract class AbstractFilteringJsonGeneratorTestCase extends ESTestCase public void testSimpleArrayInclusive() throws Exception { XContentBuilder expected = newXContentBuilder().startObject() - .startArray("tags") - .value("elasticsearch") - .value("java") - .endArray() + .startArray("tags") + .value("elasticsearch") + .value("java") + .endArray() .endObject(); assertXContentBuilder(expected, sample("tags", true)); @@ -471,72 +471,72 @@ public abstract class AbstractFilteringJsonGeneratorTestCase extends ESTestCase public void testSimpleArrayExclusive() throws Exception { XContentBuilder expected = newXContentBuilder().startObject() - .field("title", "My awesome book") - .field("pages", 456) - .field("price", 27.99) - .field("timestamp", 1428582942867L) - .nullField("default") - .startArray("authors") - .startObject() - .field("name", "John Doe") - .field("lastname", "John") - .field("firstname", "Doe") + .field("title", "My awesome book") + .field("pages", 456) + .field("price", 27.99) + .field("timestamp", 1428582942867L) + .nullField("default") + .startArray("authors") + .startObject() + .field("name", "John Doe") + .field("lastname", "John") + .field("firstname", "Doe") + .endObject() + .startObject() + .field("name", "William Smith") + .field("lastname", "William") + .field("firstname", "Smith") + .endObject() + .endArray() + .startObject("properties") + .field("weight", 0.8d) + .startObject("language") + .startObject("en") + .field("lang", "English") + .field("available", true) + .startArray("distributors") + .startObject() + .field("name", "The Book Shop") + .startArray("addresses") + .startObject() + .field("name", "address #1") + .field("street", "Hampton St") + .field("city", "London") + .endObject() + .startObject() + .field("name", "address #2") + .field("street", "Queen St") + .field("city", "Stornoway") + .endObject() + .endArray() + .endObject() + .startObject() + .field("name", "Sussex Books House") + .endObject() + .endArray() .endObject() - .startObject() - .field("name", "William Smith") - .field("lastname", "William") - .field("firstname", "Smith") - .endObject() - .endArray() - .startObject("properties") - .field("weight", 0.8d) - .startObject("language") - .startObject("en") - .field("lang", "English") - .field("available", true) - .startArray("distributors") - .startObject() - .field("name", "The Book Shop") - .startArray("addresses") - .startObject() - .field("name", "address #1") - .field("street", "Hampton St") - .field("city", "London") - .endObject() - .startObject() - .field("name", "address #2") - .field("street", "Queen St") - .field("city", "Stornoway") - .endObject() - .endArray() - .endObject() - .startObject() - .field("name", "Sussex Books House") - .endObject() - .endArray() - .endObject() - .startObject("fr") - .field("lang", "French") - .field("available", false) - .startArray("distributors") - .startObject() - .field("name", "La Maison du Livre") - .startArray("addresses") - .startObject() - .field("name", "address #1") - .field("street", "Rue Mouffetard") - .field("city", "Paris") - .endObject() - .endArray() - .endObject() - .startObject() - .field("name", "Thetra") - .endObject() - .endArray() - .endObject() + .startObject("fr") + .field("lang", "French") + .field("available", false) + .startArray("distributors") + .startObject() + .field("name", "La Maison du Livre") + .startArray("addresses") + .startObject() + .field("name", "address #1") + .field("street", "Rue Mouffetard") + .field("city", "Paris") + .endObject() + .endArray() + .endObject() + .startObject() + .field("name", "Thetra") + .endObject() + .endArray() .endObject() .endObject() - .endObject(); + .endObject() + .endObject(); assertXContentBuilder(expected, sample("tags", false)); } @@ -544,19 +544,19 @@ public abstract class AbstractFilteringJsonGeneratorTestCase extends ESTestCase public void testSimpleArrayOfObjectsInclusive() throws Exception { XContentBuilder expected = newXContentBuilder().startObject() - .startArray("authors") - .startObject() - .field("name", "John Doe") - .field("lastname", "John") - .field("firstname", "Doe") - .endObject() - .startObject() - .field("name", "William Smith") - .field("lastname", "William") - .field("firstname", "Smith") - .endObject() - .endArray() - .endObject(); + .startArray("authors") + .startObject() + .field("name", "John Doe") + .field("lastname", "John") + .field("firstname", "Doe") + .endObject() + .startObject() + .field("name", "William Smith") + .field("lastname", "William") + .field("firstname", "Smith") + .endObject() + .endArray() + .endObject(); assertXContentBuilder(expected, sample("authors", true)); assertXContentBuilder(expected, sample("authors.*", true)); @@ -565,64 +565,64 @@ public abstract class AbstractFilteringJsonGeneratorTestCase extends ESTestCase public void testSimpleArrayOfObjectsExclusive() throws Exception { XContentBuilder expected = newXContentBuilder().startObject() - .field("title", "My awesome book") - .field("pages", 456) - .field("price", 27.99) - .field("timestamp", 1428582942867L) - .nullField("default") - .startArray("tags") - .value("elasticsearch") - .value("java") - .endArray() - .startObject("properties") - .field("weight", 0.8d) - .startObject("language") - .startObject("en") - .field("lang", "English") - .field("available", true) - .startArray("distributors") - .startObject() - .field("name", "The Book Shop") - .startArray("addresses") - .startObject() - .field("name", "address #1") - .field("street", "Hampton St") - .field("city", "London") - .endObject() - .startObject() - .field("name", "address #2") - .field("street", "Queen St") - .field("city", "Stornoway") - .endObject() - .endArray() - .endObject() - .startObject() - .field("name", "Sussex Books House") - .endObject() - .endArray() - .endObject() - .startObject("fr") - .field("lang", "French") - .field("available", false) - .startArray("distributors") - .startObject() - .field("name", "La Maison du Livre") - .startArray("addresses") - .startObject() - .field("name", "address #1") - .field("street", "Rue Mouffetard") - .field("city", "Paris") - .endObject() - .endArray() - .endObject() - .startObject() - .field("name", "Thetra") - .endObject() - .endArray() - .endObject() + .field("title", "My awesome book") + .field("pages", 456) + .field("price", 27.99) + .field("timestamp", 1428582942867L) + .nullField("default") + .startArray("tags") + .value("elasticsearch") + .value("java") + .endArray() + .startObject("properties") + .field("weight", 0.8d) + .startObject("language") + .startObject("en") + .field("lang", "English") + .field("available", true) + .startArray("distributors") + .startObject() + .field("name", "The Book Shop") + .startArray("addresses") + .startObject() + .field("name", "address #1") + .field("street", "Hampton St") + .field("city", "London") + .endObject() + .startObject() + .field("name", "address #2") + .field("street", "Queen St") + .field("city", "Stornoway") + .endObject() + .endArray() + .endObject() + .startObject() + .field("name", "Sussex Books House") + .endObject() + .endArray() + .endObject() + .startObject("fr") + .field("lang", "French") + .field("available", false) + .startArray("distributors") + .startObject() + .field("name", "La Maison du Livre") + .startArray("addresses") + .startObject() + .field("name", "address #1") + .field("street", "Rue Mouffetard") + .field("city", "Paris") + .endObject() + .endArray() + .endObject() + .startObject() + .field("name", "Thetra") + .endObject() + .endArray() .endObject() .endObject() - .endObject(); + .endObject() + .endObject(); assertXContentBuilder(expected, sample("authors", false)); assertXContentBuilder(expected, sample("authors.*", false)); @@ -647,74 +647,74 @@ public abstract class AbstractFilteringJsonGeneratorTestCase extends ESTestCase public void testSimpleArrayOfObjectsPropertyExclusive() throws Exception { XContentBuilder expected = newXContentBuilder().startObject() - .field("title", "My awesome book") - .field("pages", 456) - .field("price", 27.99) - .field("timestamp", 1428582942867L) - .nullField("default") - .startArray("tags") - .value("elasticsearch") - .value("java") - .endArray() - .startArray("authors") - .startObject() - .field("name", "John Doe") - .field("firstname", "Doe") - .endObject() - .startObject() - .field("name", "William Smith") - .field("firstname", "Smith") - .endObject() - .endArray() - .startObject("properties") - .field("weight", 0.8d) - .startObject("language") - .startObject("en") - .field("lang", "English") - .field("available", true) - .startArray("distributors") - .startObject() - .field("name", "The Book Shop") - .startArray("addresses") - .startObject() - .field("name", "address #1") - .field("street", "Hampton St") - .field("city", "London") - .endObject() - .startObject() - .field("name", "address #2") - .field("street", "Queen St") - .field("city", "Stornoway") - .endObject() - .endArray() - .endObject() - .startObject() - .field("name", "Sussex Books House") - .endObject() - .endArray() - .endObject() - .startObject("fr") - .field("lang", "French") - .field("available", false) - .startArray("distributors") - .startObject() - .field("name", "La Maison du Livre") - .startArray("addresses") - .startObject() - .field("name", "address #1") - .field("street", "Rue Mouffetard") - .field("city", "Paris") - .endObject() - .endArray() - .endObject() - .startObject() - .field("name", "Thetra") - .endObject() - .endArray() - .endObject() - .endObject() - .endObject() - .endObject(); + .field("title", "My awesome book") + .field("pages", 456) + .field("price", 27.99) + .field("timestamp", 1428582942867L) + .nullField("default") + .startArray("tags") + .value("elasticsearch") + .value("java") + .endArray() + .startArray("authors") + .startObject() + .field("name", "John Doe") + .field("firstname", "Doe") + .endObject() + .startObject() + .field("name", "William Smith") + .field("firstname", "Smith") + .endObject() + .endArray() + .startObject("properties") + .field("weight", 0.8d) + .startObject("language") + .startObject("en") + .field("lang", "English") + .field("available", true) + .startArray("distributors") + .startObject() + .field("name", "The Book Shop") + .startArray("addresses") + .startObject() + .field("name", "address #1") + .field("street", "Hampton St") + .field("city", "London") + .endObject() + .startObject() + .field("name", "address #2") + .field("street", "Queen St") + .field("city", "Stornoway") + .endObject() + .endArray() + .endObject() + .startObject() + .field("name", "Sussex Books House") + .endObject() + .endArray() + .endObject() + .startObject("fr") + .field("lang", "French") + .field("available", false) + .startArray("distributors") + .startObject() + .field("name", "La Maison du Livre") + .startArray("addresses") + .startObject() + .field("name", "address #1") + .field("street", "Rue Mouffetard") + .field("city", "Paris") + .endObject() + .endArray() + .endObject() + .startObject() + .field("name", "Thetra") + .endObject() + .endArray() + .endObject() + .endObject() + .endObject() + .endObject(); assertXContentBuilder(expected, sample("authors.lastname", false)); assertXContentBuilder(expected, sample("authors.l*", false)); @@ -774,63 +774,63 @@ public abstract class AbstractFilteringJsonGeneratorTestCase extends ESTestCase public void testRecurseField1Exclusive() throws Exception { XContentBuilder expected = newXContentBuilder().startObject() - .field("title", "My awesome book") - .field("pages", 456) - .field("price", 27.99) - .field("timestamp", 1428582942867L) - .nullField("default") - .startArray("tags") - .value("elasticsearch") - .value("java") - .endArray() - .startArray("authors") - .startObject() - .field("lastname", "John") - .field("firstname", "Doe") + .field("title", "My awesome book") + .field("pages", 456) + .field("price", 27.99) + .field("timestamp", 1428582942867L) + .nullField("default") + .startArray("tags") + .value("elasticsearch") + .value("java") + .endArray() + .startArray("authors") + .startObject() + .field("lastname", "John") + .field("firstname", "Doe") + .endObject() + .startObject() + .field("lastname", "William") + .field("firstname", "Smith") + .endObject() + .endArray() + .startObject("properties") + .field("weight", 0.8d) + .startObject("language") + .startObject("en") + .field("lang", "English") + .field("available", true) + .startArray("distributors") + .startObject() + .startArray("addresses") + .startObject() + .field("street", "Hampton St") + .field("city", "London") + .endObject() + .startObject() + .field("street", "Queen St") + .field("city", "Stornoway") + .endObject() + .endArray() + .endObject() + .endArray() .endObject() - .startObject() - .field("lastname", "William") - .field("firstname", "Smith") - .endObject() - .endArray() - .startObject("properties") - .field("weight", 0.8d) - .startObject("language") - .startObject("en") - .field("lang", "English") - .field("available", true) - .startArray("distributors") - .startObject() - .startArray("addresses") - .startObject() - .field("street", "Hampton St") - .field("city", "London") - .endObject() - .startObject() - .field("street", "Queen St") - .field("city", "Stornoway") - .endObject() - .endArray() - .endObject() - .endArray() - .endObject() - .startObject("fr") - .field("lang", "French") - .field("available", false) - .startArray("distributors") - .startObject() - .startArray("addresses") - .startObject() - .field("street", "Rue Mouffetard") - .field("city", "Paris") - .endObject() - .endArray() - .endObject() - .endArray() - .endObject() + .startObject("fr") + .field("lang", "French") + .field("available", false) + .startArray("distributors") + .startObject() + .startArray("addresses") + .startObject() + .field("street", "Rue Mouffetard") + .field("city", "Paris") + .endObject() + .endArray() + .endObject() + .endArray() .endObject() .endObject() - .endObject(); + .endObject() + .endObject(); assertXContentBuilder(expected, sample("**.name", false)); } @@ -881,65 +881,65 @@ public abstract class AbstractFilteringJsonGeneratorTestCase extends ESTestCase public void testRecurseField2Exclusive() throws Exception { XContentBuilder expected = newXContentBuilder().startObject() - .field("title", "My awesome book") - .field("pages", 456) - .field("price", 27.99) - .field("timestamp", 1428582942867L) - .nullField("default") - .startArray("tags") - .value("elasticsearch") - .value("java") - .endArray() - .startArray("authors") - .startObject() - .field("name", "John Doe") - .field("lastname", "John") - .field("firstname", "Doe") + .field("title", "My awesome book") + .field("pages", 456) + .field("price", 27.99) + .field("timestamp", 1428582942867L) + .nullField("default") + .startArray("tags") + .value("elasticsearch") + .value("java") + .endArray() + .startArray("authors") + .startObject() + .field("name", "John Doe") + .field("lastname", "John") + .field("firstname", "Doe") + .endObject() + .startObject() + .field("name", "William Smith") + .field("lastname", "William") + .field("firstname", "Smith") + .endObject() + .endArray() + .startObject("properties") + .field("weight", 0.8d) + .startObject("language") + .startObject("en") + .field("lang", "English") + .field("available", true) + .startArray("distributors") + .startObject() + .startArray("addresses") + .startObject() + .field("street", "Hampton St") + .field("city", "London") + .endObject() + .startObject() + .field("street", "Queen St") + .field("city", "Stornoway") + .endObject() + .endArray() + .endObject() + .endArray() .endObject() - .startObject() - .field("name", "William Smith") - .field("lastname", "William") - .field("firstname", "Smith") - .endObject() - .endArray() - .startObject("properties") - .field("weight", 0.8d) - .startObject("language") - .startObject("en") - .field("lang", "English") - .field("available", true) - .startArray("distributors") - .startObject() - .startArray("addresses") - .startObject() - .field("street", "Hampton St") - .field("city", "London") - .endObject() - .startObject() - .field("street", "Queen St") - .field("city", "Stornoway") - .endObject() - .endArray() - .endObject() - .endArray() - .endObject() - .startObject("fr") - .field("lang", "French") - .field("available", false) - .startArray("distributors") - .startObject() - .startArray("addresses") - .startObject() - .field("street", "Rue Mouffetard") - .field("city", "Paris") - .endObject() - .endArray() - .endObject() - .endArray() - .endObject() + .startObject("fr") + .field("lang", "French") + .field("available", false) + .startArray("distributors") + .startObject() + .startArray("addresses") + .startObject() + .field("street", "Rue Mouffetard") + .field("city", "Paris") + .endObject() + .endArray() + .endObject() + .endArray() .endObject() .endObject() - .endObject(); + .endObject() + .endObject(); assertXContentBuilder(expected, sample("properties.**.name", false)); } @@ -947,99 +947,99 @@ public abstract class AbstractFilteringJsonGeneratorTestCase extends ESTestCase public void testRecurseField3Inclusive() throws Exception { XContentBuilder expected = newXContentBuilder().startObject() - .startObject("properties") - .startObject("language") - .startObject("en") - .startArray("distributors") - .startObject() - .field("name", "The Book Shop") - .startArray("addresses") - .startObject() - .field("name", "address #1") - .endObject() - .startObject() - .field("name", "address #2") - .endObject() - .endArray() - .endObject() - .startObject() - .field("name", "Sussex Books House") - .endObject() - .endArray() + .startObject("properties") + .startObject("language") + .startObject("en") + .startArray("distributors") + .startObject() + .field("name", "The Book Shop") + .startArray("addresses") + .startObject() + .field("name", "address #1") + .endObject() + .startObject() + .field("name", "address #2") + .endObject() + .endArray() + .endObject() + .startObject() + .field("name", "Sussex Books House") + .endObject() + .endArray() + .endObject() .endObject() .endObject() - .endObject() - .endObject(); + .endObject(); assertXContentBuilder(expected, sample("properties.*.en.**.name", true)); } public void testRecurseField3Exclusive() throws Exception { XContentBuilder expected = newXContentBuilder().startObject() - .field("title", "My awesome book") - .field("pages", 456) - .field("price", 27.99) - .field("timestamp", 1428582942867L) - .nullField("default") - .startArray("tags") - .value("elasticsearch") - .value("java") - .endArray() - .startArray("authors") - .startObject() - .field("name", "John Doe") - .field("lastname", "John") - .field("firstname", "Doe") + .field("title", "My awesome book") + .field("pages", 456) + .field("price", 27.99) + .field("timestamp", 1428582942867L) + .nullField("default") + .startArray("tags") + .value("elasticsearch") + .value("java") + .endArray() + .startArray("authors") + .startObject() + .field("name", "John Doe") + .field("lastname", "John") + .field("firstname", "Doe") + .endObject() + .startObject() + .field("name", "William Smith") + .field("lastname", "William") + .field("firstname", "Smith") + .endObject() + .endArray() + .startObject("properties") + .field("weight", 0.8d) + .startObject("language") + .startObject("en") + .field("lang", "English") + .field("available", true) + .startArray("distributors") + .startObject() + .startArray("addresses") + .startObject() + .field("street", "Hampton St") + .field("city", "London") + .endObject() + .startObject() + .field("street", "Queen St") + .field("city", "Stornoway") + .endObject() + .endArray() + .endObject() + .endArray() .endObject() - .startObject() - .field("name", "William Smith") - .field("lastname", "William") - .field("firstname", "Smith") - .endObject() - .endArray() - .startObject("properties") - .field("weight", 0.8d) - .startObject("language") - .startObject("en") - .field("lang", "English") - .field("available", true) - .startArray("distributors") - .startObject() - .startArray("addresses") - .startObject() - .field("street", "Hampton St") - .field("city", "London") - .endObject() - .startObject() - .field("street", "Queen St") - .field("city", "Stornoway") - .endObject() - .endArray() - .endObject() - .endArray() - .endObject() - .startObject("fr") - .field("lang", "French") - .field("available", false) - .startArray("distributors") - .startObject() - .field("name", "La Maison du Livre") - .startArray("addresses") - .startObject() - .field("name", "address #1") - .field("street", "Rue Mouffetard") - .field("city", "Paris") - .endObject() - .endArray() - .endObject() - .startObject() - .field("name", "Thetra") - .endObject() - .endArray() - .endObject() + .startObject("fr") + .field("lang", "French") + .field("available", false) + .startArray("distributors") + .startObject() + .field("name", "La Maison du Livre") + .startArray("addresses") + .startObject() + .field("name", "address #1") + .field("street", "Rue Mouffetard") + .field("city", "Paris") + .endObject() + .endArray() + .endObject() + .startObject() + .field("name", "Thetra") + .endObject() + .endArray() .endObject() .endObject() - .endObject(); + .endObject() + .endObject(); assertXContentBuilder(expected, sample("properties.*.en.**.name", false)); } @@ -1078,68 +1078,68 @@ public abstract class AbstractFilteringJsonGeneratorTestCase extends ESTestCase public void testRecurseField4Exclusive() throws Exception { XContentBuilder expected = newXContentBuilder().startObject() - .field("title", "My awesome book") - .field("pages", 456) - .field("price", 27.99) - .field("timestamp", 1428582942867L) - .nullField("default") - .startArray("tags") - .value("elasticsearch") - .value("java") - .endArray() - .startArray("authors") - .startObject() - .field("name", "John Doe") - .field("lastname", "John") - .field("firstname", "Doe") + .field("title", "My awesome book") + .field("pages", 456) + .field("price", 27.99) + .field("timestamp", 1428582942867L) + .nullField("default") + .startArray("tags") + .value("elasticsearch") + .value("java") + .endArray() + .startArray("authors") + .startObject() + .field("name", "John Doe") + .field("lastname", "John") + .field("firstname", "Doe") + .endObject() + .startObject() + .field("name", "William Smith") + .field("lastname", "William") + .field("firstname", "Smith") + .endObject() + .endArray() + .startObject("properties") + .field("weight", 0.8d) + .startObject("language") + .startObject("en") + .field("lang", "English") + .field("available", true) + .startArray("distributors") + .startObject() + .startArray("addresses") + .startObject() + .field("name", "address #1") + .field("street", "Hampton St") + .field("city", "London") + .endObject() + .startObject() + .field("name", "address #2") + .field("street", "Queen St") + .field("city", "Stornoway") + .endObject() + .endArray() + .endObject() + .endArray() .endObject() - .startObject() - .field("name", "William Smith") - .field("lastname", "William") - .field("firstname", "Smith") - .endObject() - .endArray() - .startObject("properties") - .field("weight", 0.8d) - .startObject("language") - .startObject("en") - .field("lang", "English") - .field("available", true) - .startArray("distributors") - .startObject() - .startArray("addresses") - .startObject() - .field("name", "address #1") - .field("street", "Hampton St") - .field("city", "London") - .endObject() - .startObject() - .field("name", "address #2") - .field("street", "Queen St") - .field("city", "Stornoway") - .endObject() - .endArray() - .endObject() - .endArray() - .endObject() - .startObject("fr") - .field("lang", "French") - .field("available", false) - .startArray("distributors") - .startObject() - .startArray("addresses") - .startObject() - .field("name", "address #1") - .field("street", "Rue Mouffetard") - .field("city", "Paris") - .endObject() - .endArray() - .endObject() - .endArray() - .endObject() + .startObject("fr") + .field("lang", "French") + .field("available", false) + .startArray("distributors") + .startObject() + .startArray("addresses") + .startObject() + .field("name", "address #1") + .field("street", "Rue Mouffetard") + .field("city", "Paris") + .endObject() + .endArray() + .endObject() + .endArray() .endObject() .endObject() - .endObject(); + .endObject() + .endObject(); assertXContentBuilder(expected, sample("properties.**.distributors.name", false)); }