@Nonnull @Override public PrincipalIterator perform() { return principalManager.findPrincipals(simpleFilter, searchType); } });
@NotNull @Override public PrincipalIterator perform() { return principalManager.findPrincipals(simpleFilter); } });
@NotNull @Override public PrincipalIterator perform() { return principalManager.findPrincipals(simpleFilter); } });
@NotNull @Override public PrincipalIterator perform() { return principalManager.findPrincipals(simpleFilter, searchType); } });
@NotNull @Override public PrincipalIterator perform() { return principalManager.findPrincipals(simpleFilter, searchType); } });
@Nonnull @Override public PrincipalIterator perform() { return principalManager.findPrincipals(simpleFilter); } });
public void testFindPrincipals() throws RepositoryException { String searchHint = testPrincipalName; // EXERCISE: play with the search hint int searchType = PrincipalManager.SEARCH_TYPE_ALL; // EXERCISE: modify the type flag PrincipalIterator principalIterator = principalManager.findPrincipals(testPrincipalName, searchType); // EXERCISE: what is the expected query result depending on the search hint and the type-flag? }
public void testFindPrincipal() { Principal[] pcpls = getPrincipals(superuser); for (Principal pcpl : pcpls) { if (pcpl.equals(everyone)) { continue; } PrincipalIterator it = principalMgr.findPrincipals(pcpl.getName()); // search must find at least a single principal assertTrue("findPrincipals does not find principal with filter " + pcpl.getName(), it.hasNext()); } }
@Test public void testFindPrincipal() { for (Principal pcpl : adminPrincipals) { if (pcpl.equals(everyone)) { continue; } assertTrue(principalMgr.hasPrincipal(pcpl.getName())); PrincipalIterator it = principalMgr.findPrincipals(pcpl.getName()); // search must find at least a single principal assertTrue("findPrincipals does not find principal with filter '" + pcpl.getName() + '\'', it.hasNext()); } }
public void testFindPrincipalByType() { Principal[] pcpls = getPrincipals(superuser); for (Principal pcpl : pcpls) { if (pcpl.equals(everyone)) { // special case covered by another test continue; } if (isGroup(pcpl)) { PrincipalIterator it = principalMgr.findPrincipals(pcpl.getName(), PrincipalManager.SEARCH_TYPE_GROUP); // search must find at least a single matching group principal assertTrue("findPrincipals does not find principal with filter " + pcpl.getName(), it.hasNext()); } else { PrincipalIterator it = principalMgr.findPrincipals(pcpl.getName(), PrincipalManager.SEARCH_TYPE_NOT_GROUP); // search must find at least a single matching non-group principal assertTrue("findPrincipals does not find principal with filter " + pcpl.getName(), it.hasNext()); } } }
PrincipalIterator it = principalMgr.findPrincipals(everyone.getName()); while (it.hasNext()) { Principal p = it.nextPrincipal(); it = principalMgr.findPrincipals(everyone.getName(), PrincipalManager.SEARCH_TYPE_GROUP); while (it.hasNext()) { Principal p = it.nextPrincipal(); it = principalMgr.findPrincipals(everyone.getName(), PrincipalManager.SEARCH_TYPE_NOT_GROUP); while (it.hasNext()) { Principal p = it.nextPrincipal();
@Test public void testFindPrincipalByType() { for (Principal pcpl : adminPrincipals) { if (pcpl.equals(everyone)) { // special case covered by another test continue; } assertTrue(principalMgr.hasPrincipal(pcpl.getName())); if (isGroup(pcpl)) { PrincipalIterator it = principalMgr.findPrincipals(pcpl.getName(), PrincipalManager.SEARCH_TYPE_GROUP); // search must find at least a single matching group principal assertTrue("findPrincipals does not find principal with filter " + pcpl.getName(), it.hasNext()); } else { PrincipalIterator it = principalMgr.findPrincipals(pcpl.getName(), PrincipalManager.SEARCH_TYPE_NOT_GROUP); // search must find at least a single matching non-group principal assertTrue("findPrincipals does not find principal with filter '" + pcpl.getName() + "' and type " + PrincipalManager.SEARCH_TYPE_NOT_GROUP, it.hasNext()); } } }
PrincipalIterator it = principalMgr.findPrincipals(everyone.getName()); while (it.hasNext()) { Principal p = it.nextPrincipal(); it = principalMgr.findPrincipals(everyone.getName(), PrincipalManager.SEARCH_TYPE_GROUP); while (it.hasNext()) { Principal p = it.nextPrincipal(); it = principalMgr.findPrincipals(everyone.getName(), PrincipalManager.SEARCH_TYPE_NOT_GROUP); while (it.hasNext()) { Principal p = it.nextPrincipal();
public void testFindPrincipalByTypeAll() { Principal[] pcpls = getPrincipals(superuser); for (Principal pcpl : pcpls) { if (pcpl.equals(everyone)) { // special case covered by another test continue; } PrincipalIterator it = principalMgr.findPrincipals(pcpl.getName(), PrincipalManager.SEARCH_TYPE_ALL); PrincipalIterator it2 = principalMgr.findPrincipals(pcpl.getName()); // both search must reveal the same result and size assertTrue(it.getSize() == it2.getSize()); Set<Principal> s1 = new HashSet<Principal>(); Set<Principal> s2 = new HashSet<Principal>(); while (it.hasNext() && it2.hasNext()) { s1.add(it.nextPrincipal()); s2.add(it2.nextPrincipal()); } assertEquals(s1, s2); assertFalse(it.hasNext() && it2.hasNext()); } }
@Test public void testCorrespondance() { boolean exists = principalManager.hasPrincipal(testPrincipalName); Principal principal = principalManager.getPrincipal(testPrincipalName); PrincipalIterator principalIterator = principalManager.findPrincipals(testPrincipalName, PrincipalManager.SEARCH_TYPE_ALL); PrincipalIterator groups = principalManager.getGroupMembership(principal); PrincipalIterator all = principalManager.getPrincipals(PrincipalManager.SEARCH_TYPE_ALL); // EXERCISE: write the corresponding calls for the principal provider and verify the expected result // EXERCISE: which methods have nor corresponding call in the other interface? }
@Test public void testFindPrincipalByTypeAll() { for (Principal pcpl : adminPrincipals) { if (pcpl.equals(everyone)) { // special case covered by another test continue; } assertTrue(principalMgr.hasPrincipal(pcpl.getName())); PrincipalIterator it = principalMgr.findPrincipals(pcpl.getName(), PrincipalManager.SEARCH_TYPE_ALL); PrincipalIterator it2 = principalMgr.findPrincipals(pcpl.getName()); assertTrue("Principal "+ pcpl.getName() + " not found", it.hasNext()); assertTrue("Principal "+ pcpl.getName() + " not found", it2.hasNext()); // both search must reveal the same result and size assertTrue(it.getSize() == it2.getSize()); Set<Principal> s1 = new HashSet<Principal>(); Set<Principal> s2 = new HashSet<Principal>(); while (it.hasNext() && it2.hasNext()) { s1.add(it.nextPrincipal()); s2.add(it2.nextPrincipal()); } assertEquals(s1, s2); assertFalse(it.hasNext() && it2.hasNext()); } }
public void testMultiplePrincipals() throws RepositoryException, NotExecutableException { PrincipalManager pMgr = ((JackrabbitSession) superuser).getPrincipalManager(); Principal everyone = pMgr.getEveryone(); Principal grPrincipal = null; PrincipalIterator it = pMgr.findPrincipals("", PrincipalManager.SEARCH_TYPE_GROUP); while (it.hasNext()) { GroupPrincipal gr = (GroupPrincipal) it.nextPrincipal(); if (!everyone.equals(gr)) { grPrincipal = gr; } } if (grPrincipal == null || grPrincipal.equals(everyone)) { throw new NotExecutableException(); } Privilege[] privs = privilegesFromName(Privilege.JCR_READ); JackrabbitAccessControlList pt = createEmptyTemplate(getTestPath()); pt.addAccessControlEntry(testPrincipal, privs); assertFalse(pt.addAccessControlEntry(testPrincipal, privs)); // add same privileges for another principal -> must modify as well. assertTrue(pt.addAccessControlEntry(everyone, privs)); // .. 2 entries must be present. assertTrue(pt.getAccessControlEntries().length == 2); }