@Override public Collection<User> delegate(UserManager userManager) { return userManager.getAllUsers(); } });
/** * @return Collection<User> * @throws RepositoryException */ protected static Collection<User> getAllUserNodes(UserManager manager) throws RepositoryException { return manager.getAllUsers(); }
@Override public void broadcastMessage(Message message) { Collection<User> users; try { users = securitySupportProvider.get().getUserManager().getAllUsers(); } catch (UnsupportedOperationException e) { logger.error("Unable to broadcast message because UserManager does not support enumerating its users", e); return; } for (User user : users) { sendMessage(user.getName(), message); } // Reset it to null simply to avoid assumptions about the id in calling code message.setId(null); }
@Test public void getAllUsersIgnoresUnsupportedUserManagersAndCollects() { // GIVEN when(aUserManager.getAllUsers()).thenReturn(Lists.newArrayList(ALY)); when(bUserManager.getAllUsers()).thenReturn(Lists.newArrayList(BILLY)); final DelegatingUserManager delegator = new DelegatingUserManager(ImmutableMap.of( "aUsers", aUserManager, "nope", nopeUserManager, "bUsers", bUserManager)); // WHEN THEN assertThat(new Execution() { @Override public void evaluate() throws Exception { usersResult = delegator.getAllUsers(); } }, throwsNothing()); assertThat(usersResult, is(not(empty()))); assertThat(usersResult, containsInAnyOrder(ALY, BILLY)); }
@Override @Before public void setUp() throws Exception { super.setUp(); session = SessionTestUtil.createSession("messages", "/"); MockUtil.initMockContext(); MockUtil.setSystemContextSessionAndHierarchyManager(session); MockUtil.getMockContext().setUser(createMockUser("system")); MessageStore messageStore = new MessageStore(); alice = createMockUser("alice"); bob = createMockUser("bob"); ArrayList<User> users = new ArrayList<User>(); users.add(alice); users.add(bob); when(userManager.getAllUsers()).thenReturn(users); SecuritySupport securitySupport = mock(SecuritySupport.class); when(securitySupport.getUserManager()).thenReturn(userManager); messagesManager = new MessagesManagerImpl(Providers.of(securitySupport), messageStore); }