in src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java [1569:1614]
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 + "$";
final String redirect = intPath;
MapEntry mapEntry = getMapEntry(url, -1, false, redirect);
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.length() > 0) {
List<String> aliasList = map.get(url);
if (aliasList == null) {
aliasList = new ArrayList<>();
map.put(url, aliasList);
}
aliasList.add(alias);
}
}
}
for (final Entry<String, List<String>> entry : map.entrySet()) {
MapEntry mapEntry = getMapEntry(ANY_SCHEME_HOST + entry.getKey(), -1, false, entry.getValue().toArray(new String[0]));
if (mapEntry!=null){
entries.add(mapEntry);
}
}
}
}