- summary: Fix for FileParser duplicate line --> Fix for FileParser duplicate line after error
Added a line of code to the FileParser to reset result to null before attempting to get the next record.
Code snippet:
public void read()
{
MatchedRecord results = null;
boolean exception = false;
do
{
exception = true;
results = null; / *** Added line to reset results to null for next record ***/
// Attempt to parse the next line
try
{
results = ff.getNextRecord(bufIn);
exception = false;
} catch (FlatwormInvalidRecordException ex)
{
doExceptionCallback(ex, "FlatwormInvalidRecordException", ff.getLastLine());
} catch (FlatwormInputLineLengthException ex)
{
doExceptionCallback(ex, "FlatwormInputLineLengthException", ff.getLastLine());
} catch (FlatwormUnsetFieldValueException ex)
{
doExceptionCallback(ex, "FlatwormUnsetFieldValueException", ff.getLastLine());
} catch (FlatwormConversionException ex)
{
doExceptionCallback(ex, "FlatwormConversionException", ff.getLastLine());
} catch (Exception ex)
{
doExceptionCallback(ex, ex.getMessage(), ff.getLastLine());
}
if (null != results)
{
String recordName = results.getRecordName();
doCallback(recordName, results);
}
} while ((null != results) || exception);