Могу ли я использовать метод insert ebean, написанный в моей папке репозитория, для импорта данных из EXCEL в базу данных без инициализации и повторной инъекции (импорт EbeanConfig) в мой контроллер?
Заранее большое спасибо
PointageRepository.java
public CompletionStage<Long> insert(Pointage pointage) {
return supplyAsync(() -> {
ebeanServer.insert(pointage);
return pointage.id;
}, executionContext);
}
PointageController.java
public CompletionStage<Result> save() {
Form<Pointage> pointageForm = formFactory.form(Pointage.class).bindFromRequest();
Pointage pointage = pointageForm.get();
return pointageRepository.insert(pointage).thenApplyAsync(data -> {
return GO_HOME;
}, httpExecutionContext.current());
}
PointageController.java (импорт данных из файла EXCEL) => Действие немного медленное ??
public CompletionStage<Result> importer() throws IOException, InvalidFormatException {
final String SAMPLE_XLSX_FILE_PATH = "./public/test.xls";
Workbook workbook = WorkbookFactory.create(new File(SAMPLE_XLSX_FILE_PATH));
Sheet sheet = workbook.getSheetAt(0);
DataFormatter dataFormatter = new DataFormatter();
Row row;
for (int i = 0; i <= sheet.getLastRowNum(); i++)
{
row = (Row) sheet.getRow(i);
Pointage pointage = new Pointage();
Utilisateur user = new Utilisateur();
pointage.pointagedate = row.getCell(0).getDateCellValue();
pointage.utilisateur = user.find.byId( Long.valueOf( dataFormatter.formatCellValue(row.getCell(1)) ) );
ebeanServer.insert(pointage);
}
workbook.close();
return supplyAsync(() -> {
flash("success", "File Pointage importé avec succès");
return GO_HOME;
}, httpExecutionContext.current());
}