Class TeamCityDataDirectoryManager


  • public class TeamCityDataDirectoryManager
    extends Object
    Manipulates with the TeamCity Data Directory. One instance of this class relates to one path.
    Since:
    7.1
    Author:
    Leonid Bushuev from JetBrains
    • Constructor Detail

      • TeamCityDataDirectoryManager

        public TeamCityDataDirectoryManager​(@NotNull
                                            File rootDir,
                                            @NotNull
                                            Logger logger)
        Constructs an instance of TeamCity Data Directory manager. It binds to the given path and can not be rebinded later.
        Parameters:
        rootDir - the directory path.
        logger -
    • Method Detail

      • setDatabasePropertiesFile

        public void setDatabasePropertiesFile​(@NotNull
                                              File databasePropertiesFile)
      • isRootDirExist

        public boolean isRootDirExist()
        Checks whether the directory exists.
        Returns:
        exists.
      • isJdbcDirWritable

        public boolean isJdbcDirWritable()
        Checks whether jdbc directory writable.
        Returns:
        exists.
      • getRootDir

        @NotNull
        public File getRootDir()
        Data Directory (the root point).
        Returns:
        the Data Directory.
      • getConfigDir

        @NotNull
        public File getConfigDir()
        Returns the config directory.
        Returns:
        the config directory.
      • getSystemDir

        @NotNull
        public File getSystemDir()
        Returns the system directory.
        Returns:
        the system directory.
      • getJdbcDir

        @NotNull
        public File getJdbcDir()
        Returns the jdbc drivers directory.
        Returns:
        the jdbc drivers directory.
      • getMainConfigFile

        @NotNull
        public File getMainConfigFile()
        Returns the main configuration file.
        Returns:
        the main configuration file.
      • getNodesConfigFile

        @NotNull
        public File getNodesConfigFile()
      • getDatabasePropertiesFile

        @NotNull
        public File getDatabasePropertiesFile()
        Returns the database properties file.
        Returns:
        the database properties file.
      • getInternalDatabaseDataFile

        public File getInternalDatabaseDataFile()
      • extractPresets

        public void extractPresets()
      • listNonTeamcityFolders

        public List<String> listNonTeamcityFolders()
        Determines that this directory contains alien (non-Teamcity) stuff, and return it.
        Returns:
        alien stuff.
        See Also:
        containsConfiguredTeamcity()
      • containsConfiguredTeamcity

        public boolean containsConfiguredTeamcity()
        Determines that the directory contains configured TeamCity stuff. Currently, it just looks for the main-config.xml file, but this behaviour is a subject to change later.
        Returns:
        the directory contains TeamCity stuff.
        See Also:
        listNonTeamcityFolders()
      • isDataDirInitialized

        public boolean isDataDirInitialized()
        Returns:
        true when the data directory was fully initialized and can be used by secondary nodes.
      • markDataDirectoryAsInitialized

        public void markDataDirectoryAsInitialized()