Author: asanso Date: Tue Feb 26 15:41:50 2013 New Revision: 1450227 URL: http://svn.apache.org/r1450227 Log: SLING-2741 - Bad Vanity URL breaks whole Sling Resource Resolver
Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntry.java Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java?rev=1450227&r1=1450226&r2=1450227&view=diff ============================================================================== --- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java (original) +++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java Tue Feb 26 15:41:50 2013 @@ -442,7 +442,13 @@ public class MapEntries implements Event } // add resolution entries for this node - final MapEntry childResolveEntry = MapEntry.createResolveEntry(childPath, child, trailingSlash); + MapEntry childResolveEntry = null; + try{ + childResolveEntry=MapEntry.createResolveEntry(childPath, child, trailingSlash); + }catch (IllegalArgumentException iae){ + //ignore this entry + log.debug("ignored entry due exception ",iae); + } if (childResolveEntry != null) { entries.add(childResolveEntry); } Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntry.java URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntry.java?rev=1450227&r1=1450226&r2=1450227&view=diff ============================================================================== --- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntry.java (original) +++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntry.java Tue Feb 26 15:41:50 2013 @@ -207,8 +207,18 @@ public class MapEntry implements Compara internalRedirect.length); for (final String redir : internalRedirect) { if (!redir.contains("$")) { - prepEntries.add(new MapEntry(redir.concat(endHook), - status, trailingSlash, url)); + MapEntry mapEntry = null; + try{ + mapEntry = new MapEntry(redir.concat(endHook), status, trailingSlash, url); + }catch (IllegalArgumentException iae){ + //ignore this entry + LoggerFactory + .getLogger(MapEntry.class) + .debug("ignored entry due exception ",iae); + } + if (mapEntry!=null){ + prepEntries.add(mapEntry); + } } }