public void contextInitialized(ServletContextEvent servletContextEvent) { try { ServletContext context = servletContextEvent.getServletContext(); String configDir = context.getInitParameter("hawtio.config.dir"); if (configDir != null) { helper.setConfigDirectory(new File(configDir)); } String repo = context.getInitParameter("hawtio.config.repo"); if (repo != null) { helper.setRemoteRepository(repo); } String cloneRemoteRepoOnStartup = context.getInitParameter("hawtio.config.cloneOnStartup"); if (cloneRemoteRepoOnStartup != null && cloneRemoteRepoOnStartup.equals("false")) { helper.setCloneRemoteRepoOnStartup(false); } helper.init(); } catch (Exception e) { throw createServletException(e); } }
/** * Note we pass in the {@link io.hawt.aether.AetherFacade} to ensure that the mvn: URL handler is initialised first before we * start to lazily create the git repository * * @param importUrls the list of app zips URLs to be imported to the library on startup. Supports mvn:group/artifact/version/type/classifier formats in addition to http:, file: etc. */ @Produces @Singleton public GitFacade createGit(@ConfigProperty(name = "IMPORT_APP_URLS") String importUrls, AetherFacade aether) throws Exception { GitFacade git = new GitFacade(); System.out.println("Importing urls: " + importUrls); git.setInitialImportURLs(importUrls); git.setCloneRemoteRepoOnStartup(false); File configDir = new File("library"); if (configDir.exists()) { Files.recursiveDelete(configDir); } configDir.mkdirs(); git.setConfigDirectory(configDir); git.init(); System.out.println("Created library at at: " + configDir.getAbsolutePath()); return git; }