private boolean isAuthorisedToReadAndList( Policy policy, User user, ProjectInstance projectInstance) { User owner = projectInstance.getOwner(); if (isUserOwner(user, owner)) { return true; } return isAuthorisedToDisplayInList(policy, user, projectInstance) && isAuthorisedToRead(policy, user, projectInstance); }
private static ProjectDetails createProjectDetailsFromProjectInstance( ProjectInstance projectInstance) { final ProjectId projectId = ProjectId.get(projectInstance.getName()); final String description = projectInstance.getDescription(); final User projectOwner = projectInstance.getOwner(); final UserId ownerId = projectOwner != null ? UserId.getUserId(projectOwner.getName()) : UserId.getGuest(); final boolean inTrash = isInTrash(projectInstance); final Slot displayNameSlot = projectInstance.getProtegeInstance().getKnowledgeBase().getSlot("displayName"); final String displayName = (String) projectInstance.getProtegeInstance().getOwnSlotValue(displayNameSlot); return new ProjectDetails(projectId, displayName, description, ownerId, inTrash); }