Package com.atlassian.jira.upgrade.util
Class UpgradeUtils
java.lang.Object
com.atlassian.jira.upgrade.util.UpgradeUtils
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
clearColumn
(String tableName, String column) static void
doColumnsOrTablesExist
(List<TableColumnCheckResult> tableColumnCheckResults) static <T> Optional<T>
getColumnInfo
(String tableName, String columnName, UpgradeUtils.ColumnMetaDataExtractor<T> valueExtractor) Returns the exact column name according to the database.static String
getColumnType
(String tableName, String columnName) Returns the type of the column according to the database.static String
getExactColumnName
(String tableName, String columnName) Returns the exact column name according to the database.static String
getExactTableName
(String entityName) static int
This will return the current build version of JIRA present in the database.static boolean
tableExists
(String tableName) This method is used to verify if a named table exists or not within the database.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.
-
Constructor Details
-
UpgradeUtils
-
-
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 @NonnullsourceColumn
- name of source column @NonnulltargetColumn
- name of target columns @Nonnulltransformer
- the transformer used to transform the column
-
clearColumn
-
tableExists
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
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 namecolumnName
- Column name- Returns:
- the exact column name or null if it doesn't exist.
-
getColumnType
Returns the type of the column according to the database. The column size is NOT included, so this returnsVARCHAR
for aVARCHAR(255)
.- Parameters:
tableName
- Table namecolumnName
- 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 namecolumnName
- Column namevalueExtractor
- 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
-
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
-