protected void initializeAliases()

in src/main/java/org/apache/sling/resourceresolver/impl/mapping/AliasHandler.java [111:159]


    protected void initializeAliases() {

        this.initializing.lock();

        // as this can be called multiple times, we need to reset
        // the map here
        this.aliasMapsMap = UNITIALIZED_MAP;

        try {
            // already disposed?
            if (this.factory == null) {
                return;
            }

            List<String> conflictingAliases = new ArrayList<>();
            List<String> invalidAliases = new ArrayList<>();

            // optimization made in SLING-2521
            if (this.factory.isOptimizeAliasResolutionEnabled()) {
                try {
                    this.aliasMapsMap = this.loadAliases(conflictingAliases, invalidAliases);

                    // warn if there are more than a few defunct aliases
                    if (conflictingAliases.size() >= MAX_REPORT_DEFUNCT_ALIASES) {
                        log.warn(
                                "There are {} conflicting aliases; excerpt: {}",
                                conflictingAliases.size(),
                                conflictingAliases);
                    } else if (!conflictingAliases.isEmpty()) {
                        log.warn("There are {} conflicting aliases: {}", conflictingAliases.size(), conflictingAliases);
                    }

                    if (invalidAliases.size() >= MAX_REPORT_DEFUNCT_ALIASES) {
                        log.warn("There are {} invalid aliases; excerpt: {}", invalidAliases.size(), invalidAliases);
                    } else if (!invalidAliases.isEmpty()) {
                        log.warn("There are {} invalid aliases: {}", invalidAliases.size(), invalidAliases);
                    }
                } catch (final Exception e) {
                    this.aliasMapsMap = UNITIALIZED_MAP;
                    logDisableAliasOptimization(e);
                }
            }

            doUpdateConfiguration.run();
            sendChangeEvent.run();
        } finally {
            this.initializing.unlock();
        }
    }