details: https://code.openbravo.com/erp/devel/pi/rev/719179385778 changeset: 35531:719179385778 user: Asier Lostalé <asier.lostale <at> openbravo.com> date: Tue Mar 12 11:46:37 2019 +0100 summary: fixed issue 40358: use bind-parameters in ImportEntryManager for type of data
details: https://code.openbravo.com/erp/devel/pi/rev/92a2f9f50e21 changeset: 35532:92a2f9f50e21 user: Asier Lostalé <asier.lostale <at> openbravo.com> date: Tue Mar 12 11:59:39 2019 +0100 summary: related to issue 40358: code clean up * Query String is now constant * Write the full query without concatenating properties makes it more readable * Using scrollable as AutoCloseable diffstat: src/org/openbravo/service/importprocess/ImportEntryManager.java | 31 ++++----- 1 files changed, 15 insertions(+), 16 deletions(-) diffs (68 lines): diff -r a1f3604f3132 -r 92a2f9f50e21 src/org/openbravo/service/importprocess/ImportEntryManager.java --- a/src/org/openbravo/service/importprocess/ImportEntryManager.java Tue Mar 12 11:28:15 2019 +0100 +++ b/src/org/openbravo/service/importprocess/ImportEntryManager.java Tue Mar 12 11:59:39 2019 +0100 @@ -469,8 +469,15 @@ } private static class ImportEntryManagerThread implements Runnable { + private final ImportEntryManager manager; - private final ImportEntryManager manager; + // @formatter:off + private static final String IMPORT_ENTRY_QRY = + " from C_IMPORT_ENTRY " + + "where typeofdata = :typeOfData " + + " and importStatus = 'Initial' " + + "order by creationDate, createdtimestamp"; + // @formatter:on private boolean isRunning = false; private Object monitorObject = new Object(); @@ -552,7 +559,6 @@ int entryCount = 0; try { - // start processing, so ignore any notifications happening before wasNotifiedInParallel = false; @@ -562,22 +568,16 @@ for (String typeOfData : typesOfData) { log.debug("Reading import entries for type of data {}", typeOfData); - final String importEntryQryStr = "from " + ImportEntry.ENTITY_NAME + " where " - + ImportEntry.PROPERTY_TYPEOFDATA + "='" + typeOfData + "' and " - + ImportEntry.PROPERTY_IMPORTSTATUS + "='Initial' order by " - + ImportEntry.PROPERTY_CREATIONDATE + ", " - + ImportEntry.PROPERTY_CREATEDTIMESTAMP; - final Query<ImportEntry> entriesQry = OBDal.getInstance() .getSession() - .createQuery(importEntryQryStr, ImportEntry.class); - entriesQry.setFirstResult(0); - entriesQry.setFetchSize(100); - entriesQry.setMaxResults(manager.importBatchSize); + .createQuery(IMPORT_ENTRY_QRY, ImportEntry.class) + .setParameter("typeOfData", typeOfData) + .setFirstResult(0) + .setFetchSize(100) + .setMaxResults(manager.importBatchSize); int typeOfDataEntryCount = 0; - final ScrollableResults entries = entriesQry.scroll(ScrollMode.FORWARD_ONLY); - try { + try (ScrollableResults entries = entriesQry.scroll(ScrollMode.FORWARD_ONLY)) { while (entries.next() && isHandlingImportEntries()) { entryCount++; typeOfDataEntryCount++; @@ -598,9 +598,8 @@ manager.setImportEntryError(entry.getId(), t); } } - } finally { - entries.close(); } + if (typeOfDataEntryCount > 0) { log.debug("Handled {} entries for {}", typeOfDataEntryCount, typeOfData); } _______________________________________________ Openbravo-commits mailing list Openbravo-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbravo-commits