This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository lima. See https://gitlab.nuiton.org/chorem/lima.git commit 2253fd31a0518f09f86453ab9ee49e833a1dd356 Author: David Cossé <cosse@codelutin.com> Date: Fri Dec 23 15:06:56 2016 +0100 refs #1375 [ISO] refactoring --- .../chorem/lima/business/api/ImportService.java | 2 +- .../lima/business/ejb/ImportServiceImpl.java | 2 +- .../chorem/lima/ui/importexport/ImportExport.java | 72 ++++++++++++---------- 3 files changed, 42 insertions(+), 34 deletions(-) diff --git a/lima-business-api/src/main/java/org/chorem/lima/business/api/ImportService.java b/lima-business-api/src/main/java/org/chorem/lima/business/api/ImportService.java index bbccb51..4ccbbe7 100644 --- a/lima-business-api/src/main/java/org/chorem/lima/business/api/ImportService.java +++ b/lima-business-api/src/main/java/org/chorem/lima/business/api/ImportService.java @@ -43,7 +43,7 @@ public interface ImportService { ImportExportResults importVATStatementsAsCSV(String contents); - ImportExportResults importBackup(String entryBooks, String transactions, String fiscalPeriods, String accounts, String entries, String identity); + ImportExportResults importAll(String entryBooks, String transactions, String fiscalPeriods, String accounts, String entries, String identity); //####################################### EBP ############################################## diff --git a/lima-business/src/main/java/org/chorem/lima/business/ejb/ImportServiceImpl.java b/lima-business/src/main/java/org/chorem/lima/business/ejb/ImportServiceImpl.java index f361bc9..554c319 100644 --- a/lima-business/src/main/java/org/chorem/lima/business/ejb/ImportServiceImpl.java +++ b/lima-business/src/main/java/org/chorem/lima/business/ejb/ImportServiceImpl.java @@ -797,7 +797,7 @@ public class ImportServiceImpl extends AbstractLimaService implements ImportServ } @Override - public ImportExportResults importBackup(String entryBooks, String financialTransactions, String fiscalPeriods, String accounts, String entries, String identity) { + public ImportExportResults importAll(String entryBooks, String financialTransactions, String fiscalPeriods, String accounts, String entries, String identity) { ImportExportResults globalResult = importAccountAsCSV(accounts); if (globalResult.isErrors()){ return globalResult; diff --git a/lima-swing/src/main/java/org/chorem/lima/ui/importexport/ImportExport.java b/lima-swing/src/main/java/org/chorem/lima/ui/importexport/ImportExport.java index e2a39fa..2b1f0b1 100644 --- a/lima-swing/src/main/java/org/chorem/lima/ui/importexport/ImportExport.java +++ b/lima-swing/src/main/java/org/chorem/lima/ui/importexport/ImportExport.java @@ -115,6 +115,7 @@ public class ImportExport { protected ErrorHelper errorHelper; public static final String JAVA_IO_TMPDIR = System.getProperty("java.io.tmpdir")+"/"; + public static final String TMP_BACKUP_FILE_MODEL = "%s%s-%s" + CSV; public static final String EXPORT_ALL_ZIP_FILE_NAME = "%s/LIMA-BACKUP-%s.zip"; public static final String TEMPORARY_EXTRACT_CSV_FILE_PATH = JAVA_IO_TMPDIR + "%s" + CSV; @@ -655,7 +656,7 @@ public class ImportExport { String tmpDir = System.getProperty("java.io.tmpdir")+"/"; String determinant = String.valueOf(new Date().getTime()); ImportResult result = extractZipFile(url, tmpDir, determinant); - ImportExportResults results = processBackup(result, tmpDir, determinant); + ImportExportResults results = processRestoreAll(result, tmpDir, determinant); return results; } @@ -677,7 +678,8 @@ public class ImportExport { FileOutputStream fileoutputstream = null; try { byte[] buffer = new byte[BUFFER_SIZE]; - String targetFileName= tmpDir + entry.getName() + "-" + determinant +".csv"; + String entityName = StringUtils.substring(entry.getName(), 0, -4); + String targetFileName= String.format(TMP_BACKUP_FILE_MODEL, tmpDir, entityName, determinant); fileoutputstream = new FileOutputStream(targetFileName); int n; @@ -700,51 +702,57 @@ public class ImportExport { return result; } - protected ImportExportResults processBackup(ImportResult result, String tmpDir, String determinant) { + protected ImportExportResults processRestoreAll(ImportResult result, String tmpDir, String determinant) { ImportExportResults results = null; - InputStream entryBooksStream = null, transactionsStream = null, fiscalPeriodsStream = null, accountsStream = null, entriesStream = null, identityStream = null; if (result.getAllExceptionsByLine().isEmpty()) { - try { - entryBooksStream = new FileInputStream(tmpDir + EntryBook.class.getSimpleName() + "-" + determinant + ".csv"); - String entryBooksStreamString = IOUtils.toString(entryBooksStream); - IOUtils.closeQuietly(entryBooksStream); - // import - transactionsStream = new FileInputStream(tmpDir + FinancialTransaction.class.getSimpleName() + "-" + determinant + ".csv"); - String transactionsStreamString = IOUtils.toString(transactionsStream); - IOUtils.closeQuietly(transactionsStream); + String pathname = String.format(TMP_BACKUP_FILE_MODEL, tmpDir, EntryBook.class.getSimpleName(), determinant); + String entryBooksStreamString = extractFile(result, pathname); + + pathname = String.format(TMP_BACKUP_FILE_MODEL, tmpDir, FinancialTransaction.class.getSimpleName(), determinant); + String transactionsStreamString = extractFile(result, pathname); - accountsStream = new FileInputStream(tmpDir + Account.class.getSimpleName() + "-" + determinant + ".csv"); - String accountsStreamString = IOUtils.toString(accountsStream); - IOUtils.closeQuietly(accountsStream); + pathname = String.format(TMP_BACKUP_FILE_MODEL, tmpDir, Account.class.getSimpleName(), determinant); + String accountsStreamString = extractFile(result, pathname); - entriesStream = new FileInputStream(tmpDir + Entry.class.getSimpleName() + "-" + determinant + ".csv"); - String entriesStreamString = IOUtils.toString(entriesStream); - IOUtils.closeQuietly(entriesStream); + pathname = String.format(TMP_BACKUP_FILE_MODEL, tmpDir, Entry.class.getSimpleName(), determinant); + String entriesStreamString = extractFile(result, pathname); - fiscalPeriodsStream = new FileInputStream(tmpDir + FiscalPeriod.class.getSimpleName() + "-" + determinant + ".csv"); - String fiscalPeriodsStreamString = IOUtils.toString(fiscalPeriodsStream); - IOUtils.closeQuietly(fiscalPeriodsStream); + pathname = String.format(TMP_BACKUP_FILE_MODEL, tmpDir, FiscalPeriod.class.getSimpleName(), determinant); + String fiscalPeriodsStreamString = extractFile(result, pathname); - identityStream = new FileInputStream(tmpDir + Identity.class.getSimpleName() + "-" + determinant + ".csv"); - String identityStreamString = IOUtils.toString(identityStream); - IOUtils.closeQuietly(identityStream); + pathname = String.format(TMP_BACKUP_FILE_MODEL, tmpDir, Identity.class.getSimpleName(), determinant); + String identityStreamString = extractFile(result, pathname); - results = importService.importBackup(entryBooksStreamString, transactionsStreamString, fiscalPeriodsStreamString, accountsStreamString, entriesStreamString, identityStreamString); + try { + results = importService.importAll(entryBooksStreamString, transactionsStreamString, fiscalPeriodsStreamString, accountsStreamString, entriesStreamString, identityStreamString); } catch (Exception ex) { if(log.isInfoEnabled()) { log.info(ex); } result.addInitException(new ImportFileException(t("lima.import.error.extractFile"))); - } finally { - IOUtils.closeQuietly(entryBooksStream); - IOUtils.closeQuietly(transactionsStream); - IOUtils.closeQuietly(fiscalPeriodsStream); - IOUtils.closeQuietly(accountsStream); - IOUtils.closeQuietly(entriesStream); - IOUtils.closeQuietly(identityStream); } } return results; } + + private String extractFile(ImportResult result, String pathname){ + InputStream stream = null; + File file = new File(pathname); + String extractedStream = ""; + if (file.exists()) { + try { + stream = new FileInputStream(file); + extractedStream = IOUtils.toString(stream); + } catch (IOException ex) { + if(log.isInfoEnabled()) { + log.info(ex); + } + result.addInitException(new ImportFileException(t("lima.import.error.extractFile"))); + } finally { + IOUtils.closeQuietly(stream); + } + } + return extractedStream; + } } -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.