Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,15 @@ public class RandomCSVReader {
private final ThreadLocal<RandomBufferedReader> rbr = new ThreadLocal<RandomBufferedReader>() {
@Override
protected RandomBufferedReader initialValue() {
try {
return new RandomBufferedReader(createReader(), new RandomAccessFile(file, "r"), encoding);
} catch (IOException e) {
LOGGER.error("Cannot create RandomBufferedReader", e);
throw new RuntimeException("Cannot create RandomBufferedReader", e);
}

return randomBufferedReader;
}
};
private Random random;

private RandomBufferedReader randomBufferedReader;
private BufferedReader consistentReader;
//private BufferedReader randomReader;
private String[] header;

private boolean isSkipFirstLine;
Expand All @@ -65,6 +63,17 @@ public RandomCSVReader(String filename, String encoding,
initConsistentReader();
}
initHeader();

try {

this.randomBufferedReader = new RandomBufferedReader(createReader(), new RandomAccessFile(file, "r"), encoding);

} catch (IOException e) {
LOGGER.error("Cannot create RandomBufferedReader", e);
throw new RuntimeException("Cannot create RandomBufferedReader", e);
}


} catch (IOException ex) {
LOGGER.error("Cannot initialize RandomCSVReader, because of error: ", ex);
throw new RuntimeException("Cannot initialize RandomCSVReader, because of error: " + ex.getMessage(), ex);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -180,17 +180,7 @@ public void threadStarted() {

@Override
public void threadFinished() {
RandomCSVReader reader = getReader();
if (reader != null) {
reader.close();
if (!isRandomOrder() && isIndependentListPerThread()) {
try {
reader.closeConsistentReader();
} catch (IOException e) {
LOGGER.warn("Failed to close Consistent Reader", e);
}
}
}

}

@Override
Expand All @@ -210,12 +200,16 @@ public void testEnded() {

@Override
public void testEnded(String s) {
try {
if (randomCSVReader != null && !isRandomOrder()) {
randomCSVReader.closeConsistentReader();
RandomCSVReader reader = getReader();
if (reader != null) {
reader.close();
if (!isRandomOrder() && isIndependentListPerThread()) {
try {
reader.closeConsistentReader();
} catch (IOException e) {
LOGGER.warn("Failed to close Consistent Reader", e);
}
}
} catch (IOException e) {
LOGGER.warn("Failed to close Consistent Reader", e);
}
randomCSVReader = null;
}
Expand Down