@@ -55,11 +55,12 @@ public static class Company {
55
55
/**********************************************************
56
56
*/
57
57
58
+ private final CsvMapper MAPPER = mapperForCsv ();
59
+
58
60
public void testWithJsonView () throws Exception
59
61
{
60
- CsvMapper mapper = mapperForCsv ();
61
- CsvSchema schema = mapper .schemaFor (Bean .class ).withLineSeparator ("\n " ).withHeader ();
62
- String actual = mapper .writer (schema ).withView (ViewB .class ).writeValueAsString (new Bean ());
62
+ CsvSchema schema = MAPPER .schemaFor (Bean .class ).withLineSeparator ("\n " ).withHeader ();
63
+ String actual = MAPPER .writer (schema ).withView (ViewB .class ).writeValueAsString (new Bean ());
63
64
// System.out.println(actual);
64
65
65
66
BufferedReader br = new BufferedReader (new StringReader (actual .trim ()));
@@ -69,7 +70,7 @@ public void testWithJsonView() throws Exception
69
70
70
71
// plus read back?
71
72
final String INPUT = "a,aa,b\n 5,6,7\n " ;
72
- Bean result = mapper .readerFor (Bean .class ).with (schema ).withView (ViewB .class ).readValue (INPUT );
73
+ Bean result = MAPPER .readerFor (Bean .class ).with (schema ).withView (ViewB .class ).readValue (INPUT );
73
74
assertEquals ("5" , result .a );
74
75
// due to filtering, ought to use default
75
76
assertEquals ("2" , result .aa );
@@ -78,8 +79,7 @@ public void testWithJsonView() throws Exception
78
79
79
80
public void testWithJsonFilter () throws Exception
80
81
{
81
- CsvMapper mapper = mapperForCsv ();
82
- CsvSchema schema = mapper .schemaFor (Company .class ).withLineSeparator ("\n " ).withHeader ();
82
+ CsvSchema schema = MAPPER .schemaFor (Company .class ).withLineSeparator ("\n " ).withHeader ();
83
83
84
84
SimpleFilterProvider filterProvider = new SimpleFilterProvider ()
85
85
.addFilter (COMPANY_FILTER , FilterExceptFilter .filterOutAllExcept ("name" , "ticker" ));
@@ -88,7 +88,7 @@ public void testWithJsonFilter() throws Exception
88
88
new Company (1 , "name1" , "ticker1" )
89
89
, new Company (2 , "name2" , "ticker2" )
90
90
, new Company (3 , "name3" , "ticker3" ));
91
- String actual = mapper .writer (filterProvider ).with (schema ).writeValueAsString (companies );
91
+ String actual = MAPPER .writer (filterProvider ).with (schema ).writeValueAsString (companies );
92
92
// System.out.println(actual);
93
93
94
94
BufferedReader br = new BufferedReader (new StringReader (actual .trim ()));
@@ -98,4 +98,29 @@ public void testWithJsonFilter() throws Exception
98
98
assertEquals (",name3,ticker3" , br .readLine ());
99
99
assertNull (br .readLine ());
100
100
}
101
+
102
+ public void testWithJsonFilterFieldSuppressed () throws Exception
103
+ {
104
+ final CsvSchema schema = new CsvSchema .Builder ()
105
+ .addColumn ("name" )
106
+ .addColumn ("ticker" )
107
+ .setLineSeparator ("\n " ).setUseHeader (true )
108
+ .build ();
109
+
110
+ SimpleFilterProvider filterProvider = new SimpleFilterProvider ()
111
+ .addFilter (COMPANY_FILTER , FilterExceptFilter .filterOutAllExcept ("name" , "ticker" ));
112
+
113
+ List <Company > companies = Arrays .asList (
114
+ new Company (1 , "name1" , "ticker1" )
115
+ , new Company (2 , "name2" , "ticker2" )
116
+ , new Company (3 , "name3" , "ticker3" ));
117
+ String actual = MAPPER .writer (filterProvider ).with (schema ).writeValueAsString (companies );
118
+
119
+ BufferedReader br = new BufferedReader (new StringReader (actual .trim ()));
120
+ assertEquals ("name,ticker" , br .readLine ());
121
+ assertEquals ("name1,ticker1" , br .readLine ());
122
+ assertEquals ("name2,ticker2" , br .readLine ());
123
+ assertEquals ("name3,ticker3" , br .readLine ());
124
+ assertNull (br .readLine ());
125
+ }
101
126
}
0 commit comments