@Override public void activate(ComponentContext context) throws Exception { super.activate(context); ctx = context; String webDir = Framework.getProperty("org.nuxeo.ecm.web.root"); File root = null; if (webDir != null) { root = new File(webDir); } else { root = new File(Framework.getRuntime().getHome(), "web"); } root = root.getCanonicalFile(); log.info("Using web root: " + root); if (!new File(root, "default").exists()) { try { root.mkdirs(); // runtime predeployment is not supporting conditional unziping so we do the predeployment // here: deployWebDir(context.getRuntimeContext().getBundle(), root); } catch (Exception e) { // delete incomplete files FileUtils.deleteTree(root); throw e; } } // register contrib managers registerContributionManager(APPLICATION_XP, new ContributionManager(this)); registerContributionManager(WEB_OBJ_XP, new ContributionManager(this)); // load message bundle notifier = new FileChangeNotifier(); notifier.start(); notifier.addListener(this); engine = new DefaultWebEngine(root, notifier); deployer = new ConfigurationDeployer(notifier); deployer.addConfigurationChangedListener(this); }