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); }
/** * Detemines if the signed in user is the owner of the specified project * * @param projectId The project id * @return <code>true</code> if the project exists AND there is a user signed in AND the signed in * user is the owner of the project, otherwise <code>false</code>. */ protected boolean isSignedInUserProjectOwner(ProjectId projectId) { UserId userId = getUserInSession(); if (userId.isGuest()) { return false; } MetaProjectManager mpm = getMetaProjectManager(); MetaProject metaProject = mpm.getMetaProject(); ProjectInstance project = metaProject.getProject(projectId.getId()); if (project == null) { return false; } User owner = project.getOwner(); return owner != null && userId.getUserName().equals(owner.getName()); }
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); }
private UserId getOwner(ProjectId projectId) { ProjectInstance pi = getProjectInstance(projectId); User owner = pi.getOwner(); return UserId.getUserId(owner.getName()); }