in src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java [610:651]
private void loadConfiguration(final MapConfigurationProvider factory, final List<MapEntry> entries) {
// virtual uris
final Map<String, String> virtuals = factory.getVirtualURLMap();
if (virtuals != null) {
for (final Entry<String, String> virtualEntry : virtuals.entrySet()) {
final String extPath = virtualEntry.getKey();
final String intPath = virtualEntry.getValue();
if (!extPath.equals(intPath)) {
// this regular expression must match the whole URL !!
final String url = "^" + ANY_SCHEME_HOST + extPath + "$";
MapEntry mapEntry = getMapEntry(url, -1, intPath);
if (mapEntry != null) {
entries.add(mapEntry);
}
}
}
}
// URL Mappings
final Mapping[] mappings = factory.getMappings();
if (mappings != null) {
final Map<String, List<String>> map = new HashMap<>();
for (final Mapping mapping : mappings) {
if (mapping.mapsInbound()) {
final String url = mapping.getTo();
final String alias = mapping.getFrom();
if (!url.isEmpty()) {
List<String> aliasList = map.computeIfAbsent(url, k -> new ArrayList<>());
aliasList.add(alias);
}
}
}
for (final Entry<String, List<String>> entry : map.entrySet()) {
MapEntry mapEntry = getMapEntry(
ANY_SCHEME_HOST + entry.getKey(), -1, entry.getValue().toArray(new String[0]));
if (mapEntry != null) {
entries.add(mapEntry);
}
}
}
}