/** * Return a {@link ConcourseServerPreferences} handler that is backed by the * configuration information in {@code file}. * * @param file the absolute path to the preferences file (relative paths * will resolve to the user's home directory) * @return the preferences handler * @deprecated use {@link ConcourseServerPreferences#from(Path...)} instead */ @Deprecated public static ConcourseServerPreferences open(String file) { return from(Paths.get(file)); }
/** * Construct a new instance. * * @param installDirectory */ private ManagedConcourseServer(String installDirectory) { this.installDirectory = installDirectory; this.prefs = ConcourseServerPreferences.from(Paths.get(installDirectory + File.separator + CONF + File.separator + "concourse.prefs")); prefs.setLogLevel(Level.DEBUG); this.destroyOnExitFlag = Paths.get(installDirectory) .resolve(".destroyOnExit"); destroyOnExit(true); Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() { @Override public void run() { if(destroyOnExit()) { destroy(); } } })); }
/** * Tweak some of the preferences to make this more palatable for testing * (i.e. reduce the possibility of port conflicts, etc). * * @param installDirectory */ private static void configure(String installDirectory) { ConcourseServerPreferences prefs = ConcourseServerPreferences .from(Paths.get(installDirectory + File.separator + CONF + File.separator + "concourse.prefs")); String data = installDirectory + File.separator + "data"; prefs.setBufferDirectory(data + File.separator + "buffer"); prefs.setDatabaseDirectory(data + File.separator + "database"); prefs.setClientPort(getOpenPort()); prefs.setJmxPort(getOpenPort()); prefs.setLogLevel(Level.DEBUG); prefs.setShutdownPort(getOpenPort()); }