Class DatabaseManagerBlImpl

java.lang.Object
cz.metacentrum.perun.core.blImpl.DatabaseManagerBlImpl
All Implemented Interfaces:
DatabaseManagerBl

public class DatabaseManagerBlImpl extends Object implements DatabaseManagerBl
Database manager can work with database version and upgraded state of perun DB.
Author:
Michal Stava email:<stavamichal@gmail.com>
  • Field Details

  • Constructor Details

  • Method Details

    • createProperty

      public void createProperty(String property)
      Description copied from interface: DatabaseManagerBl
      Create new property in configurations. Initial value will be "N/A".
      Specified by:
      createProperty in interface DatabaseManagerBl
      Parameters:
      property - name of property to be created
    • getChangelogVersions

      public List<DBVersion> getChangelogVersions(String currentDBVersion, String fileName)
      Description copied from interface: DatabaseManagerBl
      Parses all new database versions from DB changelog file and creates from them list of DBVersion objects. The list contains all versions from currentDBVersion (without currentDBVersion itself) to now (the version at the top of the changelog file)
      Specified by:
      getChangelogVersions in interface DatabaseManagerBl
      Parameters:
      currentDBVersion - current DB version
      fileName - DB changelog file name, file should be in resources
      Returns:
      list of DBVersion objects ordered by version descending
    • getCurrentDatabaseVersion

      public String getCurrentDatabaseVersion()
      Description copied from interface: DatabaseManagerBl
      Return current database version in string (ex. 3.0.1)
      Specified by:
      getCurrentDatabaseVersion in interface DatabaseManagerBl
      Returns:
      return current database version
    • getDatabaseDriverInformation

      public String getDatabaseDriverInformation()
      Description copied from interface: DatabaseManagerBl
      Get DB driver information from datasource (name-version)
      Specified by:
      getDatabaseDriverInformation in interface DatabaseManagerBl
      Returns:
      string information about database driver
    • getDatabaseInformation

      public String getDatabaseInformation()
      Description copied from interface: DatabaseManagerBl
      Get DB information from datasource (name-version)
      Specified by:
      getDatabaseInformation in interface DatabaseManagerBl
      Returns:
      string information about database
    • getDatabaseManagerImpl

      public DatabaseManagerImplApi getDatabaseManagerImpl()
    • getJdbcPerunTemplate

      public JdbcPerunTemplate getJdbcPerunTemplate()
      Description copied from interface: DatabaseManagerBl
      Return JDBC template for performing custom simple SQLs where jdbc is not normally available
      Specified by:
      getJdbcPerunTemplate in interface DatabaseManagerBl
      Returns:
      Peruns JDBC template
    • getTimeOfQueryPerformance

      public long getTimeOfQueryPerformance()
      Description copied from interface: DatabaseManagerBl
      Get time in ns "nanoseconds" of calling 1 simple update query to DB. This query will update property for this purpose in configurations table.
      Specified by:
      getTimeOfQueryPerformance in interface DatabaseManagerBl
      Returns:
      time of processing query in nanoseconds
    • initialize

      protected void initialize()
    • propertyExists

      public boolean propertyExists(String property)
      Description copied from interface: DatabaseManagerBl
      Return true if property already exists, false if not.
      Specified by:
      propertyExists in interface DatabaseManagerBl
      Parameters:
      property - name of property to check existence
      Returns:
      true if property exists, false if not
    • updateDatabaseVersion

      public void updateDatabaseVersion(List<DBVersion> dbVersions)
      Description copied from interface: DatabaseManagerBl
      Method updates database to the current code version. It takes list of dbVersions and executes all the commands from them. Commands from the oldest (lowest) version are executed first.
      Specified by:
      updateDatabaseVersion in interface DatabaseManagerBl
      Parameters:
      dbVersions - list of dbVersion objects ordered by version descending, should not be empty