package com.mossle.security.client; import java.util.Collection; import java.util.LinkedHashMap; import java.util.Map; import com.mossle.security.api.UrlSourceFetcher; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.security.access.ConfigAttribute; import org.springframework.security.access.SecurityConfig; import org.springframework.security.web.access.intercept.DefaultFilterInvocationSecurityMetadataSource; import org.springframework.security.web.access.intercept.FilterInvocationSecurityMetadataSource; import org.springframework.security.web.access.intercept.FilterSecurityInterceptor; import org.springframework.security.web.util.matcher.AntPathRequestMatcher; import org.springframework.security.web.util.matcher.RequestMatcher; /** * @deprecated use UrlResourcePopulator instead. */ @Deprecated public class UrlSourceBuilder { private static Logger logger = LoggerFactory .getLogger(UrlSourceBuilder.class); private FilterSecurityInterceptor filterSecurityInterceptor; private UrlSourceFetcher urlSourceFetcher; public void refresh() { if ((filterSecurityInterceptor == null) || (urlSourceFetcher == null)) { logger.info( "filterSecurityInterceptor : {}, urlSourceFetcher : {}", filterSecurityInterceptor, urlSourceFetcher); return; } logger.info("execute refresh"); Map<String, String> resourceMap = urlSourceFetcher.getSource(null); LinkedHashMap<RequestMatcher, Collection<ConfigAttribute>> requestMap = null; requestMap = new LinkedHashMap<RequestMatcher, Collection<ConfigAttribute>>(); for (Map.Entry<String, String> entry : resourceMap.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); requestMap.put(new AntPathRequestMatcher(key), SecurityConfig.createListFromCommaDelimitedString(value)); } FilterInvocationSecurityMetadataSource source = new DefaultFilterInvocationSecurityMetadataSource( requestMap); filterSecurityInterceptor.setSecurityMetadataSource(source); } public void setFilterSecurityInterceptor( FilterSecurityInterceptor filterSecurityInterceptor) { this.filterSecurityInterceptor = filterSecurityInterceptor; } public void setUrlSourceFetcher(UrlSourceFetcher urlSourceFetcher) { this.urlSourceFetcher = urlSourceFetcher; } }