/** * Adds a child to this path element * * @param name */ public SecureTreeNode addChild(String name) { if (getChild(name) != null) throw new IllegalArgumentException( "This pathElement " + name + " is already among my children"); SecureTreeNode child = new SecureTreeNode(this); children.put(name, child); return child; }
SecureTreeNode buildAuthorizationTree(DataAccessRuleDAO dao) { SecureTreeNode root = new SecureTreeNode();
private SecureTreeNode buildAuthorizationTree(Collection<WpsAccessRule> rules) { SecureTreeNode root = new SecureTreeNode(); for (WpsAccessRule rule : rules) { String group = rule.getGroupName();
@Test public void testEmptyRoot() { SecureTreeNode root = new SecureTreeNode(); // smoke tests assertNull(root.getChild("NotThere")); assertEquals(SecureTreeNode.EVERYBODY, root.getAuthorizedRoles(AccessMode.READ)); assertEquals(SecureTreeNode.EVERYBODY, root.getAuthorizedRoles(AccessMode.WRITE)); // empty, deepest node is itself SecureTreeNode node = root.getDeepestNode(new String[] {"a", "b"}); assertSame(root, node); // allows access to everyone assertTrue(root.canAccess(anonymous, AccessMode.WRITE)); assertTrue(root.canAccess(anonymous, AccessMode.READ)); // make sure this includes not having a current user as well assertTrue(root.canAccess(null, AccessMode.WRITE)); assertTrue(root.canAccess(null, AccessMode.READ)); } }