private void ensureUser() { if (proxiedUser == null) { proxiedUser = userRepository.findById(userId); } }
@Override public DirectoryEntity findById(String id, User user) { return userToDirectoryPerson(userRepository.findById(id)); }
@Test public void testPushWorkspaceChangeDifferentUser() { ClientApiWorkspace clientApiWorkspace = new ClientApiWorkspace(); clientApiWorkspace.setWorkspaceId("ws1"); List<ClientApiWorkspace.User> previousUsers = new ArrayList<>(); ClientApiWorkspace.User previousUser = new ClientApiWorkspace.User(); previousUser.setUserId("mockUser1"); previousUsers.add(previousUser); String changedByUserId = "mockUser2"; String changedBySourceGuid = "123-123-1234"; Authorizations mockUser1Auths = graph.createAuthorizations("mockUser1Auths"); when(userRepository.findById(changedByUserId)).thenReturn(mockUser2); when(workspaceRepository.findById(eq("ws1"), eq(mockUser2))).thenReturn(workspace); when(userRepository.findById(eq("mockUser1"))).thenReturn(mockUser1); when(authorizationRepository.getGraphAuthorizations(eq(mockUser1), eq("ws1"))).thenReturn(mockUser1Auths); when(workspaceRepository.toClientApi(eq(workspace), eq(mockUser1), any())).thenReturn(clientApiWorkspace); workQueueRepository.pushWorkspaceChange(clientApiWorkspace, previousUsers, changedByUserId, changedBySourceGuid); assertEquals(1, workQueueRepository.broadcastJsonValues.size()); JSONObject json = workQueueRepository.broadcastJsonValues.get(0); assertEquals("workspaceChange", json.getString("type")); assertEquals("mockUser2", json.getString("modifiedBy")); assertEquals(new JSONObject("{\"users\":[\"mockUser1\"]}").toString(), json.getJSONObject("permissions").toString()); assertEquals( new JSONObject("{\"editable\":false,\"users\":[],\"commentable\":false,\"workspaceId\":\"ws1\",\"sharedToUser\":false}").toString(), json.getJSONObject("data").toString() ); assertEquals("123-123-1234", json.getString("sourceGuid")); }
public User findUser(FindUserArgs findUserArgs) { User user = null; if (findUserArgs.userName != null) { user = getUserRepository().findByUsername(findUserArgs.userName); } else if (findUserArgs.userId != null) { user = getUserRepository().findById(findUserArgs.userId); } if (user == null) { throw new UserNotFoundException(findUserArgs); } return user; }
private User findUser(FindUserArgs findUserArgs) { User user = null; if (findUserArgs.userName != null) { user = getUserRepository().findByUsername(findUserArgs.userName); } else if (findUserArgs.userId != null) { user = getUserRepository().findById(findUserArgs.userId); } if (user == null) { throw new UserNotFoundException(findUserArgs); } return user; }
protected void broadcastWorkspace( ClientApiWorkspace workspace, List<ClientApiWorkspace.User> previousUsers, String changedByUserId, String changedBySourceGuid ) { User changedByUser = getUserRepository().findById(changedByUserId); Workspace ws = getWorkspaceRepository().findById(workspace.getWorkspaceId(), changedByUser); previousUsers.forEach(workspaceUser -> { boolean isChangingUser = workspaceUser.getUserId().equals(changedByUserId); User user = isChangingUser ? changedByUser : getUserRepository().findById(workspaceUser.getUserId()); Authorizations authorizations = getAuthorizationRepository().getGraphAuthorizations(user, workspace.getWorkspaceId()); // No need to regenerate client api if changing user try { ClientApiWorkspace userWorkspace = isChangingUser ? workspace : getWorkspaceRepository().toClientApi(ws, user, authorizations); JSONObject json = new JSONObject(); json.put("type", "workspaceChange"); json.put("modifiedBy", changedByUserId); json.put("permissions", getPermissionsWithUsers(null, Arrays.asList(workspaceUser))); json.put("data", new JSONObject(ClientApiConverter.clientApiToString(userWorkspace))); json.putOpt("sourceGuid", changedBySourceGuid); broadcastJson(json); } catch (VisalloAccessDeniedException e) { /* Ignore push message if lost access */ } }); }
private void switchWorkspace(String authUserId, String workspaceId) { if (!workspaceId.equals(userRepository.getCurrentWorkspaceId(authUserId))) { User authUser = userRepository.findById(authUserId); Workspace workspace = workspaceRepository.findById(workspaceId, authUser); userRepository.setCurrentWorkspace(authUserId, workspace.getWorkspaceId()); workQueueRepository.pushUserCurrentWorkspaceChange(authUser, workspace.getWorkspaceId()); LOGGER.debug("User %s switched current workspace to %s", authUserId, workspaceId); } }
private int setDisplayNameAndOrEmail(SetDisplayNameEmailArgs args) { if (args.displayName == null && args.email == null) { System.out.println("no display name or e-mail address provided"); return -2; } User user = findUser(args); if (args.displayName != null) { getUserRepository().setDisplayName(user, args.displayName); } if (args.email != null) { getUserRepository().setEmailAddress(user, args.email); } printUser(getUserRepository().findById(user.getUserId())); return 0; }
private int setDisplayNameAndOrEmail(SetDisplayNameEmailArgs args) { if (args.displayName == null && args.email == null) { System.out.println("no display name or e-mail address provided"); return -2; } User user = findUser(args); if (args.displayName != null) { getUserRepository().setDisplayName(user, args.displayName); } if (args.email != null) { getUserRepository().setEmailAddress(user, args.email); } printUser(getUserRepository().findById(user.getUserId())); return 0; }
private void setStatus(AtmosphereResource resource, UserStatus status) { broadcaster = resource.getBroadcaster(); try { String authUserId = CurrentUser.getUserId(resource.getRequest()); checkNotNull(authUserId, "Could not find user in session"); User authUser = userRepository.findById(authUserId); checkNotNull(authUser, "Could not find user with id: " + authUserId); if (authUser.getUserStatus() != status) { LOGGER.debug("Setting user %s status to %s", authUserId, status.toString()); userRepository.setStatus(authUserId, status); this.workQueueRepository.pushUserStatusChange(authUser, status); } } catch (Exception ex) { LOGGER.error("Could not update status", ex); } finally { // TODO session is held open by getAppSession // session.close(); } }
private int setPrivileges(SetPrivilegesArgs args) { Set<String> privileges = Privilege.stringToPrivileges(args.privileges); User user = findUser(args); System.out.println("Assigning privileges " + privileges + " to user " + user.getUserId()); getUserRepository().setPrivileges(user, privileges, getUserRepository().getSystemUser()); user = getUserRepository().findById(user.getUserId()); printUser(user); return 0; }
private int create(CreateUserArgs args) { Set<String> authorizations = new HashSet<>(); if (args.authorizations != null && args.authorizations.length() > 0) { authorizations.addAll(Arrays.asList(StringUtils.split(args.authorizations, ','))); } Set<String> privileges; if (args.privileges == null) { privileges = getUserRepository().getDefaultPrivileges(); } else { privileges = Privilege.stringToPrivileges(args.privileges); } getUserRepository().findOrAddUser( args.userName, args.userName, null, args.password, privileges, authorizations ); User user = getUserRepository().findByUsername(args.userName); if (args.displayName != null) { getUserRepository().setDisplayName(user, args.displayName); } if (args.email != null) { getUserRepository().setEmailAddress(user, args.email); } printUser(getUserRepository().findById(user.getUserId())); return 0; }
Authorizations authorizations = graph.createAuthorizations(item.getAuthorizations()); String visibilitySource = ""; User user = userRepository.findById(item.getUserId()); String conceptId = null; Priority priority = Priority.NORMAL;
users = new ArrayList<>(); for (String userId : userIds) { User u = userRepository.findById(userId); if (u == null) { LOGGER.error("User " + userId + " not found");
@Override public ClientApiSearch getSavedSearchOnWorkspace(String id, User user, String workspaceId) { Authorizations authorizations = authorizationRepository.getGraphAuthorizations( user, VISIBILITY_STRING, UserRepository.VISIBILITY_STRING ); Vertex searchVertex = graph.getVertex(id, authorizations); if (searchVertex == null) { return null; } boolean isGlobalSearch = isSearchGlobal(id, authorizations); boolean hasWorkspaceAccess = workspaceId != null && workspaceRepository.hasReadPermissions(workspaceId, user); if (isGlobalSearch || isSearchPrivateToUser(id, user, authorizations)) { return toClientApiSearch(searchVertex); } else if (!isGlobalSearch && !hasWorkspaceAccess) { return null; } else { String workspaceCreatorId = workspaceRepository.getCreatorUserId(workspaceId, user); if (isSearchPrivateToUser(id, userRepository.findById(workspaceCreatorId), authorizations)) { return toClientApiSearch(searchVertex); } return null; } }
private int create(CreateUserArgs args) { getUserRepository().findOrAddUser( args.userName, args.userName, null, args.password ); User user = getUserRepository().findByUsername(args.userName); if (args.displayName != null) { getUserRepository().setDisplayName(user, args.displayName); } if (args.email != null) { getUserRepository().setEmailAddress(user, args.email); } if (getAuthorizationRepositoryCliService() != null) { getAuthorizationRepositoryCliService().onCreateUser(this, args, user, getUser()); } if (getPrivilegeRepositoryCliService() != null) { getPrivilegeRepositoryCliService().onCreateUser(this, args, user, getUser()); } printUser(getUserRepository().findById(user.getUserId())); return 0; }