diff --git a/src/main/java/com/fasterxml/jackson/core/filter/FilteringGeneratorDelegate.java b/src/main/java/com/fasterxml/jackson/core/filter/FilteringGeneratorDelegate.java index 9e1f60bd9b..b5ec51b49f 100644 --- a/src/main/java/com/fasterxml/jackson/core/filter/FilteringGeneratorDelegate.java +++ b/src/main/java/com/fasterxml/jackson/core/filter/FilteringGeneratorDelegate.java @@ -81,6 +81,10 @@ public class FilteringGeneratorDelegate extends JsonGeneratorDelegate /********************************************************** */ + /** + * @deprecated since 2.12 Use the constructor that takes {@link TokenFilter.Inclusion} + * argument instead. + */ @Deprecated public FilteringGeneratorDelegate(JsonGenerator d, TokenFilter f, boolean includePath, boolean allowMultipleMatches) @@ -88,6 +92,9 @@ public FilteringGeneratorDelegate(JsonGenerator d, TokenFilter f, this(d, f, includePath ? Inclusion.INCLUDE_ALL_AND_PATH : Inclusion.ONLY_INCLUDE_ALL, allowMultipleMatches); } + /** + * @since 2.12 + */ public FilteringGeneratorDelegate(JsonGenerator d, TokenFilter f, TokenFilter.Inclusion inclusion, boolean allowMultipleMatches) { diff --git a/src/test/java/com/fasterxml/jackson/core/filter/BasicGeneratorFilteringTest.java b/src/test/java/com/fasterxml/jackson/core/filter/BasicGeneratorFilteringTest.java index 16053fc91e..5908aa56f8 100644 --- a/src/test/java/com/fasterxml/jackson/core/filter/BasicGeneratorFilteringTest.java +++ b/src/test/java/com/fasterxml/jackson/core/filter/BasicGeneratorFilteringTest.java @@ -334,14 +334,14 @@ public void testMultipleMatchFilteringWithPath1() throws Exception w = new StringWriter(); gen = new FilteringGeneratorDelegate(_createGenerator(w), - new NameExcludeFilter(true, "ob"), true, true); + new NameExcludeFilter(true, "ob"), Inclusion.INCLUDE_ALL_AND_PATH, true); writeJsonDoc(JSON_F, JSON, gen); assertEquals(aposToQuotes("{'a':123,'array':[1,2],'b':true}"), w.toString()); // then excluding them w = new StringWriter(); gen = new FilteringGeneratorDelegate(_createGenerator(w), - new NameExcludeFilter(false, "ob"), true, true); + new NameExcludeFilter(false, "ob"), Inclusion.INCLUDE_ALL_AND_PATH, true); writeJsonDoc(JSON_F, JSON, gen); assertEquals(aposToQuotes("{'a':123,'b':true}"), w.toString()); } @@ -472,7 +472,7 @@ public void testMultipleMatchFilteringWithPath4() throws Exception StringWriter w = new StringWriter(); FilteringGeneratorDelegate gen = new FilteringGeneratorDelegate(_createGenerator(w), new NameMatchFilter("b0"), - true, true); + Inclusion.INCLUDE_ALL_AND_PATH, true); final String JSON = "{'root':{'a0':true,'a':{'value':3},'b':{'value':'abc'}},'b0':false}"; writeJsonDoc(JSON_F, JSON, gen); assertEquals(aposToQuotes("{'b0':false}"), w.toString()); @@ -526,7 +526,7 @@ public void testIndexMatchWithPath2() throws Exception w = new StringWriter(); gen = new FilteringGeneratorDelegate(_createGenerator(w), new IndexMatchFilter(1, 3, 5), - true, true); + Inclusion.INCLUDE_ALL_AND_PATH, true); JSON = "{'a':123,'misc':[1,2, null, true, false, 'abc', 123],'ob':null,'b':true}"; writeJsonDoc(JSON_F, JSON, gen); assertEquals(aposToQuotes("{'misc':[2,true,'abc']}"), w.toString()); @@ -535,7 +535,7 @@ public void testIndexMatchWithPath2() throws Exception w = new StringWriter(); gen = new FilteringGeneratorDelegate(_createGenerator(w), new IndexMatchFilter(2,6), - true, true); + Inclusion.INCLUDE_ALL_AND_PATH, true); JSON = "{'misc':[1,2, null, 0.25, false, 'abc', 11234567890]}"; writeJsonDoc(JSON_F, JSON, gen); assertEquals(aposToQuotes("{'misc':[null,11234567890]}"), w.toString()); @@ -544,7 +544,7 @@ public void testIndexMatchWithPath2() throws Exception w = new StringWriter(); gen = new FilteringGeneratorDelegate(_createGenerator(w), new IndexMatchFilter(1), - true, true); + Inclusion.INCLUDE_ALL_AND_PATH, true); JSON = "{'misc':[1,0.25,11234567890]}"; writeJsonDoc(JSON_F, JSON, gen); assertEquals(aposToQuotes("{'misc':[0.25]}"), w.toString()); @@ -581,7 +581,7 @@ public void testRawValueDelegationWithArray() throws Exception { StringWriter w = new StringWriter(); FilteringGeneratorDelegate gen = new FilteringGeneratorDelegate(_createGenerator(w), - TokenFilter.INCLUDE_ALL, true, true); + TokenFilter.INCLUDE_ALL, Inclusion.INCLUDE_ALL_AND_PATH, true); gen.writeStartArray(); gen.writeRawValue(new char[] { '1'}, 0, 1); @@ -601,7 +601,7 @@ public void testRawValueDelegationWithObject() throws Exception { StringWriter w = new StringWriter(); FilteringGeneratorDelegate gen = new FilteringGeneratorDelegate(_createGenerator(w), - TokenFilter.INCLUDE_ALL, true, true); + TokenFilter.INCLUDE_ALL, Inclusion.INCLUDE_ALL_AND_PATH, true); gen.writeStartObject(); gen.writeNumberField("f1", 1); diff --git a/src/test/java/com/fasterxml/jackson/core/filter/GeneratorFiltering609Test.java b/src/test/java/com/fasterxml/jackson/core/filter/GeneratorFiltering609Test.java index 46c1d7b090..52373253a4 100644 --- a/src/test/java/com/fasterxml/jackson/core/filter/GeneratorFiltering609Test.java +++ b/src/test/java/com/fasterxml/jackson/core/filter/GeneratorFiltering609Test.java @@ -3,6 +3,7 @@ import java.io.*; import com.fasterxml.jackson.core.*; +import com.fasterxml.jackson.core.filter.TokenFilter.Inclusion; import com.fasterxml.jackson.core.util.JsonGeneratorDelegate; // for [core#609] @@ -57,13 +58,12 @@ public void writeFieldName(String name) throws IOException { } // for [core#609]: will pass in 2.10 for some cases - @SuppressWarnings("resource") public void testIssue609() throws Exception { ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); JsonGenerator g = createGenerator(outputStream); g = new FilteringGeneratorDelegate( - g, NullExcludingTokenFilter.INSTANCE, true, true); + g, NullExcludingTokenFilter.INSTANCE, Inclusion.INCLUDE_ALL_AND_PATH, true); int maxStringLength = 10; g = new StringTruncatingGeneratorDelegate( g, maxStringLength); @@ -72,6 +72,7 @@ public void testIssue609() throws Exception g.writeString("1234567890!"); g.writeEndObject(); g.close(); + outputStream.close(); String json = outputStream.toString("US-ASCII"); assertEquals("{\"message\":\"1234567890\"}", json); diff --git a/src/test/java/com/fasterxml/jackson/core/filter/JsonPointerGeneratorFilteringTest.java b/src/test/java/com/fasterxml/jackson/core/filter/JsonPointerGeneratorFilteringTest.java index 9fcac6c597..4097e162e8 100644 --- a/src/test/java/com/fasterxml/jackson/core/filter/JsonPointerGeneratorFilteringTest.java +++ b/src/test/java/com/fasterxml/jackson/core/filter/JsonPointerGeneratorFilteringTest.java @@ -131,7 +131,7 @@ private void _testArrayFiltering582(int mode) throws IOException JsonGenerator jg = JSON_F.createGenerator(output); FilteringGeneratorDelegate gen = new FilteringGeneratorDelegate(jg, - new JsonPointerBasedFilter("/noMatch"), true, true); + new JsonPointerBasedFilter("/noMatch"), Inclusion.INCLUDE_ALL_AND_PATH, true); final String[] stuff = new String[] { "foo", "bar" }; switch (mode) {