Skip to content

Commit ca417a1

Browse files
committed
Fix first part of #2783 (parser initialization)
1 parent d16b8b1 commit ca417a1

File tree

3 files changed

+68
-24
lines changed

3 files changed

+68
-24
lines changed

src/main/java/com/fasterxml/jackson/databind/ObjectMapper.java

+33-11
Original file line numberDiff line numberDiff line change
@@ -1183,7 +1183,9 @@ public JsonGenerator createGenerator(DataOutput out) throws IOException {
11831183
*/
11841184
public JsonParser createParser(File src) throws IOException {
11851185
_assertNotNull("src", src);
1186-
return _jsonFactory.createParser(src);
1186+
JsonParser p = _jsonFactory.createParser(src);
1187+
_deserializationConfig.initialize(p);
1188+
return p;
11871189
}
11881190

11891191
/**
@@ -1196,7 +1198,9 @@ public JsonParser createParser(File src) throws IOException {
11961198
*/
11971199
public JsonParser createParser(URL src) throws IOException {
11981200
_assertNotNull("src", src);
1199-
return _jsonFactory.createParser(src);
1201+
JsonParser p = _jsonFactory.createParser(src);
1202+
_deserializationConfig.initialize(p);
1203+
return p;
12001204
}
12011205

12021206
/**
@@ -1209,7 +1213,9 @@ public JsonParser createParser(URL src) throws IOException {
12091213
*/
12101214
public JsonParser createParser(InputStream in) throws IOException {
12111215
_assertNotNull("in", in);
1212-
return _jsonFactory.createParser(in);
1216+
JsonParser p = _jsonFactory.createParser(in);
1217+
_deserializationConfig.initialize(p);
1218+
return p;
12131219
}
12141220

12151221
/**
@@ -1222,7 +1228,9 @@ public JsonParser createParser(InputStream in) throws IOException {
12221228
*/
12231229
public JsonParser createParser(Reader r) throws IOException {
12241230
_assertNotNull("r", r);
1225-
return _jsonFactory.createParser(r);
1231+
JsonParser p = _jsonFactory.createParser(r);
1232+
_deserializationConfig.initialize(p);
1233+
return p;
12261234
}
12271235

12281236
/**
@@ -1235,7 +1243,9 @@ public JsonParser createParser(Reader r) throws IOException {
12351243
*/
12361244
public JsonParser createParser(byte[] content) throws IOException {
12371245
_assertNotNull("content", content);
1238-
return _jsonFactory.createParser(content);
1246+
JsonParser p = _jsonFactory.createParser(content);
1247+
_deserializationConfig.initialize(p);
1248+
return p;
12391249
}
12401250

12411251
/**
@@ -1248,7 +1258,9 @@ public JsonParser createParser(byte[] content) throws IOException {
12481258
*/
12491259
public JsonParser createParser(byte[] content, int offset, int len) throws IOException {
12501260
_assertNotNull("content", content);
1251-
return _jsonFactory.createParser(content, offset, len);
1261+
JsonParser p = _jsonFactory.createParser(content, offset, len);
1262+
_deserializationConfig.initialize(p);
1263+
return p;
12521264
}
12531265

12541266
/**
@@ -1261,7 +1273,9 @@ public JsonParser createParser(byte[] content, int offset, int len) throws IOExc
12611273
*/
12621274
public JsonParser createParser(String content) throws IOException {
12631275
_assertNotNull("content", content);
1264-
return _jsonFactory.createParser(content);
1276+
JsonParser p = _jsonFactory.createParser(content);
1277+
_deserializationConfig.initialize(p);
1278+
return p;
12651279
}
12661280

12671281
/**
@@ -1274,7 +1288,9 @@ public JsonParser createParser(String content) throws IOException {
12741288
*/
12751289
public JsonParser createParser(char[] content) throws IOException {
12761290
_assertNotNull("content", content);
1277-
return _jsonFactory.createParser(content);
1291+
JsonParser p = _jsonFactory.createParser(content);
1292+
_deserializationConfig.initialize(p);
1293+
return p;
12781294
}
12791295

12801296
/**
@@ -1287,7 +1303,9 @@ public JsonParser createParser(char[] content) throws IOException {
12871303
*/
12881304
public JsonParser createParser(char[] content, int offset, int len) throws IOException {
12891305
_assertNotNull("content", content);
1290-
return _jsonFactory.createParser(content, offset, len);
1306+
JsonParser p = _jsonFactory.createParser(content, offset, len);
1307+
_deserializationConfig.initialize(p);
1308+
return p;
12911309
}
12921310

12931311
/**
@@ -1300,7 +1318,9 @@ public JsonParser createParser(char[] content, int offset, int len) throws IOExc
13001318
*/
13011319
public JsonParser createParser(DataInput content) throws IOException {
13021320
_assertNotNull("content", content);
1303-
return _jsonFactory.createParser(content);
1321+
JsonParser p = _jsonFactory.createParser(content);
1322+
_deserializationConfig.initialize(p);
1323+
return p;
13041324
}
13051325

13061326
/**
@@ -1312,7 +1332,9 @@ public JsonParser createParser(DataInput content) throws IOException {
13121332
* @since 2.11
13131333
*/
13141334
public JsonParser createNonBlockingByteArrayParser() throws IOException {
1315-
return _jsonFactory.createNonBlockingByteArrayParser();
1335+
JsonParser p = _jsonFactory.createNonBlockingByteArrayParser();
1336+
_deserializationConfig.initialize(p);
1337+
return p;
13161338
}
13171339

13181340
/*

src/main/java/com/fasterxml/jackson/databind/ObjectReader.java

+33-11
Original file line numberDiff line numberDiff line change
@@ -1024,7 +1024,9 @@ public JavaType getValueType() {
10241024
*/
10251025
public JsonParser createParser(File src) throws IOException {
10261026
_assertNotNull("src", src);
1027-
return _parserFactory.createParser(src);
1027+
JsonParser p = _parserFactory.createParser(src);
1028+
_config.initialize(p);
1029+
return p;
10281030
}
10291031

10301032
/**
@@ -1037,7 +1039,9 @@ public JsonParser createParser(File src) throws IOException {
10371039
*/
10381040
public JsonParser createParser(URL src) throws IOException {
10391041
_assertNotNull("src", src);
1040-
return _parserFactory.createParser(src);
1042+
JsonParser p = _parserFactory.createParser(src);
1043+
_config.initialize(p);
1044+
return p;
10411045
}
10421046

10431047
/**
@@ -1050,7 +1054,9 @@ public JsonParser createParser(URL src) throws IOException {
10501054
*/
10511055
public JsonParser createParser(InputStream in) throws IOException {
10521056
_assertNotNull("in", in);
1053-
return _parserFactory.createParser(in);
1057+
JsonParser p = _parserFactory.createParser(in);
1058+
_config.initialize(p);
1059+
return p;
10541060
}
10551061

10561062
/**
@@ -1063,7 +1069,9 @@ public JsonParser createParser(InputStream in) throws IOException {
10631069
*/
10641070
public JsonParser createParser(Reader r) throws IOException {
10651071
_assertNotNull("r", r);
1066-
return _parserFactory.createParser(r);
1072+
JsonParser p = _parserFactory.createParser(r);
1073+
_config.initialize(p);
1074+
return p;
10671075
}
10681076

10691077
/**
@@ -1076,7 +1084,9 @@ public JsonParser createParser(Reader r) throws IOException {
10761084
*/
10771085
public JsonParser createParser(byte[] content) throws IOException {
10781086
_assertNotNull("content", content);
1079-
return _parserFactory.createParser(content);
1087+
JsonParser p = _parserFactory.createParser(content);
1088+
_config.initialize(p);
1089+
return p;
10801090
}
10811091

10821092
/**
@@ -1089,7 +1099,9 @@ public JsonParser createParser(byte[] content) throws IOException {
10891099
*/
10901100
public JsonParser createParser(byte[] content, int offset, int len) throws IOException {
10911101
_assertNotNull("content", content);
1092-
return _parserFactory.createParser(content, offset, len);
1102+
JsonParser p = _parserFactory.createParser(content, offset, len);
1103+
_config.initialize(p);
1104+
return p;
10931105
}
10941106

10951107
/**
@@ -1102,7 +1114,9 @@ public JsonParser createParser(byte[] content, int offset, int len) throws IOExc
11021114
*/
11031115
public JsonParser createParser(String content) throws IOException {
11041116
_assertNotNull("content", content);
1105-
return _parserFactory.createParser(content);
1117+
JsonParser p = _parserFactory.createParser(content);
1118+
_config.initialize(p);
1119+
return p;
11061120
}
11071121

11081122
/**
@@ -1115,7 +1129,9 @@ public JsonParser createParser(String content) throws IOException {
11151129
*/
11161130
public JsonParser createParser(char[] content) throws IOException {
11171131
_assertNotNull("content", content);
1118-
return _parserFactory.createParser(content);
1132+
JsonParser p = _parserFactory.createParser(content);
1133+
_config.initialize(p);
1134+
return p;
11191135
}
11201136

11211137
/**
@@ -1128,7 +1144,9 @@ public JsonParser createParser(char[] content) throws IOException {
11281144
*/
11291145
public JsonParser createParser(char[] content, int offset, int len) throws IOException {
11301146
_assertNotNull("content", content);
1131-
return _parserFactory.createParser(content, offset, len);
1147+
JsonParser p = _parserFactory.createParser(content, offset, len);
1148+
_config.initialize(p);
1149+
return p;
11321150
}
11331151

11341152
/**
@@ -1141,7 +1159,9 @@ public JsonParser createParser(char[] content, int offset, int len) throws IOExc
11411159
*/
11421160
public JsonParser createParser(DataInput content) throws IOException {
11431161
_assertNotNull("content", content);
1144-
return _parserFactory.createParser(content);
1162+
JsonParser p = _parserFactory.createParser(content);
1163+
_config.initialize(p);
1164+
return p;
11451165
}
11461166

11471167
/**
@@ -1153,7 +1173,9 @@ public JsonParser createParser(DataInput content) throws IOException {
11531173
* @since 2.11
11541174
*/
11551175
public JsonParser createNonBlockingByteArrayParser() throws IOException {
1156-
return _parserFactory.createNonBlockingByteArrayParser();
1176+
JsonParser p = _parserFactory.createNonBlockingByteArrayParser();
1177+
_config.initialize(p);
1178+
return p;
11571179
}
11581180

11591181
/*

src/test/java/com/fasterxml/jackson/databind/ObjectReaderTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ public void testGetValueType() throws Exception
286286
assertEquals(MAPPER.constructType(String.class), r.getValueType());
287287
}
288288

289-
public void testParserConfigViaMapper() throws Exception
289+
public void testParserConfigViaReader() throws Exception
290290
{
291291
try (JsonParser p = MAPPER.reader()
292292
.with(StreamReadFeature.STRICT_DUPLICATE_DETECTION)
@@ -301,7 +301,7 @@ public void testParserConfigViaMapper() throws Exception
301301
}
302302
}
303303

304-
public void testGeneratorConfigViaMapper() throws Exception
304+
public void testGeneratorConfigViaReader() throws Exception
305305
{
306306
StringWriter sw = new StringWriter();
307307
try (JsonGenerator g = MAPPER.writer()

0 commit comments

Comments
 (0)