Index: lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java =================================================================== diff -u -rfb75427cc2eefc24f942e89b3c938bed84a0ff7f -r36d9af9cb71edbbf24ae3fee278917346a8dba56 --- lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java (.../AuthoringService.java) (revision fb75427cc2eefc24f942e89b3c938bed84a0ff7f) +++ lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java (.../AuthoringService.java) (revision 36d9af9cb71edbbf24ae3fee278917346a8dba56) @@ -1537,7 +1537,13 @@ public List updateLearningDesignAccessByUser(Integer userId) { List accessList = learningDesignDAO.getAccessByUser(userId); List result = new LinkedList<>(); - for (LearningDesignAccess access : accessList) { + for (int accessIndex = 0; accessIndex < accessList.size(); accessIndex++) { + LearningDesignAccess access = accessList.get(accessIndex); + if (accessIndex >= LEARNING_DESIGN_ACCESS_ENTRIES_LIMIT) { + // remove oldest entries above limit + baseDAO.delete(access); + continue; + } LearningDesign learningDesign = learningDesignDAO.getLearningDesignById(access.getLearningDesignId()); if (learningDesign == null) { log.warn("When getting recent access list for Author with ID " + userId + " LD with ID " Index: lams_central/src/java/org/lamsfoundation/lams/authoring/service/IAuthoringFullService.java =================================================================== diff -u -r344a7854d00abbb7a6bb0bb3756970234be71f76 -r36d9af9cb71edbbf24ae3fee278917346a8dba56 --- lams_central/src/java/org/lamsfoundation/lams/authoring/service/IAuthoringFullService.java (.../IAuthoringFullService.java) (revision 344a7854d00abbb7a6bb0bb3756970234be71f76) +++ lams_central/src/java/org/lamsfoundation/lams/authoring/service/IAuthoringFullService.java (.../IAuthoringFullService.java) (revision 36d9af9cb71edbbf24ae3fee278917346a8dba56) @@ -46,6 +46,8 @@ */ public interface IAuthoringFullService extends IAuthoringService { + static int LEARNING_DESIGN_ACCESS_ENTRIES_LIMIT = 7; + /** * Create a copy of learning design as per the requested learning design and saves it in the given workspacefolder. * Designed to be called when user tries to copy a learning design using the Authoring interface. Does not set the Index: lams_central/src/java/org/lamsfoundation/lams/authoring/web/AuthoringController.java =================================================================== diff -u -rf95c86fefb27fbad60e46af80e1a487bae53561a -r36d9af9cb71edbbf24ae3fee278917346a8dba56 --- lams_central/src/java/org/lamsfoundation/lams/authoring/web/AuthoringController.java (.../AuthoringController.java) (revision f95c86fefb27fbad60e46af80e1a487bae53561a) +++ lams_central/src/java/org/lamsfoundation/lams/authoring/web/AuthoringController.java (.../AuthoringController.java) (revision 36d9af9cb71edbbf24ae3fee278917346a8dba56) @@ -117,8 +117,6 @@ @Autowired WebApplicationContext applicationContext; - private static int LEARNING_DESIGN_ACCESS_ENTRIES_LIMIT = 7; - private Integer getUserId() { HttpSession ss = SessionManager.getSession(); UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); @@ -150,8 +148,6 @@ request.setAttribute("learningLibraryGroups", groupsJSON.toString()); List accessList = authoringService.updateLearningDesignAccessByUser(getUserId()); - accessList = accessList.subList(0, - Math.min(accessList.size(), AuthoringController.LEARNING_DESIGN_ACCESS_ENTRIES_LIMIT - 1)); request.setAttribute("access", JsonUtil.toString(accessList)); request.setAttribute("licenses", authoringService.getAvailableLicenses()); @@ -227,8 +223,6 @@ responseJSON.set("ld", ldJSON); List accessList = authoringService.updateLearningDesignAccessByUser(userId); - accessList = accessList.subList(0, - Math.min(accessList.size(), AuthoringController.LEARNING_DESIGN_ACCESS_ENTRIES_LIMIT - 1)); responseJSON.set("access", JsonUtil.readArray(accessList)); response.setContentType("application/json;charset=utf-8"); @@ -417,9 +411,6 @@ Integer userId = getUserId(); List accessList = authoringService.updateLearningDesignAccessByUser(userId); - accessList = accessList.subList(0, - Math.min(accessList.size(), AuthoringController.LEARNING_DESIGN_ACCESS_ENTRIES_LIMIT - 1)); - response.setContentType("application/json;charset=utf-8"); return JsonUtil.toString(accessList); }