@Override public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { if (bean instanceof IIconLibrary) { IIconLibrary lib = (IIconLibrary) bean; register(lib); log.info(() -> "Registered icon library: " + lib.getId()); } return bean; }
/** * Process FSPs marked for pre-compilation. */ @Override public void onApplicationEvent(ContextRefreshedEvent event) { if (precompiled != null) { Set<String> fsps = precompiled; precompiled = null; for (String fsp : fsps) { String url = fsp.trim(); if (url.isEmpty()) { continue; } if (!"fsp".equals(FilenameUtils.getExtension(url))) { url += ".fsp"; } try { log.info(() -> "Precompiling " + fsp); get(url); } catch (Exception e) { log.warn(() -> "Error precompiling " + fsp, e); } } } }
@Override public void addViewControllers(ViewControllerRegistry registry) { try { Resource[] resources = applicationContext.getResources("/index.*"); if (resources.length > 0) { if (resources.length > 1) { log.warn("Multiple home page candidates detected - only one will be selected."); } String file = "/" + resources[0].getFilename(); registry.addRedirectViewController("/", file); log.info(() -> "Default home page set to: " + file); } else { log.info("No default home page detected."); } } catch (Exception e) { log.error("Error while attempting to detect default home page.", e); } }
/** * Registers a processing instruction parser. * * @param piParser A processing instruction parser. */ private void registerPIParser(PIParserBase piParser) { piParsers.put(piParser.getTarget(), piParser); log.info(() -> "Registered processing instruction parser for target '" + piParser.getTarget() + "'."); }
@Override public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { if (bean instanceof Theme) { Theme newTheme = (Theme) bean; String themeName = newTheme.getName(); Theme oldTheme = get(themeName); if (oldTheme != null) { oldTheme.merge(newTheme); return oldTheme; } register(newTheme); log.info(() -> "Registered theme: " + themeName); } return bean; }
/** * Locates, parses, and registers all type libraries (files with the <code>tld</code> extension) * discovered on the class path. */ @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { try { Resource[] resources = applicationContext.getResources("classpath*:**/*.tld"); for (Resource resource : resources) { log.info(() -> "Found tag library at " + resource); try { register(TagLibraryParser.getInstance().parse(resource)); } catch (Exception e) { log.error("Error parsing tag library", e); } } } catch (Exception e) { throw MiscUtil.toUnchecked(e); } }