in src/main/java/org/apache/sling/testing/mock/jcr/MockUserManager.java [75:113]
void loadAlreadyExistingAuthorizables() {
try {
Node rootNode = session.getRootNode();
if (rootNode.hasNode("home")) {
FilteringItemVisitor visitor = new FilteringItemVisitor() {
@Override
protected void entering(Node node, int level) throws RepositoryException {
if (node.isNodeType(UserConstants.NT_REP_USER)) {
String userID = node.getProperty(UserConstants.REP_AUTHORIZABLE_ID).getString();
authorizables.computeIfAbsent(userID, id -> new MockUser(id, null, node, MockUserManager.this));
} else if (node.isNodeType(UserConstants.NT_REP_GROUP)) {
String userID = node.getProperty(UserConstants.REP_AUTHORIZABLE_ID).getString();
authorizables.computeIfAbsent(userID, id -> new MockGroup(id, null, node, MockUserManager.this));
}
}
@Override
protected void entering(Property property, int level) throws RepositoryException {
// no-op
}
@Override
protected void leaving(Property property, int level) throws RepositoryException {
// no-op
}
@Override
protected void leaving(Node node, int level) throws RepositoryException {
// no-op
}
};
visitor.setWalkProperties(false);
rootNode.getNode("home").accept(visitor);
}
} catch (RepositoryException e) {
logger.error("Failed to load already existing authorizables", e);
}
}