Java 类org.springframework.web.servlet.resource.ResourceUrlProvider 实例源码

项目:edoras-one-initializr    文件:AbstractInitializrController.java   
protected AbstractInitializrController(InitializrMetadataProvider metadataProvider,
                                          ResourceUrlProvider resourceUrlProvider) {
    this.metadataProvider = metadataProvider;
    this.linkTo = link -> {
        String result = resourceUrlProvider.getForLookupPath(link);
        return result == null ? link : result;
    };
}
项目:spring4-understanding    文件:ResourcesBeanDefinitionParser.java   
private void registerUrlProvider(ParserContext parserContext, Object source) {
    if (!parserContext.getRegistry().containsBeanDefinition(RESOURCE_URL_PROVIDER)) {
        RootBeanDefinition urlProvider = new RootBeanDefinition(ResourceUrlProvider.class);
        urlProvider.setSource(source);
        urlProvider.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
        parserContext.getRegistry().registerBeanDefinition(RESOURCE_URL_PROVIDER, urlProvider);
        parserContext.registerComponent(new BeanComponentDefinition(urlProvider, RESOURCE_URL_PROVIDER));

        RootBeanDefinition interceptor = new RootBeanDefinition(ResourceUrlProviderExposingInterceptor.class);
        interceptor.setSource(source);
        interceptor.getConstructorArgumentValues().addIndexedArgumentValue(0, urlProvider);

        RootBeanDefinition mappedInterceptor = new RootBeanDefinition(MappedInterceptor.class);
        mappedInterceptor.setSource(source);
        mappedInterceptor.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
        mappedInterceptor.getConstructorArgumentValues().addIndexedArgumentValue(0, (Object) null);
        mappedInterceptor.getConstructorArgumentValues().addIndexedArgumentValue(1, interceptor);
        String mappedInterceptorName = parserContext.getReaderContext().registerWithGeneratedName(mappedInterceptor);
        parserContext.registerComponent(new BeanComponentDefinition(mappedInterceptor, mappedInterceptorName));
    }
}
项目:blog-java2    文件:CachingResourceUrlEncodingFilter.java   
private void initLookupPath(ResourceUrlProvider urlProvider) {
        if (this.indexLookupPath == null) {
UrlPathHelper pathHelper = urlProvider.getUrlPathHelper();
String requestUri = pathHelper.getRequestUri(this.request);
String lookupPath = pathHelper.getLookupPathForRequest(this.request);
            this.indexLookupPath = requestUri.lastIndexOf(lookupPath);
            this.prefixLookupPath = requestUri.substring(0, this.indexLookupPath);

            if ("/".equals(lookupPath) && !"/".equals(requestUri)) {
    String contextPath = pathHelper.getContextPath(this.request);
                if (requestUri.equals(contextPath)) {
                    this.indexLookupPath = requestUri.length();
                    this.prefixLookupPath = requestUri;
                }
            }
        }
    }
