Index: lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java,v diff -u -r1.107.2.8 -r1.107.2.9 --- lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java 7 Aug 2015 05:16:37 -0000 1.107.2.8 +++ lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java 3 Sep 2015 05:00:26 -0000 1.107.2.9 @@ -34,6 +34,7 @@ import java.util.HashSet; import java.util.Hashtable; import java.util.Iterator; +import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; @@ -2020,12 +2021,20 @@ @Override public List getLearningDesignAccessByUser(Integer userId) { List accessList = learningDesignDAO.getAccessByUser(userId); + List result = new LinkedList(); for (LearningDesignAccess access : accessList) { LearningDesign learningDesign = learningDesignDAO.getLearningDesignById(access.getLearningDesignId()); - access.setTitle(learningDesign.getTitle()); - access.setWorkspaceFolderId(learningDesign.getWorkspaceFolder().getWorkspaceFolderId()); + if (learningDesign == null) { + log.warn("When getting recent access list for Author with ID " + userId + " LD with ID " + + access.getLearningDesignId() + " was found missing. Deleting access entry."); + learningDesignDAO.delete(access); + } else { + access.setTitle(learningDesign.getTitle()); + access.setWorkspaceFolderId(learningDesign.getWorkspaceFolder().getWorkspaceFolderId()); + result.add(access); + } } - return accessList; + return result; } @Override