@Bean @ConditionalOnMissingBean({FreeMarkerConfig.class, FreeMarkerViewResolver.class}) public FreeMarkerConfigurer freeMarkerConfigurer() { PluginFreeMarkerConfigurer configurer = new PluginFreeMarkerConfigurer(); applyProperties(configurer); String[] paths = this.properties.getTemplateLoaderPath(); // paths = ArrayUtils.add(paths, WEBFTLS_PATH); configurer.setTemplateLoaderPaths(paths); List<WithAnnotationBeanData<FreeMarkerViewTools>> tools = SpringUtils.getBeansWithAnnotation(applicationContext, FreeMarkerViewTools.class); tools.forEach(t->{ String name = t.getAnnotation().value(); if(StringUtils.isBlank(name)){ name = t.getBean().getClass().getSimpleName(); } configurer.setFreemarkerVariable(name, t.getBean()); logger.info("registered FreeMarkerViewTools : {}", name); }); return configurer; }
@BeforeMethod public void beforeMethod() { MockitoAnnotations.initMocks(this); FreeMarkerViewResolver freeMarkerViewResolver = new FreeMarkerViewResolver(); freeMarkerViewResolver.setSuffix(".ftl"); Menu menu = mock(Menu.class); when(menu.findMenuItemPath(MetadataManagerController.METADATA_MANAGER)).thenReturn("/test/path"); when(menuReaderService.getMenu()).thenReturn(menu); when(appSettings.getLanguageCode()).thenReturn("nl"); User user = mock(User.class); when(user.isSuperuser()).thenReturn(false); when(userAccountService.getCurrentUser()).thenReturn(user); MetadataManagerController metadataEditorController = new MetadataManagerController(menuReaderService, appSettings, metadataManagerService, userAccountService); mockMvc = MockMvcBuilders.standaloneSetup(metadataEditorController).setLocaleResolver(localeResolver) .setMessageConverters(new FormHttpMessageConverter(), gsonHttpMessageConverter) .build(); }
@Bean(name = "viewResolverFTL") public FreeMarkerViewResolver getViewResolverFtl() { FreeMarkerViewResolver viewResolver = new FreeMarkerViewResolver(); viewResolver.setPrefix(""); viewResolver.setSuffix(".ftl"); viewResolver.setOrder(1); return viewResolver; }
@Bean public FreeMarkerViewResolver freemarkerViewResolver() { FreeMarkerViewResolver resolver = new FreeMarkerViewResolver(); resolver.setPrefix(""); resolver.setCache(false); resolver.setOrder(3); return resolver; }
@Bean @ConditionalOnMissingBean(name = "freeMarkerViewResolver") @ConditionalOnProperty(name = "spring.freemarker.enabled", matchIfMissing = true) public FreeMarkerViewResolver freeMarkerViewResolver() { FreeMarkerViewResolver resolver = new FreeMarkerViewResolver(); this.properties.applyToViewResolver(resolver); return resolver; }
@Bean @ConditionalOnBean(FreeMarkerViewResolver.class) public LiteDeviceDelegatingViewResolver deviceDelegatingFreemarkerViewResolver( DeviceDelegatingViewResolverFactory factory, FreeMarkerViewResolver viewResolver) { return factory.createViewResolver(viewResolver); }
@Test public void allowSessionOverride() { registerAndRefreshContext("spring.freemarker.allow-session-override:true"); AbstractTemplateViewResolver viewResolver = this.context .getBean(FreeMarkerViewResolver.class); assertThat(ReflectionTestUtils.getField(viewResolver, "allowSessionOverride")) .isEqualTo(true); }
private MockHttpServletResponse render(String viewName) throws Exception { FreeMarkerViewResolver resolver = this.context .getBean(FreeMarkerViewResolver.class); View view = resolver.resolveViewName(viewName, Locale.UK); assertThat(view).isNotNull(); HttpServletRequest request = new MockHttpServletRequest(); request.setAttribute(RequestContext.WEB_APPLICATION_CONTEXT_ATTRIBUTE, this.context); MockHttpServletResponse response = new MockHttpServletResponse(); view.render(null, request, response); return response; }
@Test public void deviceDelegatingFreemarkerViewResolver() throws Exception { load(Collections.<Class<?>>singletonList(FreeMarkerAutoConfiguration.class), "spring.mobile.devicedelegatingviewresolver.enabled:true"); assertThat(this.context.getBeansOfType(LiteDeviceDelegatingViewResolver.class)) .hasSize(2); assertLiteDeviceDelegatingViewResolver( this.context.getBean(FreeMarkerViewResolver.class), "deviceDelegatingFreemarkerViewResolver"); }
@Bean public ViewResolver viewResolver() { FreeMarkerViewResolver resolver = new FreeMarkerViewResolver("", ".ftl"); resolver.setCache(true); resolver.setPrefix(""); return resolver; }
@Bean public FreeMarkerViewResolver freeMarkerViewResolver() { FreeMarkerViewResolver resolver = new FreeMarkerViewResolver(); resolver.setCache(true); resolver.setPrefix(""); resolver.setSuffix(".ftl"); resolver.setContentType("text/html;charset=UTF-8"); return resolver; }
@Bean public FreeMarkerViewResolver viewResolver() { final FreeMarkerViewResolver resolver = new FreeMarkerViewResolver(); resolver.setCache(true); resolver.setPrefix(""); resolver.setSuffix(".ftl"); resolver.setViewClass(FreeMarkerView.class); resolver.setContentType("text/html; charset=utf-8"); resolver.setExposeSpringMacroHelpers(true); return resolver; }
@Override public void init() throws ServletException { ApplicationContext applicationContext = WebApplicationContextUtils.getRequiredWebApplicationContext( getServletContext()); freeMarkerViewResolver = applicationContext.getBean(FreeMarkerViewResolver.class); Method method = ReflectionUtils.findMethod(FreeMarkerViewResolver.class, "getSuffix"); ReflectionUtils.makeAccessible(method); suffix = ReflectionUtils.invokeMethod(method, freeMarkerViewResolver).toString(); inited = true; LOG.debug("spring freemarker servlet initialized, freemarker suffix [{}]", suffix); }
/** * Create a web application context suitable for FreeMarker unit testing. */ private static void configureKradWebApplicationContext() { MockServletContext sctx = new MockServletContext(); StaticWebApplicationContext ctx = new StaticWebApplicationContext(); ctx.setServletContext(sctx); MutablePropertyValues mpv = new MutablePropertyValues(); mpv.add("preferFileSystemAccess", false); mpv.add("templateLoaderPath", "/krad-web"); Properties props = new Properties(); props.put("number_format", "computer"); props.put("template_update_delay", "2147483647"); mpv.add("freemarkerSettings", props); ctx.registerSingleton("freemarkerConfig", FreeMarkerConfigurer.class, mpv); mpv = new MutablePropertyValues(); mpv.add("cache", true); mpv.add("prefix", ""); mpv.add("suffix", ".ftl"); ctx.registerSingleton("viewResolver", FreeMarkerViewResolver.class, mpv); ctx.registerSingleton("freeMarkerInputBootstrap", FreeMarkerInlineRenderBootstrap.class); ctx.refresh(); ctx.start(); sctx.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, ctx); webApplicationContext = ctx; }
@Test public void allowSessionOverride() { registerAndRefreshContext("spring.freemarker.allow-session-override:true"); AbstractTemplateViewResolver viewResolver = this.context .getBean(FreeMarkerViewResolver.class); assertThat((Boolean) ReflectionTestUtils.getField(viewResolver, "allowSessionOverride"), is(true)); }
private MockHttpServletResponse render(String viewName) throws Exception { FreeMarkerViewResolver resolver = this.context .getBean(FreeMarkerViewResolver.class); View view = resolver.resolveViewName(viewName, Locale.UK); assertThat(view, notNullValue()); HttpServletRequest request = new MockHttpServletRequest(); request.setAttribute(RequestContext.WEB_APPLICATION_CONTEXT_ATTRIBUTE, this.context); MockHttpServletResponse response = new MockHttpServletResponse(); view.render(null, request, response); return response; }
@Bean public ViewResolver getViewResolver() { final FreeMarkerViewResolver resolver = new FreeMarkerViewResolver(); resolver.setCache(false); resolver.setPrefix(""); resolver.setSuffix(".ftl"); resolver.setContentType("text/html; charset=UTF-8"); return resolver; }
@Bean public ViewResolver ftlViewResolver() { final FreeMarkerViewResolver resolver = new FreeMarkerViewResolver(); resolver.setOrder(0); resolver.setCache(true); // resolver.setPrefix(""); resolver.setSuffix(".ftl"); return resolver; }
@BeforeMethod public void setUp() throws CaptchaException { FreeMarkerViewResolver freeMarkerViewResolver = new FreeMarkerViewResolver(); freeMarkerViewResolver.setSuffix(".ftl"); mockMvc = MockMvcBuilders.standaloneSetup(authenticationController) .setMessageConverters(new FormHttpMessageConverter(), new MolgenisGsonHttpMessageConverter(new Gson())) .build(); reset(authenticationSettings); reset(captchaService); when(captchaService.validateCaptcha("validCaptcha")).thenReturn(true); reset(accountService); // mocks in the config class are not resetted after each test }
/** * Enable spring freemarker viewresolver. All freemarker template names should end with '.ftl' */ @Bean public ViewResolver viewResolver() { FreeMarkerViewResolver resolver = new FreeMarkerViewResolver(); resolver.setCache(true); resolver.setSuffix(".ftl"); resolver.setContentType("text/html;charset=UTF-8"); return resolver; }
@Bean(name = "viewResolver") public FreeMarkerViewResolver providesViewResolver() { FreeMarkerViewResolver vr = new FreeMarkerViewResolver(); vr.setCache(true); vr.setPrefix(""); vr.setSuffix(".ftl"); return vr; }
@Bean ViewResolver freeMarkerViewResolver() { FreeMarkerViewResolver resolver = new FreeMarkerViewResolver(); resolver.setSuffix(".ftl"); return resolver; }
private FreeMarkerRegistration() { super(new FreeMarkerViewResolver()); getViewResolver().setSuffix(".ftl"); }
@Bean public FreeMarkerViewResolver freeMarkerViewResolver() { FreeMarkerViewResolver viewResolver = new FreeMarkerViewResolver(); viewResolver.setSuffix(".ftl"); return viewResolver; }
@Test public void freeMarker() { this.registry.freeMarker().prefix("/").suffix(".fmt").cache(false); FreeMarkerViewResolver resolver = checkAndGetResolver(FreeMarkerViewResolver.class); checkPropertyValues(resolver, "prefix", "/", "suffix", ".fmt", "cacheLimit", 0); }
@Test public void freeMarkerDefaultValues() { this.registry.freeMarker(); FreeMarkerViewResolver resolver = checkAndGetResolver(FreeMarkerViewResolver.class); checkPropertyValues(resolver, "prefix", "", "suffix", ".ftl"); }
@Test public void defaultConfiguration() { registerAndRefreshContext(); assertThat(this.context.getBean(FreeMarkerViewResolver.class)).isNotNull(); assertThat(this.context.getBean(FreeMarkerConfigurer.class)).isNotNull(); }
@Test public void disableCache() { registerAndRefreshContext("spring.freemarker.cache:false"); assertThat(this.context.getBean(FreeMarkerViewResolver.class).getCacheLimit()) .isEqualTo(0); }
@Test public void defaultConfiguration() { registerAndRefreshContext(); assertThat(this.context.getBean(FreeMarkerViewResolver.class), notNullValue()); assertThat(this.context.getBean(FreeMarkerConfigurer.class), notNullValue()); }
@Test public void disableCache() { registerAndRefreshContext("spring.freemarker.cache:false"); assertThat(this.context.getBean(FreeMarkerViewResolver.class).getCacheLimit(), equalTo(0)); }
@Bean public FreemarkerStaticModels freemarkerStaticModels(FreeMarkerViewResolver freeMarkerViewResolver) { Properties properties = staticProperties(); FreemarkerStaticModels.getInstance().setStaticModels(properties); freeMarkerViewResolver.setAttributesMap(FreemarkerStaticModels.getInstance()); return FreemarkerStaticModels.getInstance(); }