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 c7bb6a0b8cbaab1d5494e84b0975518726e0f0c5 Author: David Cossé <cosse@codelutin.com> Date: Fri Dec 23 14:41:10 2016 +0100 refs #1375 [ISO] refactoring --- .../lima/business/ejb/ExportServiceImpl.java | 155 +++++++++------------ 1 file changed, 63 insertions(+), 92 deletions(-) diff --git a/lima-business/src/main/java/org/chorem/lima/business/ejb/ExportServiceImpl.java b/lima-business/src/main/java/org/chorem/lima/business/ejb/ExportServiceImpl.java index 4a1f4bf..86859e2 100644 --- a/lima-business/src/main/java/org/chorem/lima/business/ejb/ExportServiceImpl.java +++ b/lima-business/src/main/java/org/chorem/lima/business/ejb/ExportServiceImpl.java @@ -59,6 +59,7 @@ import org.chorem.lima.entity.FiscalPeriod; import org.chorem.lima.entity.Identity; import org.chorem.lima.entity.VatStatement; import org.nuiton.csv.Export; +import org.nuiton.csv.ExportModel; import javax.ejb.EJB; import javax.ejb.Remote; @@ -107,20 +108,26 @@ public class ExportServiceImpl extends AbstractLimaService implements ExportServ @EJB protected IdentityService identityService; + protected void processExport(String charset, Class exportedClass, ExportResult exportResult, Iterable entities, ExportModel model) { + try { + String exportData = Export.exportToString(model, entities, Charset.forName(charset), true); + exportResult.setExportData(exportData); + } catch (Exception e) { + exportResult.addException(new ExportException(String.format("Could not export class %s.", exportedClass), e)); + } + } + @Override public ImportExportResults exportAccountsAsCSV(String charset) { ImportExportResults results = new ImportExportResults(); - ExportResult exportResult = results.createAddAndGetExportResult(Account.class); + Class<Account> exportedClass = Account.class; + ExportResult exportResult = results.createAddAndGetExportResult(exportedClass); AccountTopiaDao accountTopiaDao = getDaoHelper().getAccountDao(); List<Account> entities = accountTopiaDao.findAll(); if (entities != null && !entities.isEmpty()) { AccountModel model = new AccountModel(); - try { - exportResult.setExportData(Export.exportToString(model, entities, java.nio.charset.Charset.forName(charset), true)); - } catch (Exception e) { - exportResult.addException(new ExportException("Could not export accounts.", e)); - } + processExport(charset, exportedClass, exportResult, entities, model); } return results; } @@ -128,55 +135,46 @@ public class ExportServiceImpl extends AbstractLimaService implements ExportServ @Override public ImportExportResults exportEntryBooksAsCSV(String charset){ ImportExportResults results = new ImportExportResults(); - ExportResult exportResult = results.createAddAndGetExportResult(EntryBook.class); + Class exportedClass = EntryBook.class; + ExportResult exportResult = results.createAddAndGetExportResult(exportedClass); EntryBookTopiaDao entryBookTopiaDao = getDaoHelper().getEntryBookDao(); List<EntryBook> entities = entryBookTopiaDao.findAll(); - if (entities != null && !entities.isEmpty()) { - EntryBookModel model = new EntryBookModel(); - try { - exportResult.setExportData(Export.exportToString(model, entities, Charset.forName(charset), true)); - } catch (Exception e) { - exportResult.addException(new ExportException("Could not export entry books.", e)); - } - } + + entities = entities == null ? Lists.newArrayList() : entities; + EntryBookModel model = new EntryBookModel(); + processExport(charset, exportedClass, exportResult, entities, model); + return results; } @Override public ImportExportResults exportFiscalPeriodsAsCSV(String charset){ ImportExportResults results = new ImportExportResults(); - ExportResult exportResult = results.createAddAndGetExportResult(FiscalPeriod.class); + Class<FiscalPeriod> exportedClass = FiscalPeriod.class; + ExportResult exportResult = results.createAddAndGetExportResult(exportedClass); List<FiscalPeriod> entities = fiscalPeriodService.getAllFiscalPeriods(); - if (entities != null && !entities.isEmpty()) { - FiscalPeriodModel model = new FiscalPeriodModel(); - try { - exportResult.setExportData(Export.exportToString(model, entities, Charset.forName(charset), true)); - } catch (Exception e) { - exportResult.addException(new ExportException("Could not export fiscal periods.", e)); - } - } + entities = entities == null ? Lists.newArrayList() : entities; + FiscalPeriodModel model = new FiscalPeriodModel(); + processExport(charset, exportedClass, exportResult, entities, model); return results; } protected ImportExportResults exportFinancialTransactionsFile(String charset){ ImportExportResults results = new ImportExportResults(); - ExportResult exportResult = results.createAddAndGetExportResult(FinancialTransaction.class); + Class<FinancialTransaction> exportedClass = FinancialTransaction.class; + ExportResult exportResult = results.createAddAndGetExportResult(exportedClass); FinancialTransactionTopiaDao financialTransactionTopiaDao = getDaoHelper().getFinancialTransactionDao(); List<FinancialTransaction> entities = financialTransactionTopiaDao.findAll(); - if (entities != null && !entities.isEmpty()) { - FinancialTransactionModel model = new FinancialTransactionModel(entryBookService); - try { - exportResult.setExportData(Export.exportToString(model, entities, Charset.forName(charset), true)); - } catch (Exception e) { - exportResult.addException(new ExportException("Could not export financial transactions.", e)); - } - } + + entities = entities == null ? Lists.newArrayList() : entities; + FinancialTransactionModel model = new FinancialTransactionModel(entryBookService); + processExport(charset, exportedClass, exportResult, entities, model); return results; } @@ -184,18 +182,14 @@ public class ExportServiceImpl extends AbstractLimaService implements ExportServ @Override public ImportExportResults exportEntriesAsCSV(String charset, Boolean humanReadable){ ImportExportResults results = new ImportExportResults(); - ExportResult exportResult = results.createAddAndGetExportResult(Entry.class); + Class<Entry> exportedClass = Entry.class; + ExportResult exportResult = results.createAddAndGetExportResult(exportedClass); EntryTopiaDao dao = getDaoHelper().getEntryDao(); List<Entry> entities = dao.findAll(); - if (entities != null && !entities.isEmpty()) { - EntryModel model = new EntryModel(accountService, entryBookService, financialTransactionService , humanReadable); - try { - exportResult.setExportData(Export.exportToString(model, entities, Charset.forName(charset), true)); - } catch (Exception e) { - exportResult.addException(new ExportException("Could not export entries.", e)); - } - } + entities = entities == null ? Lists.newArrayList() : entities; + EntryModel model = new EntryModel(accountService, entryBookService, financialTransactionService , humanReadable); + processExport(charset, exportedClass, exportResult, entities, model); return results; } @@ -212,18 +206,15 @@ public class ExportServiceImpl extends AbstractLimaService implements ExportServ @Override public ImportExportResults exportFinancialStatements(String charset){ ImportExportResults results = new ImportExportResults(); - ExportResult exportResult = results.createAddAndGetExportResult(FinancialStatement.class); + Class<FinancialStatement> exportedClass = FinancialStatement.class; + ExportResult exportResult = results.createAddAndGetExportResult(exportedClass); List<FinancialStatement> rootFinancialStatements = financialStatementService.getRootFinancialStatements(); if (rootFinancialStatements != null) { FinancialStatementModel model = new FinancialStatementModel(); List<FinancialStatement> financialStatements = new ArrayList<>(); addAllSubFinancialStatements(financialStatements, rootFinancialStatements); - try { - exportResult.setExportData(Export.exportToString(model, financialStatements, Charset.forName(charset), true)); - } catch (Exception e) { - exportResult.addException(new ExportException("Could not export financial statements.", e)); - } + processExport(charset, exportedClass, exportResult, financialStatements, model); } return results; } @@ -241,38 +232,31 @@ public class ExportServiceImpl extends AbstractLimaService implements ExportServ @Override public ImportExportResults exportVatStatements(String charset) { ImportExportResults results = new ImportExportResults(); - ExportResult exportResult = results.createAddAndGetExportResult(VatStatement.class); + Class<VatStatement> exportedClass = VatStatement.class; + ExportResult exportResult = results.createAddAndGetExportResult(exportedClass); List<VatStatement> rootVatStatements = vatStatementService.getRootVatStatements(); if (rootVatStatements != null) { VatStatementModel model = new VatStatementModel(); List<VatStatement> vatStatements = new ArrayList<>(); getAllSubVATStatements(vatStatements, rootVatStatements); - try { - exportResult.setExportData(Export.exportToString(model, vatStatements, Charset.forName(charset), true)); - } catch (Exception e) { - exportResult.addException(new ExportException("Could not export VAT statements.", e)); - } + processExport(charset, exportedClass, exportResult, vatStatements, model); } return results; } protected ImportExportResults exportIdentity(String charset) { ImportExportResults results = new ImportExportResults(); - ExportResult exportResult = results.createAddAndGetExportResult(Identity.class); + Class<Identity> exportedClass = Identity.class; + ExportResult exportResult = results.createAddAndGetExportResult(exportedClass); Identity identity = identityService.getIdentity(); - if (identity != null) { - List<Identity> identities = new ArrayList<>(); - identities.add(identity); - - IdentityModel model = new IdentityModel(); - try { - exportResult.setExportData(Export.exportToString(model, identities, Charset.forName(charset), true)); - } catch (Exception e) { - exportResult.addException(new ExportException("Could not export identity.", e)); - } - } + + List<Identity> identities = identity == null ? new ArrayList<>() : Lists.newArrayList(identity); + + IdentityModel model = new IdentityModel(); + processExport(charset, exportedClass, exportResult, identities, model); + return results; } @@ -280,12 +264,12 @@ public class ExportServiceImpl extends AbstractLimaService implements ExportServ public ImportExportResults exportBackup(String charset) { ImportExportResults results = exportAccountsAsCSV(charset); - results.pushExportResults(exportEntryBooksAsCSV(charset)); results.pushExportResults(exportFiscalPeriodsAsCSV(charset)); results.pushExportResults(exportFinancialTransactionsFile(charset)); results.pushExportResults(exportEntriesAsCSV(charset, false)); results.pushExportResults(exportIdentity(charset)); + return results; } @@ -294,16 +278,13 @@ public class ExportServiceImpl extends AbstractLimaService implements ExportServ @Override public ImportExportResults exportAccountAsEbp(String charset) { ImportExportResults results = new ImportExportResults(); - ExportResult exportResult = results.createAddAndGetExportResult(Account.class); + Class<Account> exportedClass = Account.class; + ExportResult exportResult = results.createAddAndGetExportResult(exportedClass); List<Account> accounts = accountService.getAllAccounts(); if (accounts != null && !accounts.isEmpty()) { AccountEBPModel model = new AccountEBPModel(); - try { - exportResult.setExportData(Export.exportToString(model, accounts, Charset.forName(charset), true)); - } catch (Exception e) { - exportResult.addException(new ExportException("Could not export accounts.", e)); - } + processExport(charset, exportedClass, exportResult, accounts, model); } return results; } @@ -311,16 +292,13 @@ public class ExportServiceImpl extends AbstractLimaService implements ExportServ @Override public ImportExportResults exportEntriesAsEbp(String charset){ ImportExportResults results = new ImportExportResults(); - ExportResult exportResult = results.createAddAndGetExportResult(Entry.class); + Class<Entry> exportedClass = Entry.class; + ExportResult exportResult = results.createAddAndGetExportResult(exportedClass); List<Entry> entries = getDaoHelper().getEntryDao().findAll(); if (entries != null && !entries.isEmpty()) { EntryEBPModel model = new EntryEBPModel(); - try { - exportResult.setExportData(Export.exportToString(model, entries, Charset.forName(charset),true)); - } catch (Exception e) { - exportResult.addException(new ExportException("Could not export entries.", e)); - } + processExport(charset, exportedClass, exportResult, entries, model); } @@ -330,25 +308,22 @@ public class ExportServiceImpl extends AbstractLimaService implements ExportServ @Override public ImportExportResults exportEntryBookAsEbp(String charset){ ImportExportResults results = new ImportExportResults(); - ExportResult exportResult = results.createAddAndGetExportResult(EntryBook.class); + Class<EntryBook> exportedClass = EntryBook.class; + ExportResult exportResult = results.createAddAndGetExportResult(exportedClass); List<EntryBook> entryBooks = entryBookService.getAllEntryBooks(); if (entryBooks != null && !entryBooks.isEmpty()) { EntryBookModel model = new EntryBookModel(); - try { - exportResult.setExportData(Export.exportToString(model, entryBooks, Charset.forName(charset))); - } catch (Exception e) { - exportResult.addException(new ExportException("Could not export entry books.", e)); - - } + processExport(charset, exportedClass, exportResult, entryBooks, model); } return results; } @Override public ExportResult exportFiscalControl(FiscalPeriod period, EntryBook entryBookAtNew, String charset) { - ExportResult exportResult = new ExportResult(Entry.class); + Class<Entry> exportedClass = Entry.class; + ExportResult exportResult = new ExportResult(exportedClass); EntryTopiaDao dao = getDaoHelper().getEntryDao(); List<Entry> entities = dao.findAllEntryByDate(period.getBeginDate(), period.getEndDate()); @@ -362,11 +337,7 @@ public class ExportServiceImpl extends AbstractLimaService implements ExportServ if (!entries.isEmpty()) { FiscalControlExportModel model = new FiscalControlExportModel(); - try { - exportResult.setExportData(Export.exportToString(model, entries, Charset.forName(charset), true)); - } catch (Exception e) { - exportResult.addException(new ExportException("Could not export entries.", e)); - } + processExport(charset, exportedClass, exportResult, entities, model); } return exportResult; -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.