exceptionfactory commented on PR #11007:
URL: https://github.com/apache/nifi/pull/11007#issuecomment-4057286009

   > @exceptionfactory For the case of `TIME` before the change I proposed of 
returning an instance of `LocalTime`, I tried the following
   > 
   > ```
   > Instant fakeInstant = (Instant) 
FakerUtils.getFakeData(DEFAULT_DATE_PROPERTY_NAME, faker);
   >                 LocalTime fakeLocalTime = 
fakeInstant.atZone(ZoneId.systemDefault()).toLocalTime();
   >                 yield 
fakeLocalTime.format(DateTimeFormatter.ISO_LOCAL_TIME);
   > ```
   > 
   > but it caused exceptions in the JSON and XML tests. Stack traces below: 
JSON
   > 
   > ```
   > org.apache.nifi.serialization.record.field.FieldConversionException: 
Conversion failed for [12:25:48.032] named [eventTime] to [java.time.LocalTime] 
[java.lang.NumberFormatException] For input string: "12:25:48.032"
   >    at 
org.apache.nifi.serialization.record.field.ObjectLocalTimeFieldConverter.convertField(ObjectLocalTimeFieldConverter.java:92)
   >    at 
org.apache.nifi.serialization.record.field.ObjectTimeFieldConverter.convertField(ObjectTimeFieldConverter.java:45)
   >    at 
org.apache.nifi.serialization.record.field.ObjectTimeFieldConverter.convertField(ObjectTimeFieldConverter.java:31)
   >    at 
org.apache.nifi.serialization.record.util.DataTypeUtils.convertType(DataTypeUtils.java:224)
   >    at 
org.apache.nifi.serialization.record.util.DataTypeUtils.convertType(DataTypeUtils.java:174)
   >    at 
org.apache.nifi.json.WriteJsonResult.writeValue(WriteJsonResult.java:347)
   >    at 
org.apache.nifi.json.WriteJsonResult.writeRecord(WriteJsonResult.java:231)
   >    at 
org.apache.nifi.json.WriteJsonResult.writeRecord(WriteJsonResult.java:155)
   >    at 
org.apache.nifi.serialization.AbstractRecordSetWriter.write(AbstractRecordSetWriter.java:59)
   >    at 
org.apache.nifi.processors.standard.GenerateRecord.lambda$onTrigger$0(GenerateRecord.java:336)
   > ```
   > 
   > XML
   > 
   > ```
   > Caused by: 
org.apache.nifi.serialization.record.field.FieldConversionException: Conversion 
failed for [10:47:08.59] named [eventTime] to [java.time.LocalTime] 
[java.lang.NumberFormatException] For input string: "10:47:08.59"
   >    at 
org.apache.nifi.serialization.record.field.ObjectLocalTimeFieldConverter.convertField(ObjectLocalTimeFieldConverter.java:92)
   >    at 
org.apache.nifi.serialization.record.field.ObjectTimeFieldConverter.convertField(ObjectTimeFieldConverter.java:45)
   >    at 
org.apache.nifi.serialization.record.field.ObjectTimeFieldConverter.convertField(ObjectTimeFieldConverter.java:31)
   >    at 
org.apache.nifi.serialization.record.util.DataTypeUtils.convertType(DataTypeUtils.java:224)
   >    at 
org.apache.nifi.serialization.record.util.DataTypeUtils.convertType(DataTypeUtils.java:174)
   >    at 
org.apache.nifi.xml.WriteXMLResult.iterateThroughRecordUsingSchema(WriteXMLResult.java:230)
   >    at 
org.apache.nifi.xml.WriteXMLResult.writeRecord(WriteXMLResult.java:208)
   >    at 
org.apache.nifi.serialization.AbstractRecordSetWriter.write(AbstractRecordSetWriter.java:59)
   >    at 
org.apache.nifi.processors.standard.GenerateRecord.lambda$onTrigger$0(GenerateRecord.java:336)
   > ```
   > 
   > I am puzzled why that fails since the string is local time.
   
   According to the stack trace, it is failing because a format pattern is not 
being provided, so the Converter is trying to parse the string as a number.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to