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

项目:spring4-understanding    文件:ResourceHandlerRegistryTests.java   
@Test
public void resourceChainWithVersionResolver() throws Exception {
    VersionResourceResolver versionResolver = new VersionResourceResolver()
            .addFixedVersionStrategy("fixed", "/**/*.js")
            .addContentVersionStrategy("/**");

    this.registration.resourceChain(true).addResolver(versionResolver)
            .addTransformer(new AppCacheManifestTransformer());

    ResourceHttpRequestHandler handler = getHandler("/resources/**");
    List<ResourceResolver> resolvers = handler.getResourceResolvers();
    assertThat(resolvers.toString(), resolvers, Matchers.hasSize(4));
    assertThat(resolvers.get(0), Matchers.instanceOf(CachingResourceResolver.class));
    assertThat(resolvers.get(1), Matchers.sameInstance(versionResolver));
    assertThat(resolvers.get(2), Matchers.instanceOf(WebJarsResourceResolver.class));
    assertThat(resolvers.get(3), Matchers.instanceOf(PathResourceResolver.class));

    List<ResourceTransformer> transformers = handler.getResourceTransformers();
    assertThat(transformers, Matchers.hasSize(3));
    assertThat(transformers.get(0), Matchers.instanceOf(CachingResourceTransformer.class));
    assertThat(transformers.get(1), Matchers.instanceOf(CssLinkResourceTransformer.class));
    assertThat(transformers.get(2), Matchers.instanceOf(AppCacheManifestTransformer.class));
}
项目:generator-spring-spa    文件:WebMvcConfig.java   
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {

    String[] locations = null;
    if (devMode()) {
        locations = getDevLocations();
    } else {
        locations = CLASSPATH_RESOURCE_LOCATIONS;
    }
    Integer cachePeriod = devMode() ? 0 : null;
    boolean useResourceCache = !devMode();
    String version = getApplicationVersion();

    AppCacheManifestTransformer appCacheTransformer = new AppCacheManifestTransformer();
    VersionResourceResolver versionResolver = new VersionResourceResolver()
            .addFixedVersionStrategy(version, "/**/*.js", "/**/*.map")
            .addContentVersionStrategy("/**");
    if (locations.length > 0)
        registry.addResourceHandler("/**")
                .addResourceLocations(locations)
                .setCachePeriod(cachePeriod)
                .resourceChain(useResourceCache)
                .addResolver(versionResolver)
                .addTransformer(appCacheTransformer);
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:WebMvcAutoConfigurationTests.java   
@Test
public void resourceHandlerFixedStrategyEnabled() throws Exception {
    load("spring.resources.chain.strategy.fixed.enabled:true",
            "spring.resources.chain.strategy.fixed.version:test",
            "spring.resources.chain.strategy.fixed.paths:/**/*.js");
    assertThat(getResourceResolvers("/webjars/**")).hasSize(3);
    assertThat(getResourceTransformers("/webjars/**")).hasSize(2);
    assertThat(getResourceResolvers("/**")).extractingResultOf("getClass")
            .containsOnly(CachingResourceResolver.class,
                    VersionResourceResolver.class, PathResourceResolver.class);
    assertThat(getResourceTransformers("/**")).extractingResultOf("getClass")
            .containsOnly(CachingResourceTransformer.class,
                    CssLinkResourceTransformer.class);
    VersionResourceResolver resolver = (VersionResourceResolver) getResourceResolvers(
            "/**").get(1);
    assertThat(resolver.getStrategyMap().get("/**/*.js"))
            .isInstanceOf(FixedVersionStrategy.class);
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:WebMvcAutoConfigurationTests.java   
@Test
public void resourceHandlerContentStrategyEnabled() throws Exception {
    load("spring.resources.chain.strategy.content.enabled:true",
            "spring.resources.chain.strategy.content.paths:/**,/*.png");
    assertThat(getResourceResolvers("/webjars/**")).hasSize(3);
    assertThat(getResourceTransformers("/webjars/**")).hasSize(2);
    assertThat(getResourceResolvers("/**")).extractingResultOf("getClass")
            .containsOnly(CachingResourceResolver.class,
                    VersionResourceResolver.class, PathResourceResolver.class);
    assertThat(getResourceTransformers("/**")).extractingResultOf("getClass")
            .containsOnly(CachingResourceTransformer.class,
                    CssLinkResourceTransformer.class);
    VersionResourceResolver resolver = (VersionResourceResolver) getResourceResolvers(
            "/**").get(1);
    assertThat(resolver.getStrategyMap().get("/*.png"))
            .isInstanceOf(ContentVersionStrategy.class);
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:WebMvcAutoConfigurationTests.java   
@Test
public void resourceHandlerChainCustomized() throws Exception {
    load("spring.resources.chain.enabled:true", "spring.resources.chain.cache:false",
            "spring.resources.chain.strategy.content.enabled:true",
            "spring.resources.chain.strategy.content.paths:/**,/*.png",
            "spring.resources.chain.strategy.fixed.enabled:true",
            "spring.resources.chain.strategy.fixed.version:test",
            "spring.resources.chain.strategy.fixed.paths:/**/*.js",
            "spring.resources.chain.html-application-cache:true",
            "spring.resources.chain.gzipped:true");
    assertThat(getResourceResolvers("/webjars/**")).hasSize(3);
    assertThat(getResourceTransformers("/webjars/**")).hasSize(2);
    assertThat(getResourceResolvers("/**")).extractingResultOf("getClass")
            .containsOnly(VersionResourceResolver.class, GzipResourceResolver.class,
                    PathResourceResolver.class);
    assertThat(getResourceTransformers("/**")).extractingResultOf("getClass")
            .containsOnly(CssLinkResourceTransformer.class,
                    AppCacheManifestTransformer.class);
    VersionResourceResolver resolver = (VersionResourceResolver) getResourceResolvers(
            "/**").get(0);
    assertThat(resolver.getStrategyMap().get("/*.png"))
            .isInstanceOf(ContentVersionStrategy.class);
    assertThat(resolver.getStrategyMap().get("/**/*.js"))
            .isInstanceOf(FixedVersionStrategy.class);
}
项目:nikita-noark5-core    文件:AppWebMvcConfiguration.java   
/**
  *  Needed to serve the UI-part of swagger
  */
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("swagger-ui.html")
            .addResourceLocations("classpath:/META-INF/resources/");

    registry.addResourceHandler("/webjars/**")
            .addResourceLocations("classpath:/META-INF/resources/webjars/");

    // Set cache timeout for static resources to reduce resource burden on application
    registry.addResourceHandler("/static/**")
            .addResourceLocations("/static/")
            .setCacheControl(CacheControl.maxAge(365, TimeUnit.DAYS))
            .resourceChain(false)
            .addResolver(new VersionResourceResolver().addContentVersionStrategy("/**"));
}
项目:spring-boot-concourse    文件:WebMvcAutoConfigurationTests.java   
@Test
public void resourceHandlerFixedStrategyEnabled() throws Exception {
    load("spring.resources.chain.strategy.fixed.enabled:true",
            "spring.resources.chain.strategy.fixed.version:test",
            "spring.resources.chain.strategy.fixed.paths:/**/*.js");
    assertThat(getResourceResolvers("/webjars/**")).hasSize(3);
    assertThat(getResourceTransformers("/webjars/**")).hasSize(2);
    assertThat(getResourceResolvers("/**")).extractingResultOf("getClass")
            .containsOnly(CachingResourceResolver.class,
                    VersionResourceResolver.class, PathResourceResolver.class);
    assertThat(getResourceTransformers("/**")).extractingResultOf("getClass")
            .containsOnly(CachingResourceTransformer.class,
                    CssLinkResourceTransformer.class);
    VersionResourceResolver resolver = (VersionResourceResolver) getResourceResolvers(
            "/**").get(1);
    assertThat(resolver.getStrategyMap().get("/**/*.js"))
            .isInstanceOf(FixedVersionStrategy.class);
}
项目:spring-boot-concourse    文件:WebMvcAutoConfigurationTests.java   
@Test
public void resourceHandlerContentStrategyEnabled() throws Exception {
    load("spring.resources.chain.strategy.content.enabled:true",
            "spring.resources.chain.strategy.content.paths:/**,/*.png");
    assertThat(getResourceResolvers("/webjars/**")).hasSize(3);
    assertThat(getResourceTransformers("/webjars/**")).hasSize(2);
    assertThat(getResourceResolvers("/**")).extractingResultOf("getClass")
            .containsOnly(CachingResourceResolver.class,
                    VersionResourceResolver.class, PathResourceResolver.class);
    assertThat(getResourceTransformers("/**")).extractingResultOf("getClass")
            .containsOnly(CachingResourceTransformer.class,
                    CssLinkResourceTransformer.class);
    VersionResourceResolver resolver = (VersionResourceResolver) getResourceResolvers(
            "/**").get(1);
    assertThat(resolver.getStrategyMap().get("/*.png"))
            .isInstanceOf(ContentVersionStrategy.class);
}
项目:spring-boot-concourse    文件:WebMvcAutoConfigurationTests.java   
@Test
public void resourceHandlerChainCustomized() throws Exception {
    load("spring.resources.chain.enabled:true", "spring.resources.chain.cache:false",
            "spring.resources.chain.strategy.content.enabled:true",
            "spring.resources.chain.strategy.content.paths:/**,/*.png",
            "spring.resources.chain.strategy.fixed.enabled:true",
            "spring.resources.chain.strategy.fixed.version:test",
            "spring.resources.chain.strategy.fixed.paths:/**/*.js",
            "spring.resources.chain.html-application-cache:true",
            "spring.resources.chain.gzipped:true");
    assertThat(getResourceResolvers("/webjars/**")).hasSize(3);
    assertThat(getResourceTransformers("/webjars/**")).hasSize(2);
    assertThat(getResourceResolvers("/**")).extractingResultOf("getClass")
            .containsOnly(VersionResourceResolver.class, GzipResourceResolver.class,
                    PathResourceResolver.class);
    assertThat(getResourceTransformers("/**")).extractingResultOf("getClass")
            .containsOnly(CssLinkResourceTransformer.class,
                    AppCacheManifestTransformer.class);
    VersionResourceResolver resolver = (VersionResourceResolver) getResourceResolvers(
            "/**").get(0);
    assertThat(resolver.getStrategyMap().get("/*.png"))
            .isInstanceOf(ContentVersionStrategy.class);
    assertThat(resolver.getStrategyMap().get("/**/*.js"))
            .isInstanceOf(FixedVersionStrategy.class);
}
项目:contestparser    文件:WebMvcAutoConfigurationTests.java   
@Test
public void resourceHandlerFixedStrategyEnabled() throws Exception {
    load("spring.resources.chain.strategy.fixed.enabled:true",
            "spring.resources.chain.strategy.fixed.version:test",
            "spring.resources.chain.strategy.fixed.paths:/**/*.js");
    assertThat(getResourceResolvers("/webjars/**").size(), equalTo(3));
    assertThat(getResourceTransformers("/webjars/**").size(), equalTo(2));
    assertThat(getResourceResolvers("/**").size(), equalTo(3));
    assertThat(getResourceTransformers("/**").size(), equalTo(2));
    assertThat(getResourceResolvers("/**"),
            containsInstances(CachingResourceResolver.class,
                    VersionResourceResolver.class, PathResourceResolver.class));
    assertThat(getResourceTransformers("/**"), containsInstances(
            CachingResourceTransformer.class, CssLinkResourceTransformer.class));
    VersionResourceResolver resolver = (VersionResourceResolver) getResourceResolvers(
            "/**").get(1);
    assertThat(resolver.getStrategyMap().get("/**/*.js"),
            instanceOf(FixedVersionStrategy.class));
}
项目:contestparser    文件:WebMvcAutoConfigurationTests.java   
@Test
public void resourceHandlerContentStrategyEnabled() throws Exception {
    load("spring.resources.chain.strategy.content.enabled:true",
            "spring.resources.chain.strategy.content.paths:/**,/*.png");
    assertThat(getResourceResolvers("/webjars/**").size(), equalTo(3));
    assertThat(getResourceTransformers("/webjars/**").size(), equalTo(2));
    assertThat(getResourceResolvers("/**").size(), equalTo(3));
    assertThat(getResourceTransformers("/**").size(), equalTo(2));
    assertThat(getResourceResolvers("/**"),
            containsInstances(CachingResourceResolver.class,
                    VersionResourceResolver.class, PathResourceResolver.class));
    assertThat(getResourceTransformers("/**"), containsInstances(
            CachingResourceTransformer.class, CssLinkResourceTransformer.class));
    VersionResourceResolver resolver = (VersionResourceResolver) getResourceResolvers(
            "/**").get(1);
    assertThat(resolver.getStrategyMap().get("/*.png"),
            instanceOf(ContentVersionStrategy.class));
}
项目:contestparser    文件:WebMvcAutoConfigurationTests.java   
@Test
public void resourceHandlerChainCustomized() throws Exception {
    load("spring.resources.chain.enabled:true", "spring.resources.chain.cache:false",
            "spring.resources.chain.strategy.content.enabled:true",
            "spring.resources.chain.strategy.content.paths:/**,/*.png",
            "spring.resources.chain.strategy.fixed.enabled:true",
            "spring.resources.chain.strategy.fixed.version:test",
            "spring.resources.chain.strategy.fixed.paths:/**/*.js",
            "spring.resources.chain.html-application-cache:true");
    assertThat(getResourceResolvers("/webjars/**").size(), equalTo(2));
    assertThat(getResourceTransformers("/webjars/**").size(), equalTo(2));
    assertThat(getResourceResolvers("/**").size(), equalTo(2));
    assertThat(getResourceTransformers("/**").size(), equalTo(2));
    assertThat(getResourceResolvers("/**"), containsInstances(
            VersionResourceResolver.class, PathResourceResolver.class));
    assertThat(getResourceTransformers("/**"), containsInstances(
            CssLinkResourceTransformer.class, AppCacheManifestTransformer.class));
    VersionResourceResolver resolver = (VersionResourceResolver) getResourceResolvers(
            "/**").get(0);
    assertThat(resolver.getStrategyMap().get("/*.png"),
            instanceOf(ContentVersionStrategy.class));
    assertThat(resolver.getStrategyMap().get("/**/*.js"),
            instanceOf(FixedVersionStrategy.class));
}
项目:csap-core    文件:CsapCoreService.java   
@Override
    public void addResourceHandlers ( ResourceHandlerRegistry registry ) {

//      if ( Application.isRunningOnDesktop() ) {   // NOT initialized prior to start
        if ( System.getenv( "STAGING" ) == null ) {
            logger.warn( "\n\n\n Desktop detected: Caching DISABLED \n\n\n" );
            return; // when disabled in yaml
            // ONE_YEAR_SECONDS = 0;
            // return;
        } else {
            logger.info( "Web caching enabled" );
        }

        // String version = csapInformation.getVersion(); // this is fixed
        // version from definition
        // // find actual version? or use snap?
        // if ( version.toLowerCase().contains( "snapshot" ) ) {
        // version = "snap" + System.currentTimeMillis();
        // }
        String version = "start" + System.currentTimeMillis();
        VersionResourceResolver versionResolver = new VersionResourceResolver()
            .addFixedVersionStrategy( version,
                "/**/modules/**/*.js" ) // requriesjs uses relative paths
            .addContentVersionStrategy( "/**" );

        // A Handler With Versioning - note images in css files need to be
        // resolved.
        registry.addResourceHandler( "/**/*.js", "/**/*.css", "/**/*.png", "/**/*.gif", "/**/*.jpg" )
            .addResourceLocations( "classpath:/static/", "classpath:/public/" )
            .setCachePeriod( ONE_YEAR_SECONDS )
            .resourceChain( true )
            .addResolver( versionResolver );

    }
项目:spring4-understanding    文件:ResourceChainRegistration.java   
/**
 * Add a resource resolver to the chain.
 * @param resolver the resolver to add
 * @return the current instance for chained method invocation
 */
public ResourceChainRegistration addResolver(ResourceResolver resolver) {
    Assert.notNull(resolver, "The provided ResourceResolver should not be null");
    this.resolvers.add(resolver);
    if (resolver instanceof VersionResourceResolver) {
        this.hasVersionResolver = true;
    }
    else if (resolver instanceof PathResourceResolver) {
        this.hasPathResolver = true;
    }
    return this;
}
项目:spring4-understanding    文件:MvcNamespaceTests.java   
@Test
public void testResourcesWithResolversTransformers() throws Exception {
    loadBeanDefinitions("mvc-config-resources-chain.xml", 11);

    SimpleUrlHandlerMapping mapping = appContext.getBean(SimpleUrlHandlerMapping.class);
    assertNotNull(mapping);
    assertNotNull(mapping.getUrlMap().get("/resources/**"));
    ResourceHttpRequestHandler handler = appContext.getBean((String) mapping.getUrlMap().get("/resources/**"),
            ResourceHttpRequestHandler.class);
    assertNotNull(handler);

    List<ResourceResolver> resolvers = handler.getResourceResolvers();
    assertThat(resolvers, Matchers.hasSize(4));
    assertThat(resolvers.get(0), Matchers.instanceOf(CachingResourceResolver.class));
    assertThat(resolvers.get(1), Matchers.instanceOf(VersionResourceResolver.class));
    assertThat(resolvers.get(2), Matchers.instanceOf(WebJarsResourceResolver.class));
    assertThat(resolvers.get(3), Matchers.instanceOf(PathResourceResolver.class));

    CachingResourceResolver cachingResolver = (CachingResourceResolver) resolvers.get(0);
    assertThat(cachingResolver.getCache(), Matchers.instanceOf(ConcurrentMapCache.class));
    assertEquals("test-resource-cache", cachingResolver.getCache().getName());

    VersionResourceResolver versionResolver = (VersionResourceResolver) resolvers.get(1);
    assertThat(versionResolver.getStrategyMap().get("/**/*.js"),
            Matchers.instanceOf(FixedVersionStrategy.class));
    assertThat(versionResolver.getStrategyMap().get("/**"),
            Matchers.instanceOf(ContentVersionStrategy.class));

    List<ResourceTransformer> transformers = handler.getResourceTransformers();
    assertThat(transformers, Matchers.hasSize(3));
    assertThat(transformers.get(0), Matchers.instanceOf(CachingResourceTransformer.class));
    assertThat(transformers.get(1), Matchers.instanceOf(CssLinkResourceTransformer.class));
    assertThat(transformers.get(2), Matchers.instanceOf(AppCacheManifestTransformer.class));

    CachingResourceTransformer cachingTransformer = (CachingResourceTransformer) transformers.get(0);
    assertThat(cachingTransformer.getCache(), Matchers.instanceOf(ConcurrentMapCache.class));
    assertEquals("test-resource-cache", cachingTransformer.getCache().getName());
}
项目:spring4-understanding    文件:MvcNamespaceTests.java   
@Test
public void testResourcesWithResolversTransformersCustom() throws Exception {
    loadBeanDefinitions("mvc-config-resources-chain-no-auto.xml", 12);

    SimpleUrlHandlerMapping mapping = appContext.getBean(SimpleUrlHandlerMapping.class);
    assertNotNull(mapping);
    assertNotNull(mapping.getUrlMap().get("/resources/**"));
    ResourceHttpRequestHandler handler = appContext.getBean((String) mapping.getUrlMap().get("/resources/**"),
            ResourceHttpRequestHandler.class);
    assertNotNull(handler);

    assertThat(handler.getCacheControl().getHeaderValue(),
            Matchers.equalTo(CacheControl.maxAge(1, TimeUnit.HOURS)
                    .sMaxAge(30, TimeUnit.MINUTES).cachePublic().getHeaderValue()));

    List<ResourceResolver> resolvers = handler.getResourceResolvers();
    assertThat(resolvers, Matchers.hasSize(3));
    assertThat(resolvers.get(0), Matchers.instanceOf(VersionResourceResolver.class));
    assertThat(resolvers.get(1), Matchers.instanceOf(GzipResourceResolver.class));
    assertThat(resolvers.get(2), Matchers.instanceOf(PathResourceResolver.class));

    VersionResourceResolver versionResolver = (VersionResourceResolver) resolvers.get(0);
    assertThat(versionResolver.getStrategyMap().get("/**/*.js"),
            Matchers.instanceOf(FixedVersionStrategy.class));
    assertThat(versionResolver.getStrategyMap().get("/**"),
            Matchers.instanceOf(ContentVersionStrategy.class));

    List<ResourceTransformer> transformers = handler.getResourceTransformers();
    assertThat(transformers, Matchers.hasSize(2));
    assertThat(transformers.get(0), Matchers.instanceOf(CachingResourceTransformer.class));
    assertThat(transformers.get(1), Matchers.instanceOf(AppCacheManifestTransformer.class));
}
项目:spring4-understanding    文件:ResourceHandlerRegistryTests.java   
@Test
public void resourceChainWithOverrides() throws Exception {
    CachingResourceResolver cachingResolver = Mockito.mock(CachingResourceResolver.class);
    VersionResourceResolver versionResolver = Mockito.mock(VersionResourceResolver.class);
    PathResourceResolver pathResourceResolver = new PathResourceResolver();
    CachingResourceTransformer cachingTransformer = Mockito.mock(CachingResourceTransformer.class);
    AppCacheManifestTransformer appCacheTransformer = Mockito.mock(AppCacheManifestTransformer.class);
    CssLinkResourceTransformer cssLinkTransformer = new CssLinkResourceTransformer();

    this.registration.setCachePeriod(3600)
            .resourceChain(false)
                .addResolver(cachingResolver)
                .addResolver(versionResolver)
                .addResolver(pathResourceResolver)
                .addTransformer(cachingTransformer)
                .addTransformer(appCacheTransformer)
                .addTransformer(cssLinkTransformer);

    ResourceHttpRequestHandler handler = getHandler("/resources/**");
    List<ResourceResolver> resolvers = handler.getResourceResolvers();
    assertThat(resolvers.toString(), resolvers, Matchers.hasSize(3));
    assertThat(resolvers.get(0), Matchers.sameInstance(cachingResolver));
    assertThat(resolvers.get(1), Matchers.sameInstance(versionResolver));
    assertThat(resolvers.get(2), Matchers.sameInstance(pathResourceResolver));

    List<ResourceTransformer> transformers = handler.getResourceTransformers();
    assertThat(transformers, Matchers.hasSize(3));
    assertThat(transformers.get(0), Matchers.sameInstance(cachingTransformer));
    assertThat(transformers.get(1), Matchers.sameInstance(appCacheTransformer));
    assertThat(transformers.get(2), Matchers.sameInstance(cssLinkTransformer));
}
项目:konker-platform    文件:WebMvcConfig.java   
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/resources/**").addResourceLocations("/resources/")
            .setCacheControl(CacheControl.maxAge(72, TimeUnit.HOURS).cachePublic())
            .resourceChain(true)
            .addResolver(new VersionResourceResolver().addContentVersionStrategy("/**")).addTransformer(new CssLinkResourceTransformer());
}
项目:todo    文件:WebConfig.java   
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    VersionResourceResolver versionResolver = new VersionResourceResolver()
            .addContentVersionStrategy("/css/**", "/js/**");
    registry.addResourceHandler("/**")
            .addResourceLocations("classpath:static/")
            .setCachePeriod(null)
            .resourceChain(true)
            .addResolver(versionResolver);
}
项目:building-microservices    文件:WebTransformsApplication.java   
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    if (!this.devmode) {
        registry.addResourceHandler("/**").addResourceLocations("classpath:/static/")
                .resourceChain(true)
                .addResolver(new VersionResourceResolver()
                        .addFixedVersionStrategy(this.version, "/**/*.js")
                        .addContentVersionStrategy("/**"))
                .addTransformer(new AppCacheManifestTransformer());
    }
}
项目:sagan    文件:MvcConfig.java   
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {

    VersionResourceResolver versionResourceResolver = new VersionResourceResolver()
            .addFixedVersionStrategy(getGitCommitId(), "/app/**")
            .addContentVersionStrategy("/**");

    registry.addResourceHandler("/**")
            .addResourceLocations("classpath:/static/")
            .resourceChain(true)
            .addResolver(versionResourceResolver);

}