Exception in thread "pool-3-thread-1"
Есть тестовый метод, который проверяет записывание в csv файл.
Сама запись реализуется в цикле (в классе Goal 4 поля: long id, Date created(дата создания), String description, Priority priority) и затем проверка:
for (int i=1; i<=3; i++)
{
Goal goal = createGoal(i, new Date(System.currentTimeMillis()), propertiesGoal.getProperty(Constants.GOAL_CONST +i), Priority.MEDIUM);
goalList.add(goal);
}
instance.createGoal(goalList);
assertEquals(goalList.get(0), instance.getGoalById(1));
Priority - класс enum, в который занесены значения LOW, MEDUIM и HIGH
public Goal getGoalById(long id) throws IOException {
List<Goal> goalList= select (Goal.class);
try{
Goal goal =goalList.stream()
.filter(el->el.getId()==id)
.findFirst().get();
return goal;
} catch(NoSuchElementException e)
{
log.error (e);
return null;
}
}
Дженерик:
public <T> List<T> select (Class cl) throws IOException {
FileReader fileReader = new FileReader(ConfigurationUtil.getConfigurationEntry(Constants.PATH) + cl.getSimpleName().toLowerCase() + ConfigurationUtil.getConfigurationEntry(Constants.FILE_EXTENSION));
CSVReader csvReader = new CSVReader(fileReader);
CsvToBean<T> csvToBean = new CsvToBeanBuilder<T>(csvReader)
.withType(cl)
.withIgnoreLeadingWhiteSpace(true)
.build();
List<T> list = csvToBean.parse();
return list;
}
При вызове тестового метода возникает ошибка:
Exception in thread "pool-3-thread-1" Exception in thread "pool-3-thread-2" Exception in thread "pool-3-thread-4" java.lang.RuntimeException: com.opencsv.exceptions.CsvDataTypeMismatchException: Conversion of MEDIUM to ru.sfedu.mentalhelper.enums.Priority failed.
at com.opencsv.bean.concurrent.ProcessCsvLine.run(ProcessCsvLine.java:101)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: com.opencsv.exceptions.CsvDataTypeMismatchException: Conversion of MEDIUM to ru.sfedu.mentalhelper.enums.Priority failed.
at com.opencsv.bean.ConverterPrimitiveTypes.convertToRead(ConverterPrimitiveTypes.java:95)
at com.opencsv.bean.BeanFieldSingleValue.convert(BeanFieldSingleValue.java:91)
at com.opencsv.bean.AbstractBeanField.setFieldValue(AbstractBeanField.java:169)
at com.opencsv.bean.AbstractMappingStrategy.setFieldValue(AbstractMappingStrategy.java:449)
at com.opencsv.bean.AbstractMappingStrategy.populateNewBean(AbstractMappingStrategy.java:317)
at com.opencsv.bean.concurrent.ProcessCsvLine.processLine(ProcessCsvLine.java:132)
at com.opencsv.bean.concurrent.ProcessCsvLine.run(ProcessCsvLine.java:85)
... 3 more
UPD: Есть предположение, что он не может распарсить