diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/bulk/insert/filehandling/AbstractIteratorBasedFileToRows.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/bulk/insert/filehandling/AbstractIteratorBasedFileToRows.java index be80c82a..88437f1b 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/bulk/insert/filehandling/AbstractIteratorBasedFileToRows.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/bulk/insert/filehandling/AbstractIteratorBasedFileToRows.java @@ -36,6 +36,7 @@ public abstract class AbstractIteratorBasedFileToRows implements FileToRowsIn private boolean useLast = false; private BulkLoadFileRow last; + int rowNo = 0; /*************************************************************************** @@ -65,6 +66,7 @@ public abstract class AbstractIteratorBasedFileToRows implements FileToRowsIn @Override public BulkLoadFileRow next() { + rowNo++; if(iterator == null) { throw new IllegalStateException("Object was not init'ed"); @@ -99,6 +101,7 @@ public abstract class AbstractIteratorBasedFileToRows implements FileToRowsIn @Override public void unNext() { + rowNo--; useLast = true; } @@ -122,4 +125,15 @@ public abstract class AbstractIteratorBasedFileToRows implements FileToRowsIn this.iterator = iterator; } + + + /******************************************************************************* + ** Getter for rowNo + ** + *******************************************************************************/ + @Override + public int getRowNo() + { + return rowNo; + } } diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/bulk/insert/filehandling/CsvFileToRows.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/bulk/insert/filehandling/CsvFileToRows.java index 7a58ddef..332c8722 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/bulk/insert/filehandling/CsvFileToRows.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/bulk/insert/filehandling/CsvFileToRows.java @@ -92,7 +92,7 @@ public class CsvFileToRows extends AbstractIteratorBasedFileToRows im values[i++] = s; } - return (new BulkLoadFileRow(values)); + return (new BulkLoadFileRow(values, getRowNo())); } diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/bulk/insert/filehandling/FileToRowsInterface.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/bulk/insert/filehandling/FileToRowsInterface.java index 9d02ee0f..9ab6cce3 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/bulk/insert/filehandling/FileToRowsInterface.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/bulk/insert/filehandling/FileToRowsInterface.java @@ -66,6 +66,12 @@ public interface FileToRowsInterface extends AutoCloseable, Iterator