diff --git a/libreplan-webapp/src/main/java/org/libreplan/importers/ExportTimesheetsToTim.java b/libreplan-webapp/src/main/java/org/libreplan/importers/ExportTimesheetsToTim.java index 9bdbb3ad0..c4e7a7c60 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/importers/ExportTimesheetsToTim.java +++ b/libreplan-webapp/src/main/java/org/libreplan/importers/ExportTimesheetsToTim.java @@ -32,6 +32,7 @@ import org.libreplan.business.common.IAdHocTransactionService; import org.libreplan.business.common.IOnTransaction; import org.libreplan.business.common.daos.IAppPropertiesDAO; import org.libreplan.business.common.daos.IConfigurationDAO; +import org.libreplan.business.common.exceptions.InstanceNotFoundException; import org.libreplan.business.orders.daos.IOrderDAO; import org.libreplan.business.orders.daos.IOrderSyncInfoDAO; import org.libreplan.business.orders.entities.Order; @@ -81,8 +82,6 @@ public class ExportTimesheetsToTim implements IExportTimesheetsToTim { @Autowired private IAdHocTransactionService adHocTransactionService; - private List workers; - @Autowired private IAppPropertiesDAO appPropertiesDAO; @@ -138,12 +137,6 @@ public class ExportTimesheetsToTim implements IExportTimesheetsToTim { private boolean exportTimesheets(String productCode, Order order, Map appProperties) { - workers = workerDAO.findAll(); - if (workers == null || workers.isEmpty()) { - LOG.warn("No workers found!"); - return false; - } - String url = appProperties.get("Server"); String userName = appProperties.get("Username"); String password = appProperties.get("Password"); @@ -240,9 +233,12 @@ public class ExportTimesheetsToTim implements IExportTimesheetsToTim { */ private TimeRegistrationDTO createExportTimeRegistration(String productCode, WorkReportLine workReportLine) { - Worker worker = getWorker(workReportLine.getResource().getCode()); - if (worker == null) { - LOG.warn("Worker not found!"); + Worker worker; + String workerCode = workReportLine.getResource().getCode(); + try { + worker = workerDAO.findByCode(workerCode); + } catch (InstanceNotFoundException e) { + LOG.warn("Worker \"" + workerCode + "\" not found!"); return null; } @@ -271,21 +267,6 @@ public class ExportTimesheetsToTim implements IExportTimesheetsToTim { return timeRegistrationDTO; } - /** - * get worker based on the specified code - * - * @param code - * @return worker - */ - private Worker getWorker(String code) { - for (Worker worker : workers) { - if (worker.getCode().equals(code)) { - return worker; - } - } - return null; - } - @Override @Transactional(readOnly = true) public OrderSyncInfo getOrderLastSyncInfo(Order order) { diff --git a/libreplan-webapp/src/main/java/org/libreplan/importers/ImportRosterFromTim.java b/libreplan-webapp/src/main/java/org/libreplan/importers/ImportRosterFromTim.java index 1e151041f..acf149a71 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/importers/ImportRosterFromTim.java +++ b/libreplan-webapp/src/main/java/org/libreplan/importers/ImportRosterFromTim.java @@ -99,8 +99,6 @@ public class ImportRosterFromTim implements IImportRosterFromTim { @Qualifier("subclass") private IBaseCalendarModel baseCalendarModel; - private List workers; - @Override @Transactional public void importRosters() { @@ -133,7 +131,6 @@ public class ImportRosterFromTim implements IImportRosterFromTim { @Override public Void execute() { - addAllWorkers(); List rosterExceptions = getRosterExceptions(rosterResponse); if (!rosterExceptions.isEmpty()) { updateCalendarException(rosterExceptions); @@ -159,7 +156,13 @@ public class ImportRosterFromTim implements IImportRosterFromTim { List rosterExceptions = new ArrayList(); for (Map.Entry> entry : map.entrySet()) { - Worker worker = getWorker(entry.getKey()); + Worker worker = null; + String workerCode = entry.getKey(); + try { + worker = workerDAO.findByCode(workerCode); + } catch (InstanceNotFoundException e) { + LOG.warn("Worker \"" + workerCode + "\" not found!"); + } if (worker != null) { List list = entry.getValue(); Collections.sort(list, new Comparator() { @@ -288,29 +291,6 @@ public class ImportRosterFromTim implements IImportRosterFromTim { } - /** - * adds all existing workers to workers list - */ - private void addAllWorkers() { - workers = workerDAO.findAll(); - } - - /** - * returns {@link Worker} for the specified nif - * - * @param nif - * the worker's nif - * @return Worker if found, otherwise null - */ - private Worker getWorker(String nif) { - for (Worker worker : workers) { - if (worker.getNif().equals(nif)) { - return worker; - } - } - return null; - } - /** * creates and returns {@link RosterRequestDTO} *