Skip to content

Commit

Permalink
Merge pull request #2610 from Mvld3r/issue-2313-move-jira-configuration
Browse files Browse the repository at this point in the history
Fix: Move jira configuration
  • Loading branch information
nscuro committed Mar 22, 2023
2 parents 7a6de03 + 0e82216 commit 8a4b59a
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions src/main/java/org/dependencytrack/upgrade/v480/v480Updater.java
Expand Up @@ -24,6 +24,11 @@
import alpine.server.util.DbUtil;

import java.sql.Connection;
import java.sql.PreparedStatement;

import static org.dependencytrack.model.ConfigPropertyConstants.JIRA_URL;
import static org.dependencytrack.model.ConfigPropertyConstants.JIRA_USERNAME;
import static org.dependencytrack.model.ConfigPropertyConstants.JIRA_PASSWORD;

public class v480Updater extends AbstractUpgradeItem {

Expand All @@ -36,6 +41,11 @@ public String getSchemaVersion() {

@Override
public void executeUpgrade(final AlpineQueryManager qm, final Connection connection) throws Exception {
changeJdbcTypeOfComponentAuthorColumn(connection);
setJiraPropertyValuesFromJiraToIntegrationGroup(qm, connection);
}

private void changeJdbcTypeOfComponentAuthorColumn(Connection connection) throws Exception {
// Fixes https://github.com/DependencyTrack/dependency-track/issues/2488
// The JDBC type "CLOB" is mapped to the type CLOB for H2, MEDIUMTEXT for MySQL, and TEXT for PostgreSQL and SQL Server.
LOGGER.info("Changing JDBC type of \"COMPONENT\".\"AUTHOR\" from VARCHAR to CLOB");
Expand All @@ -56,4 +66,29 @@ public void executeUpgrade(final AlpineQueryManager qm, final Connection connect
DbUtil.executeUpdate(connection, "ALTER TABLE \"COMPONENT\" RENAME COLUMN \"AUTHOR_V48\" TO \"AUTHOR\"");
}
}

private void setJiraPropertyValuesFromJiraToIntegrationGroup(AlpineQueryManager qm, Connection connection) throws Exception {
LOGGER.info("Setting Jira property values from Groupname 'jira' to Groupname 'integrations'");
final PreparedStatement ps = connection.prepareStatement("""
UPDATE "CONFIGPROPERTY" SET "PROPERTYVALUE" = (
SELECT "PROPERTYVALUE" FROM "CONFIGPROPERTY"
WHERE "GROUPNAME" = 'jira' AND "PROPERTYNAME" = ?
) WHERE "GROUPNAME" = 'integrations' AND "PROPERTYNAME" = ?
""");

ps.setString(1, JIRA_URL.getPropertyName());
ps.setString(2, JIRA_URL.getPropertyName());
ps.executeUpdate();

ps.setString(1, JIRA_USERNAME.getPropertyName());
ps.setString(2, JIRA_USERNAME.getPropertyName());
ps.executeUpdate();

ps.setString(1, JIRA_PASSWORD.getPropertyName());
ps.setString(2, JIRA_PASSWORD.getPropertyName());
ps.executeUpdate();

LOGGER.info("Removing Groupname 'jira'");
DbUtil.executeUpdate(connection, "DELETE FROM \"CONFIGPROPERTY\" WHERE \"GROUPNAME\" = 'jira'");
}
}

0 comments on commit 8a4b59a

Please sign in to comment.