Class UpgradeUtils

java.lang.Object
com.atlassian.jira.upgrade.util.UpgradeUtils

public class UpgradeUtils extends Object
  • Constructor Details

  • Method Details

    • transformTableColumn

      public void transformTableColumn(String tableName, String sourceColumn, String targetColumn, org.apache.commons.collections.Transformer transformer)
      Transform a column in a table into another column on that same table. If the source object is null, then the target field will not be set
      Parameters:
      tableName - name of table @Nonnull
      sourceColumn - name of source column @Nonnull
      targetColumn - name of target columns @Nonnull
      transformer - the transformer used to transform the column
    • clearColumn

      public void clearColumn(String tableName, String column)
    • tableExists

      public static boolean tableExists(String tableName) throws DataAccessException
      This method is used to verify if a named table exists or not within the database.
      Parameters:
      tableName - is the name of the table to look for.
      Returns:
      true if the table, exists false otherwise.
      Throws:
      DataAccessException - If there is an error getting a DB connection, or getting the DB meta data
    • getExactColumnName

      @Nullable public static String getExactColumnName(String tableName, String columnName)
      Returns the exact column name according to the database. This is found by case insensitively looking for the given column on the given table.
      Parameters:
      tableName - Table name
      columnName - Column name
      Returns:
      the exact column name or null if it doesn't exist.
    • getColumnType

      @Nullable public static String getColumnType(String tableName, String columnName)
      Returns the type of the column according to the database. The column size is NOT included, so this returns VARCHAR for a VARCHAR(255).
      Parameters:
      tableName - Table name
      columnName - Column name
      Returns:
      the type, without dimension, or null if it does not exist
    • getColumnInfo

      @Nonnull public static <T> Optional<T> getColumnInfo(String tableName, String columnName, UpgradeUtils.ColumnMetaDataExtractor<T> valueExtractor)
      Returns the exact column name according to the database. This is found by case insensitively looking for the given column on the given table.
      Parameters:
      tableName - Table name
      columnName - Column name
      valueExtractor - a function that will obtain the desired information for the column from its metadata
      Returns:
      the extracted value, or empty() if the column was not found
    • getExactTableName

      public static String getExactTableName(String entityName)
    • getJIRABuildVersionNumber

      public static int getJIRABuildVersionNumber()
      This will return the current build version of JIRA present in the database. If JIRA has not been setup then 0 (zero) will be returned as the currnet build number.
      Returns:
      int the current build version of JIRA
    • doColumnsOrTablesExist

      public static void doColumnsOrTablesExist(List<TableColumnCheckResult> tableColumnCheckResults)