| 
					
				 | 
			
			
				@@ -49,22 +49,18 @@ public class PathBasedFilterInvocationDefinitionMap extends AbstractFilterInvoca 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private static final Log logger = LogFactory.getLog(PathBasedFilterInvocationDefinitionMap.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //~ Instance fields ================================================================================================ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private List requestMap = new Vector(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private PathMatcher pathMatcher = new AntPathMatcher(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private boolean convertUrlToLowercaseBeforeComparison = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //~ Methods ======================================================================================================== 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void addSecureUrl(String antPath, ConfigAttributeDefinition attr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // SEC-501: If using lower case comparison, we should convert the paths to lower case 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // as any upper case characters included by mistake will prevent the URL from ever being matched. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (convertUrlToLowercaseBeforeComparison) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (isConvertUrlToLowercaseBeforeComparison()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             antPath = antPath.toLowerCase(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        requestMap.add(new EntryHolder(antPath, attr)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        getRequestMap().add(new EntryHolder(antPath, attr)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (logger.isDebugEnabled()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             logger.debug("Added Ant path: " + antPath + "; attributes: " + attr); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -73,7 +69,7 @@ public class PathBasedFilterInvocationDefinitionMap extends AbstractFilterInvoca 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public Iterator getConfigAttributeDefinitions() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Set set = new HashSet(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Iterator iter = requestMap.iterator(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Iterator iter = getRequestMap().iterator(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         while (iter.hasNext()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             EntryHolder entryHolder = (EntryHolder) iter.next(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -83,14 +79,6 @@ public class PathBasedFilterInvocationDefinitionMap extends AbstractFilterInvoca 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return set.iterator(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public int getMapSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return this.requestMap.size(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public boolean isConvertUrlToLowercaseBeforeComparison() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return convertUrlToLowercaseBeforeComparison; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public ConfigAttributeDefinition lookupAttributes(String url) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Strip anything after a question mark symbol, as per SEC-161. See also SEC-321 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int firstQuestionMarkIndex = url.indexOf("?"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -127,14 +115,6 @@ public class PathBasedFilterInvocationDefinitionMap extends AbstractFilterInvoca 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public void setConvertUrlToLowercaseBeforeComparison(boolean convertUrlToLowercaseBeforeComparison) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.convertUrlToLowercaseBeforeComparison = convertUrlToLowercaseBeforeComparison; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    List getRequestMap() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return requestMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //~ Inner Classes ================================================================================================== 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     protected class EntryHolder { 
			 |