Index: lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java =================================================================== diff -u -r26b52cfb94f532a22ad472ac2def2fcc97b1380e -ra226532f6a49ffe758fe3618dc286b18bcdfee25 --- lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java (.../AuthoringService.java) (revision 26b52cfb94f532a22ad472ac2def2fcc97b1380e) +++ lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java (.../AuthoringService.java) (revision a226532f6a49ffe758fe3618dc286b18bcdfee25) @@ -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