@Override protected File getRuntimeHome() { return generator.getNuxeoHome(); }
@Override public File getConfigDir() { return new File(generator.getNuxeoHome(), Environment.DEFAULT_CONFIG_DIR); }
@Override public File getRuntimeHome() { return new File(generator.getNuxeoHome(), "nxserver"); }
/** * @return Log directory * @since 5.4.2 */ public File getLogDir() { if (logDir == null) { logDir = new File(generator.getNuxeoHome(), org.nuxeo.common.Environment.DEFAULT_LOG_DIR); } return logDir; }
@Override public File getServerLibDir() { return new File(generator.getNuxeoHome(), "lib"); }
@Override public boolean isWizardAvailable() { File wizardWAR = new File(generator.getNuxeoHome(), "templates" + File.separator + "nuxeo-wizard.war"); return wizardWAR.exists(); }
/** * @return true if {@link #JETTY_CONFIG} file directory already exists */ @Override protected boolean isConfigured() { return new File(generator.getNuxeoHome(), JETTY_CONFIG).exists(); }
@Override protected File getRuntimeHome() { return new File(System.getProperty(Environment.NUXEO_RUNTIME_HOME, generator.getNuxeoHome().getPath())); }
/** * @return Marketplace Packages directory * @since 5.9.4 */ public File getPackagesDir() { if (packagesDir == null) { packagesDir = new File(generator.getNuxeoHome(), getDefaultPackagesDir()); } return packagesDir; }
/** * @return Temporary directory * @since 5.4.2 */ public File getTmpDir() { if (tmpDir == null) { tmpDir = new File(generator.getNuxeoHome(), getDefaultTmpDir()); } return tmpDir; }
@Override public void prepareWizardStart() { try { // remove Tomcat configuration of Nuxeo context File contextXML = new File(generator.getNuxeoHome(), getTomcatConfig()); contextXML.delete(); // deploy wizard WAR File wizardWAR = new File(generator.getNuxeoHome(), "templates" + File.separator + "nuxeo-wizard.war"); File nuxeoWAR = new File(generator.getNuxeoHome(), "webapps" + File.separator + getContextName() + ".war"); nuxeoWAR.delete(); FileUtils.copyFile(wizardWAR, nuxeoWAR); } catch (IOException e) { log.error("Could not change Tomcat configuration to run wizard instead of Nuxeo.", e); } }
/** * @return Data directory * @since 5.4.2 */ public File getDataDir() { if (dataDir == null) { dataDir = new File(generator.getNuxeoHome(), getDefaultDataDir()); } return dataDir; }
/** * @return File pointing to the directory containing the marketplace packages included in the distribution * @since 5.6 */ public File getDistributionMPDir() { String mpDir = userConfig.getProperty(PARAM_MP_DIR, DISTRIBUTION_MP_DIR); return new File(getNuxeoHome(), mpDir); }
/** * @return true if {@link #getTomcatConfig()} file already exists */ @Override protected boolean isConfigured() { return new File(generator.getNuxeoHome(), getTomcatConfig()).exists(); }
/** * Store into {@link #NEW_FILES} the list of new files deployed by the templates. For later use by * {@link #deleteTemplateFiles()} */ private void storeNewFilesList(List<String> newFilesList) throws IOException { File newFiles = new File(generator.getNuxeoHome(), NEW_FILES); try (BufferedWriter writer = new BufferedWriter( new OutputStreamWriter(new FileOutputStream(newFiles, false), "UTF-8"))) { // Store new files listing int index = generator.getNuxeoHome().getCanonicalPath().length() + 1; for (String filepath : newFilesList) { writer.write(new File(filepath).getCanonicalPath().substring(index)); writer.newLine(); } } }
@Override public void cleanupPostWizard() { File nuxeoWAR = new File(generator.getNuxeoHome(), "webapps" + File.separator + getContextName()); if (nuxeoWAR.exists()) { try { FileUtils.deleteDirectory(nuxeoWAR); } catch (IOException e) { log.error("Could not delete " + nuxeoWAR, e); } } nuxeoWAR = new File(nuxeoWAR.getPath() + ".war"); if (nuxeoWAR.exists()) { if (!FileUtils.deleteQuietly(nuxeoWAR)) { log.warn("Could not delete " + nuxeoWAR); try { nuxeoWAR.deleteOnExit(); } catch (SecurityException e) { log.warn("Cannot delete " + nuxeoWAR); } } } }
File newFiles = new File(generator.getNuxeoHome(), NEW_FILES); if (!newFiles.exists()) { return; log.debug("Restore " + line); try { File backup = new File(generator.getNuxeoHome(), line); File original = new File(generator.getNuxeoHome(), line.substring(0, line.length() - 4)); FileUtils.copyFile(backup, original); backup.delete(); new File(generator.getNuxeoHome(), line).delete();
/** * Make absolute the directory passed in parameter. If it was relative, then store absolute path in user config * instead of relative and return value * * @param key Directory system key * @param directory absolute or relative directory path * @return absolute directory path * @since 5.4.2 */ private String setAbsolutePath(String key, String directory) { if (!new File(directory).isAbsolute()) { directory = new File(generator.getNuxeoHome(), directory).getPath(); generator.getUserConfig().setProperty(key, directory); } return directory; }
/** * Check server paths; warn if existing deprecated paths. Override this method to perform server specific checks. * * @throws ConfigurationException If deprecated paths have been detected * @since 5.4.2 */ public void checkPaths() throws ConfigurationException { File badInstanceClid = new File(generator.getNuxeoHome(), getDefaultDataDir() + File.separator + "instance.clid"); if (badInstanceClid.exists() && !getDataDir().equals(badInstanceClid.getParentFile())) { log.warn(String.format("Moving %s to %s.", badInstanceClid, getDataDir())); try { FileUtils.moveFileToDirectory(badInstanceClid, getDataDir(), true); } catch (IOException e) { throw new ConfigurationException("NXP-6722 move failed: " + e.getMessage(), e); } } File oldPackagesPath = new File(getDataDir(), getDefaultPackagesDir()); if (oldPackagesPath.exists() && !oldPackagesPath.equals(getPackagesDir())) { log.warn(String.format( "NXP-8014 Packages cache location changed. You can safely delete %s or move its content to %s", oldPackagesPath, getPackagesDir())); } }
/** * @since 5.6 * @return an {@link Environment} initialized with a few basics */ public Environment getEnv() { /* * It could be useful to initialize DEFAULT env in {@link #setBasicConfiguration()}... For now, the generated * {@link Environment} is not static. */ if (env == null) { env = new Environment(getRuntimeHome()); File distribFile = new File(new File(nuxeoHome, TEMPLATES), "common/config/distribution.properties"); if (distribFile.exists()) { try { env.loadProperties(loadTrimmedProperties(distribFile)); } catch (IOException e) { log.error(e); } } env.loadProperties(userConfig); env.setServerHome(getNuxeoHome()); env.init(); env.setData(userConfig.getProperty(Environment.NUXEO_DATA_DIR, "data")); env.setLog(userConfig.getProperty(Environment.NUXEO_LOG_DIR, "logs")); env.setTemp(userConfig.getProperty(Environment.NUXEO_TMP_DIR, "tmp")); env.setPath(PARAM_MP_DIR, getDistributionMPDir(), env.getServerHome()); env.setPath(Environment.NUXEO_MP_DIR, getPackagesDir(), env.getServerHome()); } return env; }