SEC-578: Set FilterInvocationDefinitionSource field in FilterChainProxy to null after it has been converted to a map of paths->filters.

This commit is contained in:
Luke Taylor 2007-11-06 23:58:56 +00:00
parent 9f2bc9a842
commit 9fa32bac7c
1 changed files with 4 additions and 3 deletions

View File

@ -106,7 +106,7 @@ public class FilterChainProxy implements Filter, InitializingBean, ApplicationCo
private Map filterChainMap; private Map filterChainMap;
private UrlMatcher matcher = new AntUrlPathMatcher(); private UrlMatcher matcher = new AntUrlPathMatcher();
private FilterInvocationDefinitionSource fids; private FilterInvocationDefinitionSource fids;
//~ Methods ======================================================================================================== //~ Methods ========================================================================================================
public void afterPropertiesSet() throws Exception { public void afterPropertiesSet() throws Exception {
@ -114,6 +114,7 @@ public class FilterChainProxy implements Filter, InitializingBean, ApplicationCo
if (fids != null) { if (fids != null) {
Assert.isNull(uncompiledFilterChainMap, "Set the filterChainMap or FilterInvocationDefinitionSource but not both"); Assert.isNull(uncompiledFilterChainMap, "Set the filterChainMap or FilterInvocationDefinitionSource but not both");
setFilterChainMap(new FIDSToFilterChainMapConverter(fids, applicationContext).getFilterChainMap()); setFilterChainMap(new FIDSToFilterChainMapConverter(fids, applicationContext).getFilterChainMap());
fids = null;
} }
Assert.notNull(uncompiledFilterChainMap, "filterChainMap must be set"); Assert.notNull(uncompiledFilterChainMap, "filterChainMap must be set");
@ -132,7 +133,7 @@ public class FilterChainProxy implements Filter, InitializingBean, ApplicationCo
filters[i].init(filterConfig); filters[i].init(filterConfig);
} }
} }
} }
public void destroy() { public void destroy() {
Filter[] filters = obtainAllDefinedFilters(); Filter[] filters = obtainAllDefinedFilters();
@ -288,7 +289,7 @@ public class FilterChainProxy implements Filter, InitializingBean, ApplicationCo
filterChainMap.put(compiledPath, filters); filterChainMap.put(compiledPath, filters);
} }
} }
/** /**
* Returns a copy of the underlying filter chain map. Modifications to the map contents * Returns a copy of the underlying filter chain map. Modifications to the map contents