private static Principal getPrincipal()

in src/main/java/org/apache/sling/jcr/repoinit/impl/AclUtil.java [212:233]


    private static Principal getPrincipal(SessionContext context, String name, boolean ignoreMissingPrincipal)
            throws RepositoryException {
        Principal principal = context.getPrincipal(name);
        if (principal == null) {
            // backwards compatibility: fallback to original code treating principal name as authorizable ID (see
            // SLING-8604)
            final Authorizable authorizable = UserUtil.getAuthorizable(context.getSession(), name);
            if (!ignoreMissingPrincipal) {
                checkState(authorizable != null, "Authorizable not found: {0}", name);
                principal = authorizable.getPrincipal();
            } else {
                if (authorizable != null) {
                    principal = authorizable.getPrincipal();
                }
                if (principal == null) {
                    principal = () -> name;
                }
            }
        }
        checkState(principal != null, PRINCIPAL_NOT_FOUND_PATTERN, name);
        return principal;
    }