package org.springframework.security.oauth.config; import org.springframework.beans.factory.BeanFactoryUtils; import org.springframework.beans.factory.ListableBeanFactory; import org.springframework.beans.factory.config.AbstractFactoryBean; import org.springframework.security.oauth.consumer.InMemoryProtectedResourceDetailsService; import org.springframework.security.oauth.consumer.ProtectedResourceDetails; import org.springframework.security.oauth.consumer.ProtectedResourceDetailsService; import java.util.Map; /** * Factory bean for the resource details service. * * @author Ryan Heaton */ public class ProtectedResourceDetailsServiceFactoryBean extends AbstractFactoryBean<ProtectedResourceDetailsService> { @Override public Class<? extends ProtectedResourceDetailsService> getObjectType() { return InMemoryProtectedResourceDetailsService.class; } @Override protected ProtectedResourceDetailsService createInstance() throws Exception { Map<String, ProtectedResourceDetails> detailsMap = BeanFactoryUtils.beansOfTypeIncludingAncestors((ListableBeanFactory) getBeanFactory(), ProtectedResourceDetails.class); InMemoryProtectedResourceDetailsService service = new InMemoryProtectedResourceDetailsService(); service.setResourceDetailsStore(detailsMap); return service; } }