@@ -295,13 +295,18 @@ public static String stdManglePropertyName(final String basename, final int offs
295
295
* @since 2.12
296
296
*/
297
297
public static String checkUnsupportedType (JavaType type ) {
298
- final Class <?> rawType = type .getRawClass ();
298
+ final String className = type .getRawClass (). getName ();
299
299
String typeName , moduleName ;
300
300
301
- if (isJava8TimeClass (rawType )) {
301
+ if (isJava8TimeClass (className )) {
302
+ // [modules-java8#207]: do NOT check/block helper types in sub-packages,
303
+ // but only main-level types (to avoid issues with module)
304
+ if (className .indexOf ('.' , 10 ) >= 0 ) {
305
+ return null ;
306
+ }
302
307
typeName = "Java 8 date/time" ;
303
308
moduleName = "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" ;
304
- } else if (isJodaTimeClass (rawType )) {
309
+ } else if (isJodaTimeClass (className )) {
305
310
typeName = "Joda date/time" ;
306
311
moduleName = "com.fasterxml.jackson.datatype:jackson-datatype-joda" ;
307
312
} else {
@@ -310,18 +315,26 @@ public static String checkUnsupportedType(JavaType type) {
310
315
return String .format ("%s type %s not supported by default: add Module \" %s\" to enable handling" ,
311
316
typeName , ClassUtil .getTypeDescription (type ), moduleName );
312
317
}
313
-
318
+
314
319
/**
315
320
* @since 2.12
316
321
*/
317
322
public static boolean isJava8TimeClass (Class <?> rawType ) {
318
- return rawType .getName ().startsWith ("java.time." );
323
+ return isJava8TimeClass (rawType .getName ());
324
+ }
325
+
326
+ private static boolean isJava8TimeClass (String className ) {
327
+ return className .startsWith ("java.time." );
319
328
}
320
329
321
330
/**
322
331
* @since 2.12
323
332
*/
324
333
public static boolean isJodaTimeClass (Class <?> rawType ) {
325
- return rawType .getName ().startsWith ("org.joda.time." );
334
+ return isJodaTimeClass (rawType .getName ());
335
+ }
336
+
337
+ private static boolean isJodaTimeClass (String className ) {
338
+ return className .startsWith ("org.joda.time." );
326
339
}
327
340
}
0 commit comments