diff --git a/src/main/scala/za/co/absa/standardization/validation/field/FieldValidator.scala b/src/main/scala/za/co/absa/standardization/validation/field/FieldValidator.scala index 67a3c46..142fd19 100644 --- a/src/main/scala/za/co/absa/standardization/validation/field/FieldValidator.scala +++ b/src/main/scala/za/co/absa/standardization/validation/field/FieldValidator.scala @@ -48,9 +48,18 @@ class FieldValidator { protected def checkMetadataKey[T: TypeTag](field: TypedStructField, metadataKey: String, issueConstructor: String => ValidationIssue = ValidationError.apply): Seq[ValidationIssue] = { + /** + * Keeps part of the string after last dot. E.g. `scala.Boolean` -> `Boolean`. Does nothing if there is no dot. + * @param typeName possibly dot-separated type name + * @return simple type name + */ + def simpleTypeName(typeName: String) = { + typeName.split("""\.""").last + } + def optionToValidationIssueSeq(option: Option[_], typeName: String): Seq[ValidationIssue] = { option.map(_ => Nil).getOrElse( - Seq(issueConstructor(s"$metadataKey metadata value of field '${field.name}' is not $typeName in String format")) + Seq(issueConstructor(s"$metadataKey metadata value of field '${field.name}' is not ${simpleTypeName(typeName)} in String format")) ) } diff --git a/src/test/resources/application.conf b/src/test/resources/application.conf index 18937ed..c2603e7 100644 --- a/src/test/resources/application.conf +++ b/src/test/resources/application.conf @@ -11,4 +11,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -standardization.recordId.generation.strategy="none" \ No newline at end of file +standardization.recordId.generation.strategy="none" + +standardization.defaultTimestampTimeZone.default="CET" +standardization.defaultTimestampTimeZone.xml="Africa/Johannesburg"