项目:edoras-one-initializr    文件:MainController.java   
public MainController(InitializrMetadataProvider metadataProvider,
                         ResourceUrlProvider resourceUrlProvider,
                         ProjectGenerator projectGenerator,
                         DependencyMetadataProvider dependencyMetadataProvider) {
    super(metadataProvider, resourceUrlProvider);
    this.projectGenerator = projectGenerator;
    this.dependencyMetadataProvider = dependencyMetadataProvider;
}
项目:edoras-one-initializr    文件:InitializrAutoConfiguration.java   
@Bean
@ConditionalOnMissingBean
public MainController initializrMainController(
        InitializrMetadataProvider metadataProvider,
        ResourceUrlProvider resourceUrlProvider,
        ProjectGenerator projectGenerator,
        DependencyMetadataProvider dependencyMetadataProvider) {
    return new MainController(metadataProvider, resourceUrlProvider
            , projectGenerator, dependencyMetadataProvider);
}
项目:spring4-understanding    文件:WebMvcConfigurationSupport.java   
@Bean
public ResourceUrlProvider mvcResourceUrlProvider() {
    ResourceUrlProvider urlProvider = new ResourceUrlProvider();
    UrlPathHelper pathHelper = getPathMatchConfigurer().getUrlPathHelper();
    if (pathHelper != null) {
        urlProvider.setUrlPathHelper(pathHelper);
    }
    PathMatcher pathMatcher = getPathMatchConfigurer().getPathMatcher();
    if (pathMatcher != null) {
        urlProvider.setPathMatcher(pathMatcher);
    }
    return urlProvider;
}
项目:spring4-understanding    文件:MvcNamespaceTests.java   
@Test
public void testResources() throws Exception {
    loadBeanDefinitions("mvc-config-resources.xml", 10);

    HttpRequestHandlerAdapter adapter = appContext.getBean(HttpRequestHandlerAdapter.class);
    assertNotNull(adapter);

    ResourceHttpRequestHandler handler = appContext.getBean(ResourceHttpRequestHandler.class);
    assertNotNull(handler);

    SimpleUrlHandlerMapping mapping = appContext.getBean(SimpleUrlHandlerMapping.class);
    assertNotNull(mapping);
    assertEquals(Ordered.LOWEST_PRECEDENCE - 1, mapping.getOrder());

    BeanNameUrlHandlerMapping beanNameMapping = appContext.getBean(BeanNameUrlHandlerMapping.class);
    assertNotNull(beanNameMapping);
    assertEquals(2, beanNameMapping.getOrder());

    ResourceUrlProvider urlProvider = appContext.getBean(ResourceUrlProvider.class);
    assertNotNull(urlProvider);

    MappedInterceptor mappedInterceptor = appContext.getBean(MappedInterceptor.class);
    assertNotNull(urlProvider);
    assertEquals(ResourceUrlProviderExposingInterceptor.class, mappedInterceptor.getInterceptor().getClass());

    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setRequestURI("/resources/foo.css");
    request.setMethod("GET");

    HandlerExecutionChain chain = mapping.getHandler(request);
    assertTrue(chain.getHandler() instanceof ResourceHttpRequestHandler);

    MockHttpServletResponse response = new MockHttpServletResponse();
    for (HandlerInterceptor interceptor : chain.getInterceptors()) {
        interceptor.preHandle(request, response, chain.getHandler());
    }
    ModelAndView mv = adapter.handle(request, response, chain.getHandler());
    assertNull(mv);
}
项目:blog-java2    文件:CachingResourceUrlEncodingFilter.java   
@Override
public String encodeURL(String url) {

    String value = resolveCache.get(url);
    if (value != null) {
        return value;
    }

    if (encTargetPrefixWithContextPath == null || url.startsWith(encTargetPrefixWithContextPath)) {

        ResourceUrlProvider resourceUrlProvider = getResourceUrlProvider();
        if (resourceUrlProvider == null) {
            logger.debug("Request attribute exposing ResourceUrlProvider not found");
            return super.encodeURL(url);
        }

        initLookupPath(resourceUrlProvider);
        if (url.startsWith(this.prefixLookupPath)) {
            int suffixIndex = getQueryParamsIndex(url);
            String suffix = url.substring(suffixIndex);
            String lookupPath = url.substring(this.indexLookupPath, suffixIndex);
            lookupPath = resourceUrlProvider.getForLookupPath(lookupPath);
            if (lookupPath != null) {
                value = super.encodeURL(this.prefixLookupPath + lookupPath + suffix);
                if (value != null) {
                    resolveCache.put(url, value);
                }
                return value;
            }
        }
    }

    return super.encodeURL(url);
}
项目:initializr    文件:MainController.java   
public MainController(InitializrMetadataProvider metadataProvider,
        TemplateRenderer templateRenderer, ResourceUrlProvider resourceUrlProvider,
        ProjectGenerator projectGenerator,
        DependencyMetadataProvider dependencyMetadataProvider) {
    super(metadataProvider, resourceUrlProvider);
    this.projectGenerator = projectGenerator;
    this.dependencyMetadataProvider = dependencyMetadataProvider;
    this.commandLineHelpGenerator = new CommandLineHelpGenerator(templateRenderer);
}
项目:initializr    文件:AbstractInitializrController.java   
protected AbstractInitializrController(InitializrMetadataProvider metadataProvider,
        ResourceUrlProvider resourceUrlProvider) {
    this.metadataProvider = metadataProvider;
    this.linkTo = link -> {
        String result = resourceUrlProvider.getForLookupPath(link);
        return result == null ? link : result;
    };
}
项目:initializr    文件:InitializrAutoConfiguration.java   
@Bean
@ConditionalOnMissingBean
public MainController initializrMainController(
        InitializrMetadataProvider metadataProvider,
        TemplateRenderer templateRenderer,
        ResourceUrlProvider resourceUrlProvider,
        ProjectGenerator projectGenerator,
        DependencyMetadataProvider dependencyMetadataProvider) {
    return new MainController(metadataProvider, templateRenderer, resourceUrlProvider
            , projectGenerator, dependencyMetadataProvider);
}
项目:blog-java2    文件:CachingResourceUrlEncodingFilter.java   
private ResourceUrlProvider getResourceUrlProvider() {
    return (ResourceUrlProvider) this.request
            .getAttribute(ResourceUrlProviderExposingInterceptor.RESOURCE_URL_PROVIDER_ATTR);
}
项目:herd    文件:RestSpringModuleConfig.java   
@Bean
@Override
public ResourceUrlProvider mvcResourceUrlProvider()
{
    return super.mvcResourceUrlProvider();
}
项目:initializr    文件:LegacyStsController.java   
public LegacyStsController(InitializrMetadataProvider metadataProvider,
        ResourceUrlProvider resourceUrlProvider) {
    super(metadataProvider, resourceUrlProvider);
}
项目:initializr    文件:LegacyStsControllerIntegrationTests.java   
@Bean
public LegacyStsController legacyStsController(
        InitializrMetadataProvider metadataProvider,
        ResourceUrlProvider resourceUrlProvider) {
    return new LegacyStsController(metadataProvider, resourceUrlProvider);
}
项目:initializr    文件:InitializrService.java   
@Bean
@SuppressWarnings("deprecation")
public LegacyStsController legacyStsController(InitializrMetadataProvider metadataProvider,
        ResourceUrlProvider resourceUrlProvider) {
    return new LegacyStsController(metadataProvider, resourceUrlProvider);
}