Skip to content

Commit 4443c8a

Browse files
committed
Update release notes wrt #308
1 parent ba4c468 commit 4443c8a

File tree

4 files changed

+11
-18
lines changed

4 files changed

+11
-18
lines changed

csv/src/main/java/com/fasterxml/jackson/dataformat/csv/CsvMapper.java

+6-3
Original file line numberDiff line numberDiff line change
@@ -490,15 +490,18 @@ protected void _addSchemaProperties(CsvSchema.Builder builder, AnnotationIntrosp
490490
}
491491

492492
BeanDescription beanDesc = getSerializationConfig().introspect(pojoType);
493+
final boolean includeByDefault = isEnabled(MapperFeature.DEFAULT_VIEW_INCLUSION);
493494
for (BeanPropertyDefinition prop : beanDesc.findProperties()) {
494495
if (view != null) {
495496
Class<?>[] views = prop.findViews();
496497
if (views == null) {
497498
views = beanDesc.findDefaultViews();
498499
}
499-
if (!ViewMatcher.construct(views).isVisibleForView(view)
500-
&& !(views == null && this.getSerializationConfig().isEnabled(MapperFeature.DEFAULT_VIEW_INCLUSION))
501-
) {
500+
// If property defines no Views AND non-view-enabled included by default,
501+
// should include
502+
if ((views == null) && includeByDefault) {
503+
;
504+
} else if (!ViewMatcher.construct(views).isVisibleForView(view)) {
502505
continue;
503506
}
504507
}

csv/src/test/java/com/fasterxml/jackson/dataformat/csv/schema/SchemaDefaultView308Test.java

+1-15
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,8 @@
99
import com.fasterxml.jackson.dataformat.csv.CsvSchema;
1010
import com.fasterxml.jackson.dataformat.csv.ModuleTestBase;
1111

12-
1312
public class SchemaDefaultView308Test extends ModuleTestBase
1413
{
15-
1614
interface BaseView {}
1715
@JsonView(BaseView.class)
1816
interface BaseViewMixIn {}
@@ -25,8 +23,7 @@ interface OtherView {}
2523
@JsonView(OtherView.class)
2624
interface OtherViewMixIn {}
2725

28-
29-
class ViewTestPojo
26+
static class ViewTestPojo
3027
{
3128
@JsonProperty
3229
boolean flag;
@@ -49,10 +46,8 @@ class ViewTestPojo
4946
}
5047
}
5148

52-
5349
private final ViewTestPojo POJO = new ViewTestPojo(true, '!', 1234, "dummy");
5450

55-
5651
private CsvMapper _createMapper(boolean inclusion, Class<?> defaultViewMixin)
5752
{
5853
final CsvMapper.Builder builder = CsvMapper.builder().configure(MapperFeature.DEFAULT_VIEW_INCLUSION, inclusion);
@@ -62,7 +57,6 @@ private CsvMapper _createMapper(boolean inclusion, Class<?> defaultViewMixin)
6257
return builder.build();
6358
}
6459

65-
6660
private void _verifyExpected(final CsvMapper csvMapper, final Class<?> view, final String... expectedNames)
6761
{
6862
final Set<String> actualCsvNames = new HashSet<>();
@@ -75,7 +69,6 @@ private void _verifyExpected(final CsvMapper csvMapper, final Class<?> view, fin
7569
);
7670
}
7771

78-
7972
public void testSchemaWithImplicitDefaultViewAndDefaultViewInclusionDisabled()
8073
{
8174
CsvMapper csvMapper = _createMapper(false, null);
@@ -85,7 +78,6 @@ public void testSchemaWithImplicitDefaultViewAndDefaultViewInclusionDisabled()
8578
_verifyExpected(csvMapper, OtherView.class, "text");
8679
}
8780

88-
8981
public void testSchemaWithDefaultBaseViewAndDefaultViewInclusionDisabled()
9082
{
9183
CsvMapper csvMapper = _createMapper(false, BaseViewMixIn.class);
@@ -95,7 +87,6 @@ public void testSchemaWithDefaultBaseViewAndDefaultViewInclusionDisabled()
9587
_verifyExpected(csvMapper, OtherView.class, "text");
9688
}
9789

98-
9990
public void testSchemaWithDefaultExtendedViewAndDefaultViewInclusionDisabled()
10091
{
10192
CsvMapper csvMapper = _createMapper(false, ExtendedViewMixIn.class);
@@ -105,7 +96,6 @@ public void testSchemaWithDefaultExtendedViewAndDefaultViewInclusionDisabled()
10596
_verifyExpected(csvMapper, OtherView.class, "text");
10697
}
10798

108-
10999
public void testSchemaWithDefaultOtherViewAndDefaultViewInclusionDisabled()
110100
{
111101
CsvMapper csvMapper = _createMapper(false, OtherViewMixIn.class);
@@ -115,7 +105,6 @@ public void testSchemaWithDefaultOtherViewAndDefaultViewInclusionDisabled()
115105
_verifyExpected(csvMapper, OtherView.class, "flag", "text");
116106
}
117107

118-
119108
public void testSchemaWithImplicitDefaultViewAndDefaultViewInclusionEnabled()
120109
{
121110
CsvMapper csvMapper = _createMapper(true, null);
@@ -125,7 +114,6 @@ public void testSchemaWithImplicitDefaultViewAndDefaultViewInclusionEnabled()
125114
_verifyExpected(csvMapper, OtherView.class, "flag", "text");
126115
}
127116

128-
129117
public void testSchemaWithDefaultBaseViewAndDefaultViewInclusionEnabled()
130118
{
131119
CsvMapper csvMapper = _createMapper(true, BaseViewMixIn.class);
@@ -135,7 +123,6 @@ public void testSchemaWithDefaultBaseViewAndDefaultViewInclusionEnabled()
135123
_verifyExpected(csvMapper, OtherView.class, "text");
136124
}
137125

138-
139126
public void testSchemaWithDefaultExtendedViewAndDefaultViewInclusionEnabled()
140127
{
141128
CsvMapper csvMapper = _createMapper(true, ExtendedViewMixIn.class);
@@ -145,7 +132,6 @@ public void testSchemaWithDefaultExtendedViewAndDefaultViewInclusionEnabled()
145132
_verifyExpected(csvMapper, OtherView.class, "text");
146133
}
147134

148-
149135
public void testSchemaWithDefaultOtherViewAndDefaultViewInclusionEnabled()
150136
{
151137
CsvMapper csvMapper = _createMapper(true, OtherViewMixIn.class);

release-notes/CREDITS-2.x

+2
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,8 @@ Falk Hanisch (mrpiggi@github)
193193
#288: Caching conflict when creating CSV schemas with different views
194194
for the same POJO
195195
(2.13.1)
196+
#308: (csv) `CsvMapper.typedSchemaForWithView()` with `DEFAULT_VIEW_INCLUSION`
197+
(2.13.2)
196198

197199
Esteban Ginez (eginez@github)
198200
#306: (yaml) Error when generating/serializing keys with multilines and colon

release-notes/VERSION-2.x

+2
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ No changes since 2.13
2424
(suggested by PJ Fanning)
2525
#306: (yaml) Error when generating/serializing keys with multilines and colon
2626
(reported by Esteban G)
27+
#308: (csv) `CsvMapper.typedSchemaForWithView()` with `DEFAULT_VIEW_INCLUSION`
28+
(contributed by Falk H)
2729

2830
2.13.1 (19-Dec-2021)
2931

0 commit comments

Comments
 (0)