Index: lams_central/src/java/org/lamsfoundation/lams/webservice/LearningDesignRepositorySoapBindingImpl.java =================================================================== diff -u -rfa2d26e27db1732228b9b890dc1f71eeb8507a6d -r9b568de783eb97624bb65df2ae4e43043b4913ba --- lams_central/src/java/org/lamsfoundation/lams/webservice/LearningDesignRepositorySoapBindingImpl.java (.../LearningDesignRepositorySoapBindingImpl.java) (revision fa2d26e27db1732228b9b890dc1f71eeb8507a6d) +++ lams_central/src/java/org/lamsfoundation/lams/webservice/LearningDesignRepositorySoapBindingImpl.java (.../LearningDesignRepositorySoapBindingImpl.java) (revision 9b568de783eb97624bb65df2ae4e43043b4913ba) @@ -200,6 +200,7 @@ log.debug("build content tree node for folder - "+folder.getName()); ContentTreeNode node = new ContentTreeNode(folder); if (folder.getResourceType().equals(FolderContentDTO.FOLDER)) { + log.debug(folder.getName()+" is a folder"); WorkspaceFolder wsfolder = service .getWorkspaceFolder(folder.getResourceID().intValue()); Vector items = service.getFolderContentsExcludeHome(userId, wsfolder, Index: lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java =================================================================== diff -u -re2aaa25c478b507f70b752eaa6d8ae3b83abb15a -r9b568de783eb97624bb65df2ae4e43043b4913ba --- lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java (.../WorkspaceManagementService.java) (revision e2aaa25c478b507f70b752eaa6d8ae3b83abb15a) +++ lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java (.../WorkspaceManagementService.java) (revision 9b568de783eb97624bb65df2ae4e43043b4913ba) @@ -375,14 +375,18 @@ */ public Integer getPermissions(WorkspaceFolder workspaceFolder, User user){ Integer permission = null; - + WorkspaceFolder userDefaultFolder = user.getWorkspace().getDefaultFolder(); if ( workspaceFolder==null || user==null ) { + log.debug("no access due to null value(s) in user or workspaceFolder"); permission = WorkspaceFolder.NO_ACCESS; } else if (workspaceFolder.getUserID().equals(user.getUserId())) { + log.debug(user.getLogin()+" has owner access to "+workspaceFolder.getName()); permission = WorkspaceFolder.OWNER_ACCESS; } else if(user.hasMemberAccess(workspaceFolder)) { + log.debug(user.getLogin()+" has membership access to "+workspaceFolder.getName()); permission = WorkspaceFolder.MEMBERSHIP_ACCESS; } else { + log.debug(user.getLogin()+" has no access to "+workspaceFolder.getName()); permission = WorkspaceFolder.NO_ACCESS; } return permission; @@ -1047,8 +1051,13 @@ * @throws Exception */ private Vector getContentsFromRepository(WorkspaceFolder workspaceFolder, Integer permissions) throws RepositoryCheckedException{ + log.debug("Trying to get contents from folder "+ workspaceFolder.getName()); + Set children = workspaceFolder.getChildWorkspaceFolders(); + if(children!=null){ + log.debug(children.size()+" child workspace folders"); + } Set content = workspaceFolder.getFolderContent(); - if(content.size()==0) + if(content==null || content.size()==0) return null; else{ ITicket ticket = getRepositoryLoginTicket(); @@ -1110,9 +1119,7 @@ Set roles = member.getUserOrganisationRoles(); if (hasWriteAccess(roles)) { Integer permission = getPermissions(orgFolder,user); - log.debug("Permission - "+permission); if ( !permission.equals(WorkspaceFolder.NO_ACCESS) ) { - log.debug("folder added"); folders.add(new FolderContentDTO(orgFolder,permission)); } }