diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/WorkReportModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/WorkReportModel.java index 14dafb8bf..98c91e2ab 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/WorkReportModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/WorkReportModel.java @@ -89,6 +89,8 @@ public class WorkReportModel implements IWorkReportModel { private static final Map> mapLabelTypes = new HashMap>(); + private List listWorkReportDTOs = new ArrayList(); + @Override public WorkReport getWorkReport() { return workReport; @@ -242,20 +244,19 @@ public class WorkReportModel implements IWorkReportModel { @Transactional(readOnly = true) public List getWorkReportDTOs() { // load the work reports DTOs - List listWorkReports = getAllWorkReports(); - List resultDTOs = new ArrayList(); - for (WorkReport workReport : listWorkReports) { + listWorkReportDTOs.clear(); + for (WorkReport workReport : getAllWorkReports()) { WorkReportDTO workReportDTO = new WorkReportDTO(workReport); - resultDTOs.add(workReportDTO); + listWorkReportDTOs.add(workReportDTO); } - return resultDTOs; + return listWorkReportDTOs; } @Override @Transactional(readOnly = true) public List getFilterWorkReportDTOs(IPredicate predicate) { List resultDTOs = new ArrayList(); - for (WorkReportDTO workReportDTO : getWorkReportDTOs()) { + for (WorkReportDTO workReportDTO : listWorkReportDTOs) { if (predicate.accepts(workReportDTO)) { resultDTOs.add(workReportDTO); }