public TermsOfServiceConfig()

in termsOfService-server/src/main/java/jetbrains/buildServer/termsOfService/TermsOfServiceConfig.java [28:53]


    public TermsOfServiceConfig(@NotNull EventDispatcher<BuildServerListener> myEvents,
                                @NotNull ServerPaths serverPaths,
                                @NotNull FileWatcherFactory fileWatcherFactory) {
        myConfigDir = new File(serverPaths.getConfigDir(), "termsOfService");
        mySettingsFile = new File(myConfigDir, CONFIG_FILE);

        int watchInterval = TeamCityProperties.getInteger("teamcity.termsOfService.configWatchInterval", 10000);
        FilesWatcher filesWatcher = fileWatcherFactory.createManyFilesWatcher(
                () -> FileUtil.listFiles(myConfigDir, (dir, name) -> true),
                watchInterval);

        filesWatcher.registerListener((newFiles, modified, removed) -> loadSettings());
        myEvents.addListener(new BuildServerAdapter() {
            @Override
            public void serverStartup() {
                extractDefaultConfig();
                loadSettings();
                filesWatcher.start();
            }

            @Override
            public void serverShutdown() {
                filesWatcher.stop();
            }
        });
    }