@@ -358,7 +358,8 @@ public void validate(FailureCollector collector) {
358358 }
359359
360360 if (!containsMacro (NAME_CONTENT_TYPE ) && !containsMacro (NAME_CUSTOM_CONTENT_TYPE )
361- && !Strings .isNullOrEmpty (contentType ) && !contentType .equalsIgnoreCase (CONTENT_TYPE_OTHER )) {
361+ && !Strings .isNullOrEmpty (contentType ) && !contentType .equalsIgnoreCase (CONTENT_TYPE_OTHER )
362+ && !containsMacro (NAME_FORMAT )) {
362363 if (!contentType .equalsIgnoreCase (DEFAULT_CONTENT_TYPE )) {
363364 validateContentType (collector );
364365 }
@@ -379,21 +380,22 @@ public void validate(FailureCollector collector) {
379380 }
380381 }
381382
383+ //This method validates the specified content type for the used format
382384 public void validateContentType (FailureCollector failureCollector ) {
383385 switch (format ) {
384386 case FORMAT_AVRO :
385387 if (!contentType .equalsIgnoreCase (CONTENT_TYPE_APPLICATION_AVRO )) {
386- failureCollector .addFailure (String .format ("Valid content type for avro is %s" ,
387- CONTENT_TYPE_APPLICATION_AVRO ), null )
388+ failureCollector .addFailure (String .format ("Valid content types for avro are %s, %s. " ,
389+ CONTENT_TYPE_APPLICATION_AVRO , DEFAULT_CONTENT_TYPE ), null )
388390 .withConfigProperty (NAME_CONTENT_TYPE );
389391 }
390392 break ;
391393 case FORMAT_JSON :
392394 if (!contentType .equalsIgnoreCase (CONTENT_TYPE_APPLICATION_JSON )
393395 && !contentType .equalsIgnoreCase (CONTENT_TYPE_TEXT_PLAIN )) {
394396 failureCollector .addFailure (String .format (
395- "Valid content types for json are %s, %s" , CONTENT_TYPE_APPLICATION_JSON ,
396- CONTENT_TYPE_TEXT_PLAIN ), null
397+ "Valid content types for json are %s, %s, %s. " , CONTENT_TYPE_APPLICATION_JSON ,
398+ CONTENT_TYPE_TEXT_PLAIN , DEFAULT_CONTENT_TYPE ), null
397399 ).withConfigProperty (NAME_CONTENT_TYPE );
398400 }
399401 break ;
@@ -402,9 +404,8 @@ public void validateContentType(FailureCollector failureCollector) {
402404 && !contentType .equalsIgnoreCase (CONTENT_TYPE_TEXT_CSV )
403405 && !contentType .equalsIgnoreCase (CONTENT_TYPE_TEXT_PLAIN )) {
404406 failureCollector .addFailure (String .format (
405- "Valid content types for csv are %s, %s, %s" , CONTENT_TYPE_APPLICATION_CSV ,
406- CONTENT_TYPE_TEXT_PLAIN ,
407- CONTENT_TYPE_TEXT_CSV ), null
407+ "Valid content types for csv are %s, %s, %s, %s." , CONTENT_TYPE_APPLICATION_CSV ,
408+ CONTENT_TYPE_TEXT_PLAIN , CONTENT_TYPE_TEXT_CSV , DEFAULT_CONTENT_TYPE ), null
408409 ).withConfigProperty (NAME_CONTENT_TYPE );
409410 }
410411 break ;
@@ -414,30 +415,29 @@ public void validateContentType(FailureCollector failureCollector) {
414415 && !contentType .equalsIgnoreCase (CONTENT_TYPE_APPLICATION_CSV )
415416 && !contentType .equalsIgnoreCase (CONTENT_TYPE_TEXT_TSV )) {
416417 failureCollector .addFailure (String .format (
417- "Valid content types for delimited are %s, %s, %s, %s" , CONTENT_TYPE_TEXT_PLAIN ,
418- CONTENT_TYPE_TEXT_CSV , CONTENT_TYPE_APPLICATION_CSV , CONTENT_TYPE_TEXT_TSV ), null
418+ "Valid content types for delimited are %s, %s, %s, %s, %s. " , CONTENT_TYPE_TEXT_PLAIN ,
419+ CONTENT_TYPE_TEXT_CSV , CONTENT_TYPE_APPLICATION_CSV , CONTENT_TYPE_TEXT_TSV , DEFAULT_CONTENT_TYPE ), null
419420 ).withConfigProperty (NAME_CONTENT_TYPE );
420421 }
421422 break ;
422423 case FORMAT_PARQUET :
423424 if (!contentType .equalsIgnoreCase (DEFAULT_CONTENT_TYPE )) {
424- failureCollector .addFailure (String .format ("Valid content type for parquet is %s" ,
425- DEFAULT_CONTENT_TYPE ),
425+ failureCollector .addFailure (String .format ("Valid content type for parquet is %s." , DEFAULT_CONTENT_TYPE ),
426426 null ).withConfigProperty (NAME_CONTENT_TYPE );
427427 }
428428 break ;
429429 case FORMAT_ORC :
430430 if (!contentType .equalsIgnoreCase (DEFAULT_CONTENT_TYPE )) {
431- failureCollector .addFailure (String .format ("Valid content type for orc is %s" , DEFAULT_CONTENT_TYPE ),
431+ failureCollector .addFailure (String .format ("Valid content type for orc is %s. " , DEFAULT_CONTENT_TYPE ),
432432 null ).withConfigProperty (NAME_CONTENT_TYPE );
433433 }
434434 break ;
435435 case FORMAT_TSV :
436436 if (!contentType .equalsIgnoreCase (CONTENT_TYPE_TEXT_PLAIN )
437437 && !contentType .equalsIgnoreCase (CONTENT_TYPE_TEXT_TSV )) {
438438 failureCollector .addFailure (String .format (
439- "Valid content types for tsv are %s, %s" , CONTENT_TYPE_TEXT_TSV , CONTENT_TYPE_TEXT_PLAIN ), null
440- ).withConfigProperty (NAME_CONTENT_TYPE );
439+ "Valid content types for tsv are %s, %s, %s. " , CONTENT_TYPE_TEXT_TSV , CONTENT_TYPE_TEXT_PLAIN ,
440+ DEFAULT_CONTENT_TYPE ), null ).withConfigProperty (NAME_CONTENT_TYPE );
441441 }
442442 break ;
443443 }
0 commit comments