Bläddra i källkod

SONAR-6366 rename DatabaseMigration to MigrationStep

also rename DatabaseMigrations to MigrationSteps
this is required to to make room for the more appropriatly named DatabaseMigration class that deals with triggering the database migration
tags/5.2-RC1
Sébastien Lesaint 9 år sedan
förälder
incheckning
505cf2ae56
100 ändrade filer med 574 tillägg och 510 borttagningar
  1. 9
    8
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/AddColumnsBuilder.java
  2. 4
    4
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/BaseDataChange.java
  3. 4
    4
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/BaseSqlStatement.java
  4. 2
    2
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/DataChange.java
  5. 0
    107
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/DatabaseMigrations.java
  6. 10
    9
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/DatabaseMigrator.java
  7. 4
    4
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/DdlChange.java
  8. 5
    1
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/DropColumnsBuilder.java
  9. 3
    3
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/MassUpdate.java
  10. 2
    2
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/MigrationStep.java
  11. 140
    0
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/MigrationSteps.java
  12. 2
    2
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/Select.java
  13. 3
    3
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/SelectImpl.java
  14. 2
    2
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/SqlStatement.java
  15. 4
    5
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/SqlUtil.java
  16. 2
    2
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/UpsertImpl.java
  17. 3
    4
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v36/Progress.java
  18. 10
    8
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v36/Referentials.java
  19. 12
    11
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v36/ViolationConverter.java
  20. 5
    4
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v36/ViolationConverters.java
  21. 5
    6
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v36/ViolationMigrationStep.java
  22. 4
    4
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v42/CompleteIssueMessageMigrationStep.java
  23. 7
    7
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v42/PackageKeysMigrationStep.java
  24. 5
    5
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v43/ConvertIssueDebtToMinutesMigrationStep.java
  25. 6
    6
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v43/DevelopmentCostMeasuresMigrationStep.java
  26. 13
    12
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v43/IssueChangelogMigrationStep.java
  27. 5
    5
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v43/NotResolvedIssuesOnRemovedComponentsMigrationStep.java
  28. 4
    4
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v43/RequirementMeasuresMigrationStep.java
  29. 8
    8
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v43/TechnicalDebtMeasuresMigrationStep.java
  30. 1
    1
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v43/WorkDurationConvertor.java
  31. 7
    7
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/ChangeLogMigrationStep.java
  32. 7
    7
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/ConvertProfileMeasuresMigrationStep.java
  33. 5
    5
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/FeedQProfileDatesMigrationStep.java
  34. 4
    4
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/FeedQProfileKeysMigrationStep.java
  35. 5
    5
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/IssueActionPlanKeyMigrationStep.java
  36. 4
    4
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/MeasureDataMigrationStep.java
  37. 8
    8
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v45/AddMissingRuleParameterDefaultValuesMigrationStep.java
  38. 6
    5
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v45/DeleteMeasuresOnDeletedProfilesMigrationStep.java
  39. 15
    14
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v451/AddMissingCustomRuleParametersMigrationStep.java
  40. 4
    4
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v451/DeleteUnescapedActivities.java
  41. 7
    7
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v50/FeedFileSources.java
  42. 3
    3
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v50/FeedIssueLongDates.java
  43. 2
    2
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v50/FeedSnapshotSourcesUpdatedAt.java
  44. 16
    11
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v50/FileSourceDto.java
  45. 4
    4
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v50/InsertProjectsAuthorizationUpdatedAtMigrationStep.java
  46. 12
    11
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v50/PopulateProjectsUuidColumnsMigrationStep.java
  47. 8
    7
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v50/RemoveSortFieldFromIssueFiltersMigrationStep.java
  48. 12
    8
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v50/ReplaceIssueFiltersProjectKeyByUuid.java
  49. 2
    2
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/AddIssuesColumns.java
  50. 9
    8
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/AddNewCharacteristics.java
  51. 12
    11
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/CopyScmAccountsFromAuthorsToUsers.java
  52. 3
    2
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/DropIssuesColumns.java
  53. 3
    3
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/FeedAnalysisReportsLongDates.java
  54. 3
    3
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/FeedEventsLongDates.java
  55. 9
    8
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/FeedFileSourcesBinaryData.java
  56. 3
    3
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/FeedIssueChangesLongDates.java
  57. 2
    2
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/FeedIssueComponentUuids.java
  58. 5
    5
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/FeedIssueTags.java
  59. 3
    3
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/FeedIssuesLongDates.java
  60. 3
    3
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/FeedManualMeasuresLongDates.java
  61. 3
    3
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/FeedSemaphoresLongDates.java
  62. 3
    3
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/FeedSnapshotsLongDates.java
  63. 3
    3
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/FeedUsersLongDates.java
  64. 4
    4
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/RemovePermissionsOnModulesMigrationStep.java
  65. 5
    4
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/RenameComponentRelatedParamsInIssueFilters.java
  66. 4
    4
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/UpdateProjectsModuleUuidPath.java
  67. 2
    2
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v52/FeedEventsComponentUuid.java
  68. 2
    2
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v52/FeedProjectLinksComponentUuid.java
  69. 10
    5
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v52/MoveProjectProfileAssociation.java
  70. 2
    2
      server/sonar-server/src/main/java/org/sonar/server/platform/ServerComponents.java
  71. 5
    5
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/DatabaseMigratorTest.java
  72. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/MigrationStepsTest.java
  73. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v36/ViolationMigrationTest.java
  74. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v42/CompleteIssueMessageMigrationTest.java
  75. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v42/PackageKeysMigrationTest.java
  76. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v43/ConvertIssueDebtToMinutesMigrationTest.java
  77. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v43/DevelopmentCostMeasuresMigrationTest.java
  78. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v43/IssueChangelogMigrationTest.java
  79. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v43/NotResolvedIssuesOnRemovedComponentsMigrationTest.java
  80. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v43/RequirementMeasuresMigrationTest.java
  81. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v43/TechnicalDebtMeasuresMigrationTest.java
  82. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/ChangeLogMigrationTest.java
  83. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/ConvertProfileMeasuresMigrationTest.java
  84. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/FeedQProfileDatesMigrationTest.java
  85. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/FeedQProfileKeysMigrationTest.java
  86. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/IssueActionPlanKeyMigrationTest.java
  87. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/MeasureDataMigrationTest.java
  88. 3
    3
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v45/AddMissingRuleParameterDefaultValuesMigrationTest.java
  89. 3
    3
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v45/DeleteMeasuresOnDeletedProfilesMigrationTest.java
  90. 3
    3
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v451/AddMissingCustomRuleParametersMigrationTest.java
  91. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v451/DeleteUnescapedActivitiesTest.java
  92. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/FeedIssueLongDatesTest.java
  93. 3
    3
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/InsertProjectsAuthorizationUpdatedAtMigrationTest.java
  94. 3
    3
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/PopulateProjectsUuidColumnsMigrationTest.java
  95. 3
    3
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/RemoveSortFieldFromIssueFiltersMigrationTest.java
  96. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/ReplaceIssueFiltersProjectKeyByUuidTest.java
  97. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v51/AddIssuesColumnsTest.java
  98. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest.java
  99. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v51/CopyScmAccountsFromAuthorsToUsersTest.java
  100. 0
    0
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v51/FeedAnalysisReportsLongDatesTest.java

+ 9
- 8
server/sonar-server/src/main/java/org/sonar/server/db/migrations/AddColumnsBuilder.java Visa fil

@@ -19,19 +19,20 @@
*/
package org.sonar.server.db.migrations;

import com.google.common.base.CharMatcher;
import com.google.common.base.Preconditions;
import org.sonar.core.persistence.dialect.Dialect;
import org.sonar.core.persistence.dialect.MsSql;
import org.sonar.core.persistence.dialect.Oracle;
import org.sonar.core.persistence.dialect.PostgreSql;
import static com.google.common.collect.Lists.newArrayList;

import java.util.List;

import javax.annotation.CheckForNull;
import javax.annotation.Nullable;

import java.util.List;
import org.sonar.core.persistence.dialect.Dialect;
import org.sonar.core.persistence.dialect.MsSql;
import org.sonar.core.persistence.dialect.Oracle;
import org.sonar.core.persistence.dialect.PostgreSql;

import static com.google.common.collect.Lists.newArrayList;
import com.google.common.base.CharMatcher;
import com.google.common.base.Preconditions;

public class AddColumnsBuilder {


+ 4
- 4
server/sonar-server/src/main/java/org/sonar/server/db/migrations/BaseDataChange.java Visa fil

@@ -19,13 +19,13 @@
*/
package org.sonar.server.db.migrations;

import org.apache.commons.dbutils.DbUtils;
import org.sonar.core.persistence.Database;

import java.sql.Connection;
import java.sql.SQLException;

public abstract class BaseDataChange implements DataChange, DatabaseMigration {
import org.apache.commons.dbutils.DbUtils;
import org.sonar.core.persistence.Database;

public abstract class BaseDataChange implements DataChange, MigrationStep {

private final Database db;


+ 4
- 4
server/sonar-server/src/main/java/org/sonar/server/db/migrations/BaseSqlStatement.java Visa fil

@@ -19,16 +19,16 @@
*/
package org.sonar.server.db.migrations;

import org.apache.commons.dbutils.DbUtils;

import javax.annotation.Nullable;

import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.sql.Types;
import java.util.Date;

import javax.annotation.Nullable;

import org.apache.commons.dbutils.DbUtils;

class BaseSqlStatement<CHILD extends SqlStatement> implements SqlStatement<CHILD> {
protected PreparedStatement pstmt;


+ 2
- 2
server/sonar-server/src/main/java/org/sonar/server/db/migrations/DataChange.java Visa fil

@@ -19,11 +19,11 @@
*/
package org.sonar.server.db.migrations;

import org.sonar.core.persistence.Database;

import java.sql.Connection;
import java.sql.SQLException;

import org.sonar.core.persistence.Database;

public interface DataChange {

class Context {

+ 0
- 107
server/sonar-server/src/main/java/org/sonar/server/db/migrations/DatabaseMigrations.java Visa fil

@@ -1,107 +0,0 @@
/*
* SonarQube, open source software quality management tool.
* Copyright (C) 2008-2014 SonarSource
* mailto:contact AT sonarsource DOT com
*
* SonarQube is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* SonarQube is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.db.migrations;

import com.google.common.collect.ImmutableList;
import org.sonar.server.db.migrations.v36.ViolationMigration;
import org.sonar.server.db.migrations.v42.CompleteIssueMessageMigration;
import org.sonar.server.db.migrations.v42.PackageKeysMigration;
import org.sonar.server.db.migrations.v43.*;
import org.sonar.server.db.migrations.v44.*;
import org.sonar.server.db.migrations.v45.AddMissingRuleParameterDefaultValuesMigration;
import org.sonar.server.db.migrations.v45.DeleteMeasuresOnDeletedProfilesMigration;
import org.sonar.server.db.migrations.v451.AddMissingCustomRuleParametersMigration;
import org.sonar.server.db.migrations.v451.DeleteUnescapedActivities;
import org.sonar.server.db.migrations.v50.*;
import org.sonar.server.db.migrations.v51.*;
import org.sonar.server.db.migrations.v52.FeedEventsComponentUuid;
import org.sonar.server.db.migrations.v52.FeedProjectLinksComponentUuid;
import org.sonar.server.db.migrations.v52.MoveProjectProfileAssociation;

import java.util.List;

public interface DatabaseMigrations {

List<Class<? extends DatabaseMigration>> CLASSES = ImmutableList.of(
// 3.6
ViolationMigration.class,

// 4.2
PackageKeysMigration.class, CompleteIssueMessageMigration.class,

// 4.3
ConvertIssueDebtToMinutesMigration.class,
IssueChangelogMigration.class,
TechnicalDebtMeasuresMigration.class,
DevelopmentCostMeasuresMigration.class,
RequirementMeasuresMigration.class,
NotResolvedIssuesOnRemovedComponentsMigration.class,

// 4.4
IssueActionPlanKeyMigration.class,
MeasureDataMigration.class,
FeedQProfileKeysMigration.class,
FeedQProfileDatesMigration.class,
ChangeLogMigration.class,
ConvertProfileMeasuresMigration.class,

// 4.5
AddMissingRuleParameterDefaultValuesMigration.class,
DeleteMeasuresOnDeletedProfilesMigration.class,

// 4.5.1
AddMissingCustomRuleParametersMigration.class,
DeleteUnescapedActivities.class,

// 5.0
InsertProjectsAuthorizationUpdatedAtMigration.class,
PopulateProjectsUuidColumnsMigration.class,
ReplaceIssueFiltersProjectKeyByUuid.class,
FeedSnapshotSourcesUpdatedAt.class,
FeedFileSources.class,
FeedIssueLongDates.class,
RemoveSortFieldFromIssueFiltersMigration.class,

// 5.1
FeedIssueTags.class,
FeedUsersLongDates.class,
RenameComponentRelatedParamsInIssueFilters.class,
CopyScmAccountsFromAuthorsToUsers.class,
FeedIssueChangesLongDates.class,
FeedAnalysisReportsLongDates.class,
UpdateProjectsModuleUuidPath.class,
FeedIssueComponentUuids.class,
FeedSnapshotsLongDates.class,
FeedIssuesLongDates.class,
FeedFileSourcesBinaryData.class,
FeedSemaphoresLongDates.class,
FeedManualMeasuresLongDates.class,
FeedEventsLongDates.class,
AddNewCharacteristics.class,
RemovePermissionsOnModulesMigration.class,
AddIssuesColumns.class,
DropIssuesColumns.class,

// 5.2
FeedProjectLinksComponentUuid.class,
FeedEventsComponentUuid.class,
MoveProjectProfileAssociation.class
);
}

+ 10
- 9
server/sonar-server/src/main/java/org/sonar/server/db/migrations/DatabaseMigrator.java Visa fil

@@ -19,18 +19,19 @@
*/
package org.sonar.server.db.migrations;

import com.google.common.annotations.VisibleForTesting;
import java.sql.Connection;

import org.apache.commons.dbutils.DbUtils;
import org.apache.ibatis.session.SqlSession;
import org.picocontainer.Startable;
import org.sonar.api.utils.log.Loggers;
import org.sonar.api.ServerComponent;
import org.sonar.api.platform.ServerUpgradeStatus;
import org.sonar.api.utils.log.Loggers;
import org.sonar.core.persistence.DdlUtils;
import org.sonar.server.db.DbClient;
import org.sonar.server.plugins.ServerPluginRepository;

import java.sql.Connection;
import com.google.common.annotations.VisibleForTesting;

/**
* Restore schema by executing DDL scripts. Only H2 database is supported.
@@ -41,14 +42,14 @@ import java.sql.Connection;
public class DatabaseMigrator implements ServerComponent, Startable {

private final DbClient dbClient;
private final DatabaseMigration[] migrations;
private final MigrationStep[] migrations;
private final ServerUpgradeStatus serverUpgradeStatus;

/**
* ServerPluginRepository is used to ensure H2 schema creation is done only after copy of bundle plugins have been done
*/
public DatabaseMigrator(DbClient dbClient, DatabaseMigration[] migrations, ServerUpgradeStatus serverUpgradeStatus,
ServerPluginRepository serverPluginRepository) {
public DatabaseMigrator(DbClient dbClient, MigrationStep[] migrations, ServerUpgradeStatus serverUpgradeStatus,
ServerPluginRepository serverPluginRepository) {
this.dbClient = dbClient;
this.migrations = migrations;
this.serverUpgradeStatus = serverUpgradeStatus;
@@ -89,7 +90,7 @@ public class DatabaseMigrator implements ServerComponent, Startable {
}

public void executeMigration(String className) {
DatabaseMigration migration = getMigration(className);
MigrationStep migration = getMigration(className);
try {
migration.execute();

@@ -101,8 +102,8 @@ public class DatabaseMigrator implements ServerComponent, Startable {
}
}

private DatabaseMigration getMigration(String className) {
for (DatabaseMigration migration : migrations) {
private MigrationStep getMigration(String className) {
for (MigrationStep migration : migrations) {
if (migration.getClass().getName().equals(className)) {
return migration;
}

+ 4
- 4
server/sonar-server/src/main/java/org/sonar/server/db/migrations/DdlChange.java Visa fil

@@ -19,13 +19,13 @@
*/
package org.sonar.server.db.migrations;

import org.apache.commons.dbutils.DbUtils;
import org.sonar.core.persistence.Database;

import java.sql.Connection;
import java.sql.SQLException;

public abstract class DdlChange implements DatabaseMigration {
import org.apache.commons.dbutils.DbUtils;
import org.sonar.core.persistence.Database;

public abstract class DdlChange implements MigrationStep {

private final Database db;


+ 5
- 1
server/sonar-server/src/main/java/org/sonar/server/db/migrations/DropColumnsBuilder.java Visa fil

@@ -19,7 +19,11 @@
*/
package org.sonar.server.db.migrations;

import org.sonar.core.persistence.dialect.*;
import org.sonar.core.persistence.dialect.Dialect;
import org.sonar.core.persistence.dialect.MsSql;
import org.sonar.core.persistence.dialect.MySql;
import org.sonar.core.persistence.dialect.Oracle;
import org.sonar.core.persistence.dialect.PostgreSql;

public class DropColumnsBuilder {


+ 3
- 3
server/sonar-server/src/main/java/org/sonar/server/db/migrations/MassUpdate.java Visa fil

@@ -19,13 +19,13 @@
*/
package org.sonar.server.db.migrations;

import org.sonar.core.persistence.Database;
import org.sonar.server.util.ProgressLogger;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.concurrent.atomic.AtomicLong;

import org.sonar.core.persistence.Database;
import org.sonar.server.util.ProgressLogger;

public class MassUpdate {

public static interface Handler {

server/sonar-server/src/main/java/org/sonar/server/db/migrations/DatabaseMigration.java → server/sonar-server/src/main/java/org/sonar/server/db/migrations/MigrationStep.java Visa fil

@@ -22,10 +22,10 @@ package org.sonar.server.db.migrations;
import java.sql.SQLException;

/**
* Java alternative of ActiveRecord::Migration. Do not forget to declare implementation classes in {@link DatabaseMigrations#CLASSES}
* Java alternative of ActiveRecord::Migration. Do not forget to declare implementation classes in {@link MigrationSteps#CLASSES}
* @since 3.7
*/
public interface DatabaseMigration {
public interface MigrationStep {

void execute() throws SQLException;


+ 140
- 0
server/sonar-server/src/main/java/org/sonar/server/db/migrations/MigrationSteps.java Visa fil

@@ -0,0 +1,140 @@
/*
* SonarQube, open source software quality management tool.
* Copyright (C) 2008-2014 SonarSource
* mailto:contact AT sonarsource DOT com
*
* SonarQube is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* SonarQube is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.db.migrations;

import com.google.common.collect.ImmutableList;
import org.sonar.server.db.migrations.v36.ViolationMigrationStep;
import org.sonar.server.db.migrations.v42.CompleteIssueMessageMigrationStep;
import org.sonar.server.db.migrations.v42.PackageKeysMigrationStep;
import org.sonar.server.db.migrations.v43.ConvertIssueDebtToMinutesMigrationStep;
import org.sonar.server.db.migrations.v43.DevelopmentCostMeasuresMigrationStep;
import org.sonar.server.db.migrations.v43.IssueChangelogMigrationStep;
import org.sonar.server.db.migrations.v43.NotResolvedIssuesOnRemovedComponentsMigrationStep;
import org.sonar.server.db.migrations.v43.RequirementMeasuresMigrationStep;
import org.sonar.server.db.migrations.v43.TechnicalDebtMeasuresMigrationStep;
import org.sonar.server.db.migrations.v44.ChangeLogMigrationStep;
import org.sonar.server.db.migrations.v44.ConvertProfileMeasuresMigrationStep;
import org.sonar.server.db.migrations.v44.FeedQProfileDatesMigrationStep;
import org.sonar.server.db.migrations.v44.FeedQProfileKeysMigrationStep;
import org.sonar.server.db.migrations.v44.IssueActionPlanKeyMigrationStep;
import org.sonar.server.db.migrations.v44.MeasureDataMigrationStep;
import org.sonar.server.db.migrations.v45.AddMissingRuleParameterDefaultValuesMigrationStep;
import org.sonar.server.db.migrations.v45.DeleteMeasuresOnDeletedProfilesMigrationStep;
import org.sonar.server.db.migrations.v451.AddMissingCustomRuleParametersMigrationStep;
import org.sonar.server.db.migrations.v451.DeleteUnescapedActivities;
import org.sonar.server.db.migrations.v50.FeedFileSources;
import org.sonar.server.db.migrations.v50.FeedIssueLongDates;
import org.sonar.server.db.migrations.v50.FeedSnapshotSourcesUpdatedAt;
import org.sonar.server.db.migrations.v50.InsertProjectsAuthorizationUpdatedAtMigrationStep;
import org.sonar.server.db.migrations.v50.PopulateProjectsUuidColumnsMigrationStep;
import org.sonar.server.db.migrations.v50.RemoveSortFieldFromIssueFiltersMigrationStep;
import org.sonar.server.db.migrations.v50.ReplaceIssueFiltersProjectKeyByUuid;
import org.sonar.server.db.migrations.v51.AddIssuesColumns;
import org.sonar.server.db.migrations.v51.AddNewCharacteristics;
import org.sonar.server.db.migrations.v51.CopyScmAccountsFromAuthorsToUsers;
import org.sonar.server.db.migrations.v51.DropIssuesColumns;
import org.sonar.server.db.migrations.v51.FeedAnalysisReportsLongDates;
import org.sonar.server.db.migrations.v51.FeedEventsLongDates;
import org.sonar.server.db.migrations.v51.FeedFileSourcesBinaryData;
import org.sonar.server.db.migrations.v51.FeedIssueChangesLongDates;
import org.sonar.server.db.migrations.v51.FeedIssueComponentUuids;
import org.sonar.server.db.migrations.v51.FeedIssueTags;
import org.sonar.server.db.migrations.v51.FeedIssuesLongDates;
import org.sonar.server.db.migrations.v51.FeedManualMeasuresLongDates;
import org.sonar.server.db.migrations.v51.FeedSemaphoresLongDates;
import org.sonar.server.db.migrations.v51.FeedSnapshotsLongDates;
import org.sonar.server.db.migrations.v51.FeedUsersLongDates;
import org.sonar.server.db.migrations.v51.RemovePermissionsOnModulesMigrationStep;
import org.sonar.server.db.migrations.v51.RenameComponentRelatedParamsInIssueFilters;
import org.sonar.server.db.migrations.v51.UpdateProjectsModuleUuidPath;
import org.sonar.server.db.migrations.v52.FeedEventsComponentUuid;
import org.sonar.server.db.migrations.v52.FeedProjectLinksComponentUuid;
import org.sonar.server.db.migrations.v52.MoveProjectProfileAssociation;

import java.util.List;

public interface MigrationSteps {

List<Class<? extends MigrationStep>> CLASSES = ImmutableList.of(
// 3.6
ViolationMigrationStep.class,

// 4.2
PackageKeysMigrationStep.class, CompleteIssueMessageMigrationStep.class,

// 4.3
ConvertIssueDebtToMinutesMigrationStep.class,
IssueChangelogMigrationStep.class,
TechnicalDebtMeasuresMigrationStep.class,
DevelopmentCostMeasuresMigrationStep.class,
RequirementMeasuresMigrationStep.class,
NotResolvedIssuesOnRemovedComponentsMigrationStep.class,

// 4.4
IssueActionPlanKeyMigrationStep.class,
MeasureDataMigrationStep.class,
FeedQProfileKeysMigrationStep.class,
FeedQProfileDatesMigrationStep.class,
ChangeLogMigrationStep.class,
ConvertProfileMeasuresMigrationStep.class,

// 4.5
AddMissingRuleParameterDefaultValuesMigrationStep.class,
DeleteMeasuresOnDeletedProfilesMigrationStep.class,

// 4.5.1
AddMissingCustomRuleParametersMigrationStep.class,
DeleteUnescapedActivities.class,

// 5.0
InsertProjectsAuthorizationUpdatedAtMigrationStep.class,
PopulateProjectsUuidColumnsMigrationStep.class,
ReplaceIssueFiltersProjectKeyByUuid.class,
FeedSnapshotSourcesUpdatedAt.class,
FeedFileSources.class,
FeedIssueLongDates.class,
RemoveSortFieldFromIssueFiltersMigrationStep.class,

// 5.1
FeedIssueTags.class,
FeedUsersLongDates.class,
RenameComponentRelatedParamsInIssueFilters.class,
CopyScmAccountsFromAuthorsToUsers.class,
FeedIssueChangesLongDates.class,
FeedAnalysisReportsLongDates.class,
UpdateProjectsModuleUuidPath.class,
FeedIssueComponentUuids.class,
FeedSnapshotsLongDates.class,
FeedIssuesLongDates.class,
FeedFileSourcesBinaryData.class,
FeedSemaphoresLongDates.class,
FeedManualMeasuresLongDates.class,
FeedEventsLongDates.class,
AddNewCharacteristics.class,
RemovePermissionsOnModulesMigrationStep.class,
AddIssuesColumns.class,
DropIssuesColumns.class,

// 5.2
FeedProjectLinksComponentUuid.class,
FeedEventsComponentUuid.class,
MoveProjectProfileAssociation.class
);
}

+ 2
- 2
server/sonar-server/src/main/java/org/sonar/server/db/migrations/Select.java Visa fil

@@ -19,8 +19,6 @@
*/
package org.sonar.server.db.migrations;

import javax.annotation.CheckForNull;

import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
@@ -28,6 +26,8 @@ import java.sql.Timestamp;
import java.util.Date;
import java.util.List;

import javax.annotation.CheckForNull;

public interface Select extends SqlStatement<Select> {

static class Row {

+ 3
- 3
server/sonar-server/src/main/java/org/sonar/server/db/migrations/SelectImpl.java Visa fil

@@ -19,9 +19,6 @@
*/
package org.sonar.server.db.migrations;

import org.apache.commons.dbutils.DbUtils;
import org.sonar.core.persistence.Database;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
@@ -29,6 +26,9 @@ import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.dbutils.DbUtils;
import org.sonar.core.persistence.Database;

class SelectImpl extends BaseSqlStatement<Select> implements Select {

private SelectImpl(PreparedStatement pstmt) {

+ 2
- 2
server/sonar-server/src/main/java/org/sonar/server/db/migrations/SqlStatement.java Visa fil

@@ -19,11 +19,11 @@
*/
package org.sonar.server.db.migrations;

import javax.annotation.Nullable;

import java.sql.SQLException;
import java.util.Date;

import javax.annotation.Nullable;

public interface SqlStatement<CHILD extends SqlStatement> {
CHILD setBoolean(int columnIndex, @Nullable Boolean value) throws SQLException;


+ 4
- 5
server/sonar-server/src/main/java/org/sonar/server/db/migrations/SqlUtil.java Visa fil

@@ -19,16 +19,15 @@
*/
package org.sonar.server.db.migrations;


import org.sonar.api.utils.log.Logger;

import javax.annotation.CheckForNull;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.util.Date;

import javax.annotation.CheckForNull;

import org.sonar.api.utils.log.Logger;

public class SqlUtil {

private SqlUtil() {

+ 2
- 2
server/sonar-server/src/main/java/org/sonar/server/db/migrations/UpsertImpl.java Visa fil

@@ -19,12 +19,12 @@
*/
package org.sonar.server.db.migrations;

import org.sonar.core.persistence.BatchSession;

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

import org.sonar.core.persistence.BatchSession;

public class UpsertImpl extends BaseSqlStatement<Upsert> implements Upsert {

private long batchCount = 0L;

+ 3
- 4
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v36/Progress.java Visa fil

@@ -19,13 +19,12 @@
*/
package org.sonar.server.db.migrations.v36;

import java.util.TimerTask;
import java.util.concurrent.atomic.AtomicLong;

import org.sonar.api.utils.log.Logger;
import org.sonar.api.utils.log.Loggers;

import java.util.TimerTask;
import java.util.concurrent.atomic.AtomicLong;

/**
* This task logs every minute the status of migration. It is destroyed
* when migration is finished.
@@ -64,7 +63,7 @@ class Progress extends TimerTask {
long remaining = (totalViolations - totalIssues) / frequency;
logger.info(String.format(
"%d%% [%d/%d violations, %d minutes remaining]", percents, totalIssues, totalViolations, remaining)
);
);
} else {
logger.info(String.format("%d%% [%d/%d violations]", percents, totalIssues, totalViolations));
}

+ 10
- 8
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v36/Referentials.java Visa fil

@@ -19,14 +19,6 @@
*/
package org.sonar.server.db.migrations.v36;

import com.google.common.collect.Maps;
import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;
import org.sonar.core.persistence.Database;

import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -35,6 +27,16 @@ import java.util.Map;
import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;

import javax.annotation.CheckForNull;
import javax.annotation.Nullable;

import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;
import org.sonar.core.persistence.Database;

import com.google.common.collect.Maps;

/**
* Data loaded from database before migrating violations. It is
* shared amongst converter parallel tasks.

+ 12
- 11
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v36/ViolationConverter.java Visa fil

@@ -19,10 +19,14 @@
*/
package org.sonar.server.db.migrations.v36;

import com.google.common.base.Objects;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import java.sql.Connection;
import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import java.util.concurrent.Callable;

import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.AbstractListHandler;
@@ -31,13 +35,10 @@ import org.sonar.api.utils.internal.Uuids;
import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.SqlUtil;

import java.sql.Connection;
import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import java.util.concurrent.Callable;
import com.google.common.base.Objects;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;

class ViolationConverter implements Callable<Object> {


+ 5
- 4
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v36/ViolationConverters.java Visa fil

@@ -19,10 +19,6 @@
*/
package org.sonar.server.db.migrations.v36;

import com.google.common.collect.Lists;
import org.sonar.api.config.Settings;
import org.sonar.core.persistence.Database;

import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
@@ -31,6 +27,11 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;

import org.sonar.api.config.Settings;
import org.sonar.core.persistence.Database;

import com.google.common.collect.Lists;

class ViolationConverters {

static final int DEFAULT_THREADS = 5;

server/sonar-server/src/main/java/org/sonar/server/db/migrations/v36/ViolationMigration.java → server/sonar-server/src/main/java/org/sonar/server/db/migrations/v36/ViolationMigrationStep.java Visa fil

@@ -19,30 +19,29 @@
*/
package org.sonar.server.db.migrations.v36;

import java.sql.SQLException;

import org.sonar.api.config.Settings;
import org.sonar.api.utils.MessageException;
import org.sonar.api.utils.log.Logger;
import org.sonar.api.utils.log.Loggers;
import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.DatabaseMigration;
import org.sonar.server.db.migrations.MigrationStep;
import org.sonar.server.db.migrations.SqlUtil;

import java.sql.SQLException;

/**
* Used in the Active Record Migration 401
*/
public class ViolationMigration implements DatabaseMigration {
public class ViolationMigrationStep implements MigrationStep {

private static final Logger LOGGER = Loggers.get(ViolationMigration.class);
private static final Logger LOGGER = Loggers.get(ViolationMigrationStep.class);

private static final String FAILURE_MESSAGE = "Fail to convert violations to issues";

private final Settings settings;
private final Database db;

public ViolationMigration(Database database, Settings settings) {
public ViolationMigrationStep(Database database, Settings settings) {
this.db = database;
this.settings = settings;
}

server/sonar-server/src/main/java/org/sonar/server/db/migrations/v42/CompleteIssueMessageMigration.java → server/sonar-server/src/main/java/org/sonar/server/db/migrations/v42/CompleteIssueMessageMigrationStep.java Visa fil

@@ -19,22 +19,22 @@
*/
package org.sonar.server.db.migrations.v42;

import java.sql.SQLException;

import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;

import java.sql.SQLException;

/**
* Used in Rails migration 497
*
* @since 4.2
*/
public class CompleteIssueMessageMigration extends BaseDataChange {
public class CompleteIssueMessageMigrationStep extends BaseDataChange {

public CompleteIssueMessageMigration(Database database) {
public CompleteIssueMessageMigrationStep(Database database) {
super(database);
}


server/sonar-server/src/main/java/org/sonar/server/db/migrations/v42/PackageKeysMigration.java → server/sonar-server/src/main/java/org/sonar/server/db/migrations/v42/PackageKeysMigrationStep.java Visa fil

@@ -19,6 +19,11 @@
*/
package org.sonar.server.db.migrations.v42;

import java.sql.SQLException;

import javax.annotation.CheckForNull;
import javax.annotation.Nullable;

import org.apache.commons.lang.StringUtils;
import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
@@ -26,19 +31,14 @@ import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;

import javax.annotation.CheckForNull;
import javax.annotation.Nullable;

import java.sql.SQLException;

/**
* Used in Rails migration 490
*
* @since 4.2
*/
public class PackageKeysMigration extends BaseDataChange {
public class PackageKeysMigrationStep extends BaseDataChange {

public PackageKeysMigration(Database database) {
public PackageKeysMigrationStep(Database database) {
super(database);
}


server/sonar-server/src/main/java/org/sonar/server/db/migrations/v43/ConvertIssueDebtToMinutesMigration.java → server/sonar-server/src/main/java/org/sonar/server/db/migrations/v43/ConvertIssueDebtToMinutesMigrationStep.java Visa fil

@@ -20,6 +20,9 @@

package org.sonar.server.db.migrations.v43;

import java.sql.SQLException;
import java.util.Date;

import org.sonar.api.utils.System2;
import org.sonar.core.persistence.Database;
import org.sonar.core.properties.PropertiesDao;
@@ -28,21 +31,18 @@ import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;

import java.sql.SQLException;
import java.util.Date;

/**
* Used in the Active Record Migration 513.
* WARNING - this migration is not re-entrant.
*
* @since 4.3
*/
public class ConvertIssueDebtToMinutesMigration extends BaseDataChange {
public class ConvertIssueDebtToMinutesMigrationStep extends BaseDataChange {

private final WorkDurationConvertor workDurationConvertor;
private final System2 system2;

public ConvertIssueDebtToMinutesMigration(Database database, PropertiesDao propertiesDao, System2 system2) {
public ConvertIssueDebtToMinutesMigrationStep(Database database, PropertiesDao propertiesDao, System2 system2) {
super(database);
this.workDurationConvertor = new WorkDurationConvertor(propertiesDao);
this.system2 = system2;

server/sonar-server/src/main/java/org/sonar/server/db/migrations/v43/DevelopmentCostMeasuresMigration.java → server/sonar-server/src/main/java/org/sonar/server/db/migrations/v43/DevelopmentCostMeasuresMigrationStep.java Visa fil

@@ -20,6 +20,10 @@

package org.sonar.server.db.migrations.v43;

import java.sql.SQLException;

import javax.annotation.CheckForNull;

import org.sonar.core.persistence.Database;
import org.sonar.core.properties.PropertiesDao;
import org.sonar.server.db.migrations.BaseDataChange;
@@ -27,20 +31,16 @@ import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;

import javax.annotation.CheckForNull;

import java.sql.SQLException;

/**
* Used in the Active Record Migration 516
*
* @since 4.3
*/
public class DevelopmentCostMeasuresMigration extends BaseDataChange {
public class DevelopmentCostMeasuresMigrationStep extends BaseDataChange {

private final WorkDurationConvertor workDurationConvertor;

public DevelopmentCostMeasuresMigration(Database database, PropertiesDao propertiesDao) {
public DevelopmentCostMeasuresMigrationStep(Database database, PropertiesDao propertiesDao) {
super(database);
this.workDurationConvertor = new WorkDurationConvertor(propertiesDao);
}

server/sonar-server/src/main/java/org/sonar/server/db/migrations/v43/IssueChangelogMigration.java → server/sonar-server/src/main/java/org/sonar/server/db/migrations/v43/IssueChangelogMigrationStep.java Visa fil

@@ -20,8 +20,14 @@

package org.sonar.server.db.migrations.v43;

import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Strings;
import java.sql.SQLException;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.annotation.CheckForNull;
import javax.annotation.Nullable;

import org.sonar.api.utils.System2;
import org.sonar.core.persistence.Database;
import org.sonar.core.properties.PropertiesDao;
@@ -30,31 +36,26 @@ import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;

import javax.annotation.CheckForNull;
import javax.annotation.Nullable;

import java.sql.SQLException;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Strings;

/**
* Used in the Active Record Migration 514
*
* @since 4.3
*/
public class IssueChangelogMigration extends BaseDataChange {
public class IssueChangelogMigrationStep extends BaseDataChange {

private final WorkDurationConvertor workDurationConvertor;
private final System2 system2;
private final Pattern pattern = Pattern.compile("technicalDebt=(\\d*)\\|(\\d*)", Pattern.CASE_INSENSITIVE);

public IssueChangelogMigration(Database database, System2 system2, PropertiesDao propertiesDao) {
public IssueChangelogMigrationStep(Database database, System2 system2, PropertiesDao propertiesDao) {
this(database, system2, new WorkDurationConvertor(propertiesDao));
}

@VisibleForTesting
IssueChangelogMigration(Database database, System2 system2, WorkDurationConvertor convertor) {
IssueChangelogMigrationStep(Database database, System2 system2, WorkDurationConvertor convertor) {
super(database);
this.workDurationConvertor = convertor;
this.system2 = system2;

server/sonar-server/src/main/java/org/sonar/server/db/migrations/v43/NotResolvedIssuesOnRemovedComponentsMigration.java → server/sonar-server/src/main/java/org/sonar/server/db/migrations/v43/NotResolvedIssuesOnRemovedComponentsMigrationStep.java Visa fil

@@ -20,6 +20,9 @@

package org.sonar.server.db.migrations.v43;

import java.sql.SQLException;
import java.util.Date;

import org.sonar.api.issue.Issue;
import org.sonar.api.utils.System2;
import org.sonar.core.persistence.Database;
@@ -28,19 +31,16 @@ import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;

import java.sql.SQLException;
import java.util.Date;

/**
* Used in the Active Record Migration 525
*
* @since 4.3
*/
public class NotResolvedIssuesOnRemovedComponentsMigration extends BaseDataChange {
public class NotResolvedIssuesOnRemovedComponentsMigrationStep extends BaseDataChange {

private final System2 system2;

public NotResolvedIssuesOnRemovedComponentsMigration(Database database, System2 system2) {
public NotResolvedIssuesOnRemovedComponentsMigrationStep(Database database, System2 system2) {
super(database);
this.system2 = system2;
}

server/sonar-server/src/main/java/org/sonar/server/db/migrations/v43/RequirementMeasuresMigration.java → server/sonar-server/src/main/java/org/sonar/server/db/migrations/v43/RequirementMeasuresMigrationStep.java Visa fil

@@ -20,22 +20,22 @@

package org.sonar.server.db.migrations.v43;

import java.sql.SQLException;

import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;

import java.sql.SQLException;

/**
* Used in the Active Record Migration 521
*
* @since 4.3
*/
public class RequirementMeasuresMigration extends BaseDataChange {
public class RequirementMeasuresMigrationStep extends BaseDataChange {

public RequirementMeasuresMigration(Database database) {
public RequirementMeasuresMigrationStep(Database database) {
super(database);
}


server/sonar-server/src/main/java/org/sonar/server/db/migrations/v43/TechnicalDebtMeasuresMigration.java → server/sonar-server/src/main/java/org/sonar/server/db/migrations/v43/TechnicalDebtMeasuresMigrationStep.java Visa fil

@@ -20,6 +20,12 @@

package org.sonar.server.db.migrations.v43;

import java.sql.SQLException;
import java.util.List;

import javax.annotation.CheckForNull;
import javax.annotation.Nullable;

import org.apache.commons.lang.StringUtils;
import org.sonar.core.persistence.Database;
import org.sonar.core.properties.PropertiesDao;
@@ -28,22 +34,16 @@ import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;

import javax.annotation.CheckForNull;
import javax.annotation.Nullable;

import java.sql.SQLException;
import java.util.List;

/**
* Used in the Active Record Migration 515
*
* @since 4.3
*/
public class TechnicalDebtMeasuresMigration extends BaseDataChange {
public class TechnicalDebtMeasuresMigrationStep extends BaseDataChange {

private final WorkDurationConvertor workDurationConvertor;

public TechnicalDebtMeasuresMigration(Database database, PropertiesDao propertiesDao) {
public TechnicalDebtMeasuresMigrationStep(Database database, PropertiesDao propertiesDao) {
super(database);
this.workDurationConvertor = new WorkDurationConvertor(propertiesDao);
}

+ 1
- 1
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v43/WorkDurationConvertor.java Visa fil

@@ -78,7 +78,7 @@ class WorkDurationConvertor {
}
}

private void checkHoursInDay(){
private void checkHoursInDay() {
if (hoursInDay == null) {
throw new IllegalStateException("init() has not been called");
}

server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/ChangeLogMigration.java → server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/ChangeLogMigrationStep.java Visa fil

@@ -19,6 +19,10 @@
*/
package org.sonar.server.db.migrations.v44;

import java.util.Date;
import java.util.Iterator;
import java.util.List;

import org.apache.commons.lang.StringUtils;
import org.sonar.api.rule.RuleKey;
import org.sonar.api.utils.KeyValueFormat;
@@ -32,13 +36,9 @@ import org.sonar.core.rule.SeverityUtil;
import org.sonar.server.activity.Activity;
import org.sonar.server.activity.db.ActivityDao;
import org.sonar.server.db.DbClient;
import org.sonar.server.db.migrations.DatabaseMigration;
import org.sonar.server.db.migrations.MigrationStep;
import org.sonar.server.qualityprofile.ActiveRuleChange;

import java.util.Date;
import java.util.Iterator;
import java.util.List;

/**
* SONAR-5329
* Transition ActiveRuleChanges to ActivityLog
@@ -47,12 +47,12 @@ import java.util.List;
*
* @since 4.4
*/
public class ChangeLogMigration implements DatabaseMigration {
public class ChangeLogMigrationStep implements MigrationStep {

private final ActivityDao dao;
private final DbClient db;

public ChangeLogMigration(ActivityDao dao, DbClient db) {
public ChangeLogMigrationStep(ActivityDao dao, DbClient db) {
this.dao = dao;
this.db = db;
}

server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/ConvertProfileMeasuresMigration.java → server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/ConvertProfileMeasuresMigrationStep.java Visa fil

@@ -20,6 +20,9 @@

package org.sonar.server.db.migrations.v44;

import java.io.StringWriter;
import java.util.Date;

import org.apache.commons.lang.ObjectUtils;
import org.sonar.api.utils.text.JsonWriter;
import org.sonar.core.UtcDateUtils;
@@ -28,21 +31,18 @@ import org.sonar.core.persistence.migration.v44.Migration44Mapper;
import org.sonar.core.persistence.migration.v44.ProfileMeasure;
import org.sonar.core.persistence.migration.v44.QProfileDto44;
import org.sonar.server.db.DbClient;
import org.sonar.server.db.migrations.DatabaseMigration;

import java.io.StringWriter;
import java.util.Date;
import org.sonar.server.db.migrations.MigrationStep;

/**
* Feed the new columns RULES_PROFILE.KEE and PARENT_KEE.
*
* @since 4.4
*/
public class ConvertProfileMeasuresMigration implements DatabaseMigration {
public class ConvertProfileMeasuresMigrationStep implements MigrationStep {

private final DbClient db;

public ConvertProfileMeasuresMigration(DbClient db) {
public ConvertProfileMeasuresMigrationStep(DbClient db) {
this.db = db;
}

@@ -60,7 +60,7 @@ public class ConvertProfileMeasuresMigration implements DatabaseMigration {
if (profile != null) {
Date date = now;
if (version != null) {
date = (Date)ObjectUtils.defaultIfNull(
date = (Date) ObjectUtils.defaultIfNull(
mapper.selectProfileVersionDate(profileMeasure.getProfileId(), version), now);
}
// see format of JSON in org.sonar.batch.rule.UsedQProfiles

server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/FeedQProfileDatesMigration.java → server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/FeedQProfileDatesMigrationStep.java Visa fil

@@ -20,6 +20,8 @@

package org.sonar.server.db.migrations.v44;

import java.util.Date;

import org.apache.commons.lang.ObjectUtils;
import org.sonar.api.utils.System2;
import org.sonar.core.UtcDateUtils;
@@ -27,21 +29,19 @@ import org.sonar.core.persistence.DbSession;
import org.sonar.core.persistence.migration.v44.Migration44Mapper;
import org.sonar.core.persistence.migration.v44.QProfileDto44;
import org.sonar.server.db.DbClient;
import org.sonar.server.db.migrations.DatabaseMigration;

import java.util.Date;
import org.sonar.server.db.migrations.MigrationStep;

/**
* Feed the new columns RULES_PROFILES.CREATED_AT and UPDATED_AT
*
* @since 4.4
*/
public class FeedQProfileDatesMigration implements DatabaseMigration {
public class FeedQProfileDatesMigrationStep implements MigrationStep {

private final DbClient db;
private final System2 system;

public FeedQProfileDatesMigration(DbClient db, System2 system) {
public FeedQProfileDatesMigrationStep(DbClient db, System2 system) {
this.db = db;
this.system = system;
}

server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/FeedQProfileKeysMigration.java → server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/FeedQProfileKeysMigrationStep.java Visa fil

@@ -20,6 +20,8 @@

package org.sonar.server.db.migrations.v44;

import java.sql.SQLException;

import org.apache.commons.lang.RandomStringUtils;
import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
@@ -28,16 +30,14 @@ import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;
import org.sonar.server.util.Slug;

import java.sql.SQLException;

/**
* Feed the new columns RULES_PROFILES.KEE and PARENT_KEE.
*
* @since 4.4
*/
public class FeedQProfileKeysMigration extends BaseDataChange {
public class FeedQProfileKeysMigrationStep extends BaseDataChange {

public FeedQProfileKeysMigration(Database db) {
public FeedQProfileKeysMigrationStep(Database db) {
super(db);
}


server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/IssueActionPlanKeyMigration.java → server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/IssueActionPlanKeyMigrationStep.java Visa fil

@@ -20,6 +20,9 @@

package org.sonar.server.db.migrations.v44;

import java.sql.SQLException;
import java.util.Date;

import org.sonar.api.utils.System2;
import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
@@ -27,9 +30,6 @@ import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;

import java.sql.SQLException;
import java.util.Date;

/**
* SONAR-5218
* Update all issues having action plan linked on removed action plan.
@@ -38,11 +38,11 @@ import java.util.Date;
*
* @since 4.4
*/
public class IssueActionPlanKeyMigration extends BaseDataChange {
public class IssueActionPlanKeyMigrationStep extends BaseDataChange {

private final System2 system2;

public IssueActionPlanKeyMigration(Database database, System2 system2) {
public IssueActionPlanKeyMigrationStep(Database database, System2 system2) {
super(database);
this.system2 = system2;
}

server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/MeasureDataMigration.java → server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/MeasureDataMigrationStep.java Visa fil

@@ -20,14 +20,14 @@

package org.sonar.server.db.migrations.v44;

import java.sql.SQLException;

import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;

import java.sql.SQLException;

/**
* SONAR-5249
* Merge measure data table into project_measure
@@ -35,9 +35,9 @@ import java.sql.SQLException;
* Used in the Active Record Migration 530.
* @since 4.4
*/
public class MeasureDataMigration extends BaseDataChange {
public class MeasureDataMigrationStep extends BaseDataChange {

public MeasureDataMigration(Database database) {
public MeasureDataMigrationStep(Database database) {
super(database);
}


server/sonar-server/src/main/java/org/sonar/server/db/migrations/v45/AddMissingRuleParameterDefaultValuesMigration.java → server/sonar-server/src/main/java/org/sonar/server/db/migrations/v45/AddMissingRuleParameterDefaultValuesMigrationStep.java Visa fil

@@ -19,26 +19,26 @@
*/
package org.sonar.server.db.migrations.v45;

import java.sql.SQLException;
import java.util.Date;
import java.util.List;

import javax.annotation.Nullable;

import org.sonar.api.utils.System2;
import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.Upsert;

import javax.annotation.Nullable;

import java.sql.SQLException;
import java.util.Date;
import java.util.List;

/**
* SONAR-5446
*/
public class AddMissingRuleParameterDefaultValuesMigration extends BaseDataChange {
public class AddMissingRuleParameterDefaultValuesMigrationStep extends BaseDataChange {

private final System2 system;

public AddMissingRuleParameterDefaultValuesMigration(Database db, System2 system) {
public AddMissingRuleParameterDefaultValuesMigrationStep(Database db, System2 system) {
super(db);
this.system = system;
}

server/sonar-server/src/main/java/org/sonar/server/db/migrations/v45/DeleteMeasuresOnDeletedProfilesMigration.java → server/sonar-server/src/main/java/org/sonar/server/db/migrations/v45/DeleteMeasuresOnDeletedProfilesMigrationStep.java Visa fil

@@ -23,22 +23,23 @@ package org.sonar.server.db.migrations.v45;
import org.sonar.core.persistence.DbSession;
import org.sonar.core.persistence.migration.v44.Migration44Mapper;
import org.sonar.server.db.DbClient;
import org.sonar.server.db.migrations.DatabaseMigration;
import org.sonar.server.db.migrations.MigrationStep;
import org.sonar.server.db.migrations.v44.ConvertProfileMeasuresMigrationStep;

/**
* See http://jira.codehaus.org/browse/SONAR-5580
* {@link org.sonar.server.db.migrations.v44.ConvertProfileMeasuresMigration}
* {@link ConvertProfileMeasuresMigrationStep}
* introduced a regression in 4.4. Measures on orphan profiles were kept
* in old format (no JSON data but numeric value of profile id)
*
* @see org.sonar.server.db.migrations.v44.ConvertProfileMeasuresMigration
* @see ConvertProfileMeasuresMigrationStep
* @since 4.5
*/
public class DeleteMeasuresOnDeletedProfilesMigration implements DatabaseMigration {
public class DeleteMeasuresOnDeletedProfilesMigrationStep implements MigrationStep {

private final DbClient db;

public DeleteMeasuresOnDeletedProfilesMigration(DbClient db) {
public DeleteMeasuresOnDeletedProfilesMigrationStep(DbClient db) {
this.db = db;
}


server/sonar-server/src/main/java/org/sonar/server/db/migrations/v451/AddMissingCustomRuleParametersMigration.java → server/sonar-server/src/main/java/org/sonar/server/db/migrations/v451/AddMissingCustomRuleParametersMigrationStep.java Visa fil

@@ -19,26 +19,27 @@
*/
package org.sonar.server.db.migrations.v451;

import com.google.common.base.Predicate;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Iterables;
import com.google.common.collect.Multimap;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.concurrent.atomic.AtomicLong;

import javax.annotation.Nullable;

import org.sonar.api.utils.System2;
import org.sonar.core.persistence.DbSession;
import org.sonar.core.persistence.migration.v45.Migration45Mapper;
import org.sonar.core.persistence.migration.v45.Rule;
import org.sonar.core.persistence.migration.v45.RuleParameter;
import org.sonar.server.db.DbClient;
import org.sonar.server.db.migrations.DatabaseMigration;
import org.sonar.server.db.migrations.MigrationStep;
import org.sonar.server.util.ProgressLogger;

import javax.annotation.Nullable;

import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.concurrent.atomic.AtomicLong;
import com.google.common.base.Predicate;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Iterables;
import com.google.common.collect.Multimap;

/**
* See http://jira.codehaus.org/browse/SONAR-5575
@@ -47,13 +48,13 @@ import java.util.concurrent.atomic.AtomicLong;
*
* @since 4.5.1
*/
public class AddMissingCustomRuleParametersMigration implements DatabaseMigration {
public class AddMissingCustomRuleParametersMigrationStep implements MigrationStep {

private final DbClient db;
private final System2 system;
private final AtomicLong counter = new AtomicLong(0L);

public AddMissingCustomRuleParametersMigration(DbClient db, System2 system) {
public AddMissingCustomRuleParametersMigrationStep(DbClient db, System2 system) {
this.db = db;
this.system = system;
}

+ 4
- 4
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v451/DeleteUnescapedActivities.java Visa fil

@@ -19,6 +19,10 @@
*/
package org.sonar.server.db.migrations.v451;

import java.sql.SQLException;

import javax.annotation.Nullable;

import org.apache.commons.lang.StringUtils;
import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
@@ -26,10 +30,6 @@ import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;

import javax.annotation.Nullable;

import java.sql.SQLException;

/**
* See http://jira.codehaus.org/browse/SONAR-5758
*

+ 7
- 7
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v50/FeedFileSources.java Visa fil

@@ -19,6 +19,13 @@
*/
package org.sonar.server.db.migrations.v50;

import static com.google.common.base.Charsets.UTF_8;

import java.sql.SQLException;
import java.util.Date;

import javax.annotation.Nullable;

import org.apache.commons.lang.StringUtils;
import org.sonar.api.utils.System2;
import org.sonar.core.persistence.Database;
@@ -28,13 +35,6 @@ import org.sonar.server.db.migrations.Select.Row;
import org.sonar.server.db.migrations.Select.RowReader;
import org.sonar.server.db.migrations.SqlStatement;

import javax.annotation.Nullable;

import java.sql.SQLException;
import java.util.Date;

import static com.google.common.base.Charsets.UTF_8;

/**
* Used in the Active Record Migration 714
*

+ 3
- 3
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v50/FeedIssueLongDates.java Visa fil

@@ -19,6 +19,9 @@
*/
package org.sonar.server.db.migrations.v50;

import java.sql.SQLException;
import java.util.Date;

import org.sonar.api.utils.System2;
import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
@@ -26,9 +29,6 @@ import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;

import java.sql.SQLException;
import java.util.Date;

public class FeedIssueLongDates extends BaseDataChange {

private final System2 system;

+ 2
- 2
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v50/FeedSnapshotSourcesUpdatedAt.java Visa fil

@@ -20,14 +20,14 @@

package org.sonar.server.db.migrations.v50;

import java.sql.SQLException;

import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;

import java.sql.SQLException;

/**
* Used in the Active Record Migration 712
*

+ 16
- 11
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v50/FileSourceDto.java Visa fil

@@ -19,8 +19,20 @@
*/
package org.sonar.server.db.migrations.v50;

import com.google.common.base.Splitter;
import com.google.common.collect.ImmutableList;
import static com.google.common.base.Charsets.UTF_8;

import java.io.ByteArrayOutputStream;
import java.io.OutputStreamWriter;
import java.io.StringReader;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamException;

import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang.StringUtils;
import org.codehaus.stax2.XMLInputFactory2;
@@ -31,15 +43,8 @@ import org.sonar.api.measures.CoreMetrics;
import org.sonar.api.utils.KeyValueFormat;
import org.sonar.api.utils.text.CsvWriter;

import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamException;

import java.io.ByteArrayOutputStream;
import java.io.OutputStreamWriter;
import java.io.StringReader;
import java.util.*;

import static com.google.common.base.Charsets.UTF_8;
import com.google.common.base.Splitter;
import com.google.common.collect.ImmutableList;

class FileSourceDto {


server/sonar-server/src/main/java/org/sonar/server/db/migrations/v50/InsertProjectsAuthorizationUpdatedAtMigration.java → server/sonar-server/src/main/java/org/sonar/server/db/migrations/v50/InsertProjectsAuthorizationUpdatedAtMigrationStep.java Visa fil

@@ -20,6 +20,8 @@

package org.sonar.server.db.migrations.v50;

import java.sql.SQLException;

import org.sonar.api.utils.System2;
import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
@@ -27,18 +29,16 @@ import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;

import java.sql.SQLException;

/**
* Used in the Active Record Migration 716
*
* @since 5.0
*/
public class InsertProjectsAuthorizationUpdatedAtMigration extends BaseDataChange {
public class InsertProjectsAuthorizationUpdatedAtMigrationStep extends BaseDataChange {

private final System2 system;

public InsertProjectsAuthorizationUpdatedAtMigration(Database db, System2 system) {
public InsertProjectsAuthorizationUpdatedAtMigrationStep(Database db, System2 system) {
super(db);
this.system = system;
}

server/sonar-server/src/main/java/org/sonar/server/db/migrations/v50/PopulateProjectsUuidColumnsMigration.java → server/sonar-server/src/main/java/org/sonar/server/db/migrations/v50/PopulateProjectsUuidColumnsMigrationStep.java Visa fil

@@ -20,8 +20,13 @@

package org.sonar.server.db.migrations.v50;

import com.google.common.base.Splitter;
import com.google.common.base.Strings;
import static com.google.common.collect.Lists.newArrayList;
import static com.google.common.collect.Maps.newHashMap;

import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicLong;

import org.apache.ibatis.session.ResultContext;
import org.apache.ibatis.session.ResultHandler;
import org.sonar.api.resources.Scopes;
@@ -30,27 +35,23 @@ import org.sonar.core.persistence.DbSession;
import org.sonar.core.persistence.migration.v50.Component;
import org.sonar.core.persistence.migration.v50.Migration50Mapper;
import org.sonar.server.db.DbClient;
import org.sonar.server.db.migrations.DatabaseMigration;
import org.sonar.server.db.migrations.MigrationStep;
import org.sonar.server.util.ProgressLogger;

import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicLong;

import static com.google.common.collect.Lists.newArrayList;
import static com.google.common.collect.Maps.newHashMap;
import com.google.common.base.Splitter;
import com.google.common.base.Strings;

/**
* Used in the Active Record Migration 705
*
* @since 5.0
*/
public class PopulateProjectsUuidColumnsMigration implements DatabaseMigration {
public class PopulateProjectsUuidColumnsMigrationStep implements MigrationStep {

private final DbClient db;
private final AtomicLong counter = new AtomicLong(0L);

public PopulateProjectsUuidColumnsMigration(DbClient db) {
public PopulateProjectsUuidColumnsMigrationStep(DbClient db) {
this.db = db;
}


server/sonar-server/src/main/java/org/sonar/server/db/migrations/v50/RemoveSortFieldFromIssueFiltersMigration.java → server/sonar-server/src/main/java/org/sonar/server/db/migrations/v50/RemoveSortFieldFromIssueFiltersMigrationStep.java Visa fil

@@ -19,7 +19,10 @@
*/
package org.sonar.server.db.migrations.v50;

import com.google.common.collect.Lists;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;

import org.apache.commons.lang.StringUtils;
import org.sonar.api.utils.System2;
import org.sonar.core.persistence.Database;
@@ -28,13 +31,11 @@ import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;

import java.sql.SQLException;
import java.util.Date;
import java.util.List;
import com.google.common.collect.Lists;

// TODO could be refactored to benefit from existing code of ReplaceIssueFiltersProjectKeyByUuid
// -> make any change of issue_filters easier
public class RemoveSortFieldFromIssueFiltersMigration extends BaseDataChange {
public class RemoveSortFieldFromIssueFiltersMigrationStep extends BaseDataChange {

private static final char FIELD_SEPARATOR = '|';
private static final String SORT_KEY = "sort=";
@@ -42,7 +43,7 @@ public class RemoveSortFieldFromIssueFiltersMigration extends BaseDataChange {

private final System2 system;

public RemoveSortFieldFromIssueFiltersMigration(Database db, System2 system) {
public RemoveSortFieldFromIssueFiltersMigrationStep(Database db, System2 system) {
super(db);
this.system = system;
}
@@ -50,7 +51,7 @@ public class RemoveSortFieldFromIssueFiltersMigration extends BaseDataChange {
@Override
public void execute(Context context) throws SQLException {
MassUpdate massUpdate = context.prepareMassUpdate();
massUpdate.select("select id,data from issue_filters where data like '%" + SORT_KEY + "%' or data like '%" + ASC_KEY +"%'");
massUpdate.select("select id,data from issue_filters where data like '%" + SORT_KEY + "%' or data like '%" + ASC_KEY + "%'");
massUpdate.update("update issue_filters set data=?, updated_at=? where id=?");
massUpdate.rowPluralName("issue filters");
massUpdate.execute(new FilterHandler(new Date(system.now())));

+ 12
- 8
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v50/ReplaceIssueFiltersProjectKeyByUuid.java Visa fil

@@ -20,19 +20,23 @@

package org.sonar.server.db.migrations.v50;

import org.apache.commons.dbutils.DbUtils;
import org.sonar.api.utils.System2;
import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.*;

import javax.annotation.Nullable;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;

import javax.annotation.Nullable;

import org.apache.commons.dbutils.DbUtils;
import org.sonar.api.utils.System2;
import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;
import org.sonar.server.db.migrations.SqlUtil;

/**
* Used in the Active Record Migration 710
*
@@ -84,7 +88,7 @@ public class ReplaceIssueFiltersProjectKeyByUuid extends BaseDataChange {
private String convertData(PreparedStatement pstmt, String data) throws SQLException {
StringBuilder newFields = new StringBuilder();
String[] fields = data.split("\\|");
for (int i=0; i<fields.length; i++) {
for (int i = 0; i < fields.length; i++) {
String field = fields[i];
if (field.contains("componentRoots")) {
String[] componentRootValues = field.split("=");

+ 2
- 2
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/AddIssuesColumns.java Visa fil

@@ -20,12 +20,12 @@

package org.sonar.server.db.migrations.v51;

import java.sql.SQLException;

import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.AddColumnsBuilder;
import org.sonar.server.db.migrations.DdlChange;

import java.sql.SQLException;

/**
* Add the following columns to the issues table :
* - issue_creation_date_ms

+ 9
- 8
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/AddNewCharacteristics.java Visa fil

@@ -19,8 +19,13 @@
*/
package org.sonar.server.db.migrations.v51;

import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;

import javax.annotation.CheckForNull;
import javax.annotation.Nullable;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.sonar.api.utils.MessageException;
@@ -29,12 +34,8 @@ import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
import org.sonar.server.db.migrations.Select;

import javax.annotation.CheckForNull;
import javax.annotation.Nullable;

import java.sql.SQLException;
import java.util.Date;
import java.util.List;
import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;

/**
* See http://jira.codehaus.org/browse/SONAR-6187

+ 12
- 11
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/CopyScmAccountsFromAuthorsToUsers.java Visa fil

@@ -20,9 +20,15 @@

package org.sonar.server.db.migrations.v51;

import com.google.common.base.Joiner;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Multimap;
import static com.google.common.collect.Lists.newArrayList;

import java.sql.SQLException;
import java.util.Collection;
import java.util.List;
import java.util.concurrent.atomic.AtomicLong;

import javax.annotation.CheckForNull;

import org.sonar.api.utils.System2;
import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
@@ -31,14 +37,9 @@ import org.sonar.server.db.migrations.Upsert;
import org.sonar.server.db.migrations.UpsertImpl;
import org.sonar.server.util.ProgressLogger;

import javax.annotation.CheckForNull;

import java.sql.SQLException;
import java.util.Collection;
import java.util.List;
import java.util.concurrent.atomic.AtomicLong;

import static com.google.common.collect.Lists.newArrayList;
import com.google.common.base.Joiner;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Multimap;

public class CopyScmAccountsFromAuthorsToUsers extends BaseDataChange {


+ 3
- 2
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/DropIssuesColumns.java Visa fil

@@ -20,12 +20,13 @@

package org.sonar.server.db.migrations.v51;

import com.google.common.annotations.VisibleForTesting;
import java.sql.SQLException;

import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.DdlChange;
import org.sonar.server.db.migrations.DropColumnsBuilder;

import java.sql.SQLException;
import com.google.common.annotations.VisibleForTesting;

/**
* Drop the following columns from the issues table :

+ 3
- 3
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/FeedAnalysisReportsLongDates.java Visa fil

@@ -20,6 +20,9 @@

package org.sonar.server.db.migrations.v51;

import java.sql.SQLException;
import java.util.Date;

import org.sonar.api.utils.System2;
import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
@@ -27,9 +30,6 @@ import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;

import java.sql.SQLException;
import java.util.Date;

public class FeedAnalysisReportsLongDates extends BaseDataChange {

private final System2 system;

+ 3
- 3
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/FeedEventsLongDates.java Visa fil

@@ -20,6 +20,9 @@

package org.sonar.server.db.migrations.v51;

import java.sql.SQLException;
import java.util.Date;

import org.sonar.api.utils.System2;
import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
@@ -27,9 +30,6 @@ import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;

import java.sql.SQLException;
import java.util.Date;

public class FeedEventsLongDates extends BaseDataChange {

private final System2 system2;

+ 9
- 8
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/FeedFileSourcesBinaryData.java Visa fil

@@ -19,9 +19,12 @@
*/
package org.sonar.server.db.migrations.v51;

import com.google.common.base.Function;
import com.google.common.base.Splitter;
import com.google.common.collect.Iterables;
import java.sql.SQLException;
import java.util.Iterator;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;

import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVParser;
import org.apache.commons.csv.CSVRecord;
@@ -36,11 +39,9 @@ import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;
import org.sonar.server.source.db.FileSourceDb;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;

import java.sql.SQLException;
import java.util.Iterator;
import com.google.common.base.Function;
import com.google.common.base.Splitter;
import com.google.common.collect.Iterables;

public class FeedFileSourcesBinaryData extends BaseDataChange {


+ 3
- 3
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/FeedIssueChangesLongDates.java Visa fil

@@ -20,6 +20,9 @@

package org.sonar.server.db.migrations.v51;

import java.sql.SQLException;
import java.util.Date;

import org.sonar.api.utils.System2;
import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
@@ -27,9 +30,6 @@ import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;

import java.sql.SQLException;
import java.util.Date;

public class FeedIssueChangesLongDates extends BaseDataChange {

private final System2 system;

+ 2
- 2
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/FeedIssueComponentUuids.java Visa fil

@@ -20,6 +20,8 @@

package org.sonar.server.db.migrations.v51;

import java.sql.SQLException;

import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
import org.sonar.server.db.migrations.MassUpdate;
@@ -27,8 +29,6 @@ import org.sonar.server.db.migrations.MassUpdate.Handler;
import org.sonar.server.db.migrations.Select.Row;
import org.sonar.server.db.migrations.SqlStatement;

import java.sql.SQLException;

public class FeedIssueComponentUuids extends BaseDataChange {

public FeedIssueComponentUuids(Database db) {

+ 5
- 5
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/FeedIssueTags.java Visa fil

@@ -19,8 +19,9 @@
*/
package org.sonar.server.db.migrations.v51;

import com.google.common.base.Joiner;
import com.google.common.collect.Maps;
import java.sql.SQLException;
import java.util.Map;

import org.apache.commons.lang.StringUtils;
import org.sonar.api.utils.System2;
import org.sonar.core.persistence.Database;
@@ -31,9 +32,8 @@ import org.sonar.server.db.migrations.Select.Row;
import org.sonar.server.db.migrations.Select.RowHandler;
import org.sonar.server.db.migrations.SqlStatement;

import java.sql.SQLException;
import java.util.Map;

import com.google.common.base.Joiner;
import com.google.common.collect.Maps;

/**
* SONAR-5897

+ 3
- 3
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/FeedIssuesLongDates.java Visa fil

@@ -20,6 +20,9 @@

package org.sonar.server.db.migrations.v51;

import java.sql.SQLException;
import java.util.Date;

import org.sonar.api.utils.System2;
import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
@@ -27,9 +30,6 @@ import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;

import java.sql.SQLException;
import java.util.Date;

public class FeedIssuesLongDates extends BaseDataChange {

private final System2 system2;

+ 3
- 3
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/FeedManualMeasuresLongDates.java Visa fil

@@ -20,6 +20,9 @@

package org.sonar.server.db.migrations.v51;

import java.sql.SQLException;
import java.util.Date;

import org.sonar.api.utils.System2;
import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
@@ -27,9 +30,6 @@ import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;

import java.sql.SQLException;
import java.util.Date;

public class FeedManualMeasuresLongDates extends BaseDataChange {

private final System2 system2;

+ 3
- 3
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/FeedSemaphoresLongDates.java Visa fil

@@ -20,6 +20,9 @@

package org.sonar.server.db.migrations.v51;

import java.sql.SQLException;
import java.util.Date;

import org.sonar.api.utils.System2;
import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
@@ -27,9 +30,6 @@ import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;

import java.sql.SQLException;
import java.util.Date;

public class FeedSemaphoresLongDates extends BaseDataChange {

private final System2 system2;

+ 3
- 3
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/FeedSnapshotsLongDates.java Visa fil

@@ -20,6 +20,9 @@

package org.sonar.server.db.migrations.v51;

import java.sql.SQLException;
import java.util.Date;

import org.sonar.api.utils.System2;
import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
@@ -27,9 +30,6 @@ import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;

import java.sql.SQLException;
import java.util.Date;

public class FeedSnapshotsLongDates extends BaseDataChange {

private final System2 system2;

+ 3
- 3
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/FeedUsersLongDates.java Visa fil

@@ -19,6 +19,9 @@
*/
package org.sonar.server.db.migrations.v51;

import java.sql.SQLException;
import java.util.Date;

import org.sonar.api.utils.System2;
import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
@@ -26,9 +29,6 @@ import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;

import java.sql.SQLException;
import java.util.Date;

public class FeedUsersLongDates extends BaseDataChange {

private final System2 system;

server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/RemovePermissionsOnModulesMigration.java → server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/RemovePermissionsOnModulesMigrationStep.java Visa fil

@@ -20,14 +20,14 @@

package org.sonar.server.db.migrations.v51;

import java.sql.SQLException;

import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;

import java.sql.SQLException;

/**
* See http://jira.codehaus.org/browse/SONAR-5596
*
@@ -36,9 +36,9 @@ import java.sql.SQLException;
*
* @since 5.1
*/
public class RemovePermissionsOnModulesMigration extends BaseDataChange {
public class RemovePermissionsOnModulesMigrationStep extends BaseDataChange {

public RemovePermissionsOnModulesMigration(Database db) {
public RemovePermissionsOnModulesMigrationStep(Database db) {
super(db);
}


+ 5
- 4
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/RenameComponentRelatedParamsInIssueFilters.java Visa fil

@@ -19,7 +19,10 @@
*/
package org.sonar.server.db.migrations.v51;

import com.google.common.collect.Lists;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;

import org.apache.commons.lang.StringUtils;
import org.sonar.api.utils.System2;
import org.sonar.core.persistence.Database;
@@ -28,9 +31,7 @@ import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;

import java.sql.SQLException;
import java.util.Date;
import java.util.List;
import com.google.common.collect.Lists;

public class RenameComponentRelatedParamsInIssueFilters extends BaseDataChange {


+ 4
- 4
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/UpdateProjectsModuleUuidPath.java Visa fil

@@ -20,6 +20,10 @@

package org.sonar.server.db.migrations.v51;

import java.sql.SQLException;

import javax.annotation.Nullable;

import org.apache.commons.lang.StringUtils;
import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
@@ -28,10 +32,6 @@ import org.sonar.server.db.migrations.MassUpdate.Handler;
import org.sonar.server.db.migrations.Select.Row;
import org.sonar.server.db.migrations.SqlStatement;

import javax.annotation.Nullable;

import java.sql.SQLException;

/**
* SONAR-6054
* SONAR-6119

+ 2
- 2
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v52/FeedEventsComponentUuid.java Visa fil

@@ -20,14 +20,14 @@

package org.sonar.server.db.migrations.v52;

import java.sql.SQLException;

import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.SqlStatement;

import java.sql.SQLException;

public class FeedEventsComponentUuid extends BaseDataChange {

public FeedEventsComponentUuid(Database db) {

+ 2
- 2
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v52/FeedProjectLinksComponentUuid.java Visa fil

@@ -20,6 +20,8 @@

package org.sonar.server.db.migrations.v52;

import java.sql.SQLException;

import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.BaseDataChange;
import org.sonar.server.db.migrations.MassUpdate;
@@ -27,8 +29,6 @@ import org.sonar.server.db.migrations.MassUpdate.Handler;
import org.sonar.server.db.migrations.Select.Row;
import org.sonar.server.db.migrations.SqlStatement;

import java.sql.SQLException;

public class FeedProjectLinksComponentUuid extends BaseDataChange {

public FeedProjectLinksComponentUuid(Database db) {

+ 10
- 5
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v52/MoveProjectProfileAssociation.java Visa fil

@@ -19,17 +19,22 @@
*/
package org.sonar.server.db.migrations.v52;

import com.google.common.collect.HashBasedTable;
import com.google.common.collect.Table;
import java.sql.SQLException;
import org.sonar.api.utils.log.Logger;
import org.sonar.api.utils.log.Loggers;
import org.sonar.core.persistence.Database;
import org.sonar.server.db.migrations.*;
import org.sonar.server.db.migrations.BaseDataChange;
import org.sonar.server.db.migrations.MassUpdate;
import org.sonar.server.db.migrations.MassUpdate.Handler;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.Select.Row;
import org.sonar.server.db.migrations.Select.RowReader;
import org.sonar.server.db.migrations.SqlStatement;
import org.sonar.server.db.migrations.Upsert;

import java.sql.SQLException;
import com.google.common.collect.HashBasedTable;
import com.google.common.collect.Table;

/**
* SonarQube 5.2
@@ -56,7 +61,7 @@ public class MoveProjectProfileAssociation extends BaseDataChange {
String profileName = row.getString(3);
Long projectId = row.getNullableLong(4);
String projectUuid = row.getString(5);
if (profileKeysByLanguageThenName.contains(profileLanguage, profileName)) {
String profileKey = profileKeysByLanguageThenName.get(profileLanguage, profileName);


+ 2
- 2
server/sonar-server/src/main/java/org/sonar/server/platform/ServerComponents.java Visa fil

@@ -103,7 +103,7 @@ import org.sonar.server.dashboard.ws.DashboardsWebService;
import org.sonar.server.db.DatabaseChecker;
import org.sonar.server.db.DbClient;
import org.sonar.server.db.EmbeddedDatabaseFactory;
import org.sonar.server.db.migrations.DatabaseMigrations;
import org.sonar.server.db.migrations.MigrationSteps;
import org.sonar.server.db.migrations.DatabaseMigrator;
import org.sonar.server.debt.*;
import org.sonar.server.design.FileDesignWidget;
@@ -303,7 +303,7 @@ class ServerComponents {
FileSourceDao.class
));
components.addAll(CorePropertyDefinitions.all());
components.addAll(DatabaseMigrations.CLASSES);
components.addAll(MigrationSteps.CLASSES);
components.addAll(DaoUtils.getDaoClasses());
return components;
}

+ 5
- 5
server/sonar-server/src/test/java/org/sonar/server/db/migrations/DatabaseMigratorTest.java Visa fil

@@ -47,7 +47,7 @@ public class DatabaseMigratorTest extends AbstractDaoTestCase {
public ExpectedException thrown = ExpectedException.none();

DbClient dbClient = mock(DbClient.class, Mockito.RETURNS_DEEP_STUBS);
DatabaseMigration[] migrations = new DatabaseMigration[]{new FakeMigration()};
MigrationStep[] migrations = new MigrationStep[]{new FakeMigrationStep()};
ServerUpgradeStatus serverUpgradeStatus = mock(ServerUpgradeStatus.class);
DatabaseMigrator migrator;

@@ -74,9 +74,9 @@ public class DatabaseMigratorTest extends AbstractDaoTestCase {

@Test
public void execute_migration() throws Exception {
assertThat(FakeMigration.executed).isFalse();
migrator.executeMigration(FakeMigration.class.getName());
assertThat(FakeMigration.executed).isTrue();
assertThat(FakeMigrationStep.executed).isFalse();
migrator.executeMigration(FakeMigrationStep.class.getName());
assertThat(FakeMigrationStep.executed).isTrue();
}

@Test
@@ -98,7 +98,7 @@ public class DatabaseMigratorTest extends AbstractDaoTestCase {
assertThat(databaseMigrator.createDatabase()).isTrue();
}

public static class FakeMigration implements DatabaseMigration {
public static class FakeMigrationStep implements MigrationStep {
static boolean executed = false;

@Override

server/sonar-server/src/test/java/org/sonar/server/db/migrations/DatabaseMigrationsTest.java → server/sonar-server/src/test/java/org/sonar/server/db/migrations/MigrationStepsTest.java Visa fil

@@ -24,10 +24,10 @@ import org.junit.Test;

import static org.assertj.core.api.Assertions.assertThat;

public class DatabaseMigrationsTest {
public class MigrationStepsTest {

@Test
public void check_number_of_migrations() throws Exception {
assertThat(DatabaseMigrations.CLASSES).isNotEmpty();
assertThat(MigrationSteps.CLASSES).isNotEmpty();
}
}

+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v36/ViolationMigrationTest.java Visa fil

@@ -35,7 +35,7 @@ public class ViolationMigrationTest {
public void migrate_violations() throws Exception {
db.prepareDbUnit(getClass(), "migrate_violations.xml");

new ViolationMigration(db.database(), new Settings()).execute();
new ViolationMigrationStep(db.database(), new Settings()).execute();

db.assertDbUnit(getClass(), "migrate_violations_result.xml", "issues", "issue_changes");
assertMigrationEnded();
@@ -45,7 +45,7 @@ public class ViolationMigrationTest {
public void no_violations_to_migrate() throws Exception {
db.prepareDbUnit(getClass(), "no_violations_to_migrate.xml");

new ViolationMigration(db.database(), new Settings()).execute();
new ViolationMigrationStep(db.database(), new Settings()).execute();

db.assertDbUnit(getClass(), "no_violations_to_migrate_result.xml", "issues", "issue_changes");
assertMigrationEnded();

+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v42/CompleteIssueMessageMigrationTest.java Visa fil

@@ -22,14 +22,14 @@ package org.sonar.server.db.migrations.v42;
import org.junit.ClassRule;
import org.junit.Test;
import org.sonar.core.persistence.DbTester;
import org.sonar.server.db.migrations.DatabaseMigration;
import org.sonar.server.db.migrations.MigrationStep;

public class CompleteIssueMessageMigrationTest {

@ClassRule
public static DbTester db = new DbTester().schema(CompleteIssueMessageMigrationTest.class, "schema.sql");

DatabaseMigration migration = new CompleteIssueMessageMigration(db.database());
MigrationStep migration = new CompleteIssueMessageMigrationStep(db.database());

@Test
public void execute() throws Exception {

+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v42/PackageKeysMigrationTest.java Visa fil

@@ -22,14 +22,14 @@ package org.sonar.server.db.migrations.v42;
import org.junit.ClassRule;
import org.junit.Test;
import org.sonar.core.persistence.DbTester;
import org.sonar.server.db.migrations.DatabaseMigration;
import org.sonar.server.db.migrations.MigrationStep;

public class PackageKeysMigrationTest {

@ClassRule
public static DbTester db = new DbTester().schema(PackageKeysMigrationTest.class, "schema.sql");

DatabaseMigration migration = new PackageKeysMigration(db.database());
MigrationStep migration = new PackageKeysMigrationStep(db.database());

@Test
public void execute() throws Exception {

+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v43/ConvertIssueDebtToMinutesMigrationTest.java Visa fil

@@ -50,14 +50,14 @@ public class ConvertIssueDebtToMinutesMigrationTest {
@Mock
PropertiesDao propertiesDao;

ConvertIssueDebtToMinutesMigration migration;
ConvertIssueDebtToMinutesMigrationStep migration;

@Before
public void setUp() throws Exception {
when(system2.now()).thenReturn(DateUtils.parseDateTime("2014-02-19T19:10:03+0100").getTime());
when(propertiesDao.selectGlobalProperty(WorkDurationConvertor.HOURS_IN_DAY_PROPERTY)).thenReturn(new PropertyDto().setValue("8"));

migration = new ConvertIssueDebtToMinutesMigration(db.database(), propertiesDao, system2);
migration = new ConvertIssueDebtToMinutesMigrationStep(db.database(), propertiesDao, system2);
}

@Test

+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v43/DevelopmentCostMeasuresMigrationTest.java Visa fil

@@ -41,13 +41,13 @@ public class DevelopmentCostMeasuresMigrationTest {
@Mock
PropertiesDao propertiesDao;

DevelopmentCostMeasuresMigration migration;
DevelopmentCostMeasuresMigrationStep migration;

@Before
public void setUp() throws Exception {
when(propertiesDao.selectGlobalProperty(WorkDurationConvertor.HOURS_IN_DAY_PROPERTY)).thenReturn(new PropertyDto().setValue("8"));

migration = new DevelopmentCostMeasuresMigration(db.database(), propertiesDao);
migration = new DevelopmentCostMeasuresMigrationStep(db.database(), propertiesDao);
}

@Test

+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v43/IssueChangelogMigrationTest.java Visa fil

@@ -47,7 +47,7 @@ public class IssueChangelogMigrationTest {
@Mock
PropertiesDao propertiesDao;

IssueChangelogMigration migration;
IssueChangelogMigrationStep migration;

@Before
public void setUp() throws Exception {
@@ -56,7 +56,7 @@ public class IssueChangelogMigrationTest {

WorkDurationConvertor convertor = new WorkDurationConvertor(propertiesDao);
convertor.init();
migration = new IssueChangelogMigration(db.database(), system2, convertor);
migration = new IssueChangelogMigrationStep(db.database(), system2, convertor);
}

@Test

+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v43/NotResolvedIssuesOnRemovedComponentsMigrationTest.java Visa fil

@@ -41,13 +41,13 @@ public class NotResolvedIssuesOnRemovedComponentsMigrationTest {
@Mock
System2 system2;

NotResolvedIssuesOnRemovedComponentsMigration migration;
NotResolvedIssuesOnRemovedComponentsMigrationStep migration;

@Before
public void setUp() throws Exception {
when(system2.now()).thenReturn(DateUtils.parseDate("2014-04-09").getTime());

migration = new NotResolvedIssuesOnRemovedComponentsMigration(db.database(), system2);
migration = new NotResolvedIssuesOnRemovedComponentsMigrationStep(db.database(), system2);
}

@Test

+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v43/RequirementMeasuresMigrationTest.java Visa fil

@@ -30,11 +30,11 @@ public class RequirementMeasuresMigrationTest {
@ClassRule
public static DbTester db = new DbTester().schema(RequirementMeasuresMigrationTest.class, "schema.sql");

RequirementMeasuresMigration migration;
RequirementMeasuresMigrationStep migration;

@Before
public void setUp() throws Exception {
migration = new RequirementMeasuresMigration(db.database());
migration = new RequirementMeasuresMigrationStep(db.database());
}

@Test

+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v43/TechnicalDebtMeasuresMigrationTest.java Visa fil

@@ -41,13 +41,13 @@ public class TechnicalDebtMeasuresMigrationTest {
@Mock
PropertiesDao propertiesDao;

TechnicalDebtMeasuresMigration migration;
TechnicalDebtMeasuresMigrationStep migration;

@Before
public void setUp() throws Exception {
when(propertiesDao.selectGlobalProperty(WorkDurationConvertor.HOURS_IN_DAY_PROPERTY)).thenReturn(new PropertyDto().setValue("8"));

migration = new TechnicalDebtMeasuresMigration(db.database(), propertiesDao);
migration = new TechnicalDebtMeasuresMigrationStep(db.database(), propertiesDao);
}

@Test

+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/ChangeLogMigrationTest.java Visa fil

@@ -42,7 +42,7 @@ public class ChangeLogMigrationTest {
System2 system2 = mock(System2.class);
DbClient dbClient;
ActivityDao dao;
ChangeLogMigration migration;
ChangeLogMigrationStep migration;
DbSession session;

@Before
@@ -50,7 +50,7 @@ public class ChangeLogMigrationTest {
when(system2.now()).thenReturn(DateUtils.parseDate("2014-03-13").getTime());
dao = new ActivityDao(db.myBatis(), system2);
dbClient = new DbClient(db.database(), db.myBatis(), dao);
migration = new ChangeLogMigration(dao, dbClient);
migration = new ChangeLogMigrationStep(dao, dbClient);
session = dbClient.openSession(false);
}


+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/ConvertProfileMeasuresMigrationTest.java Visa fil

@@ -37,12 +37,12 @@ public class ConvertProfileMeasuresMigrationTest {
@ClassRule
public static DbTester db = new DbTester().schema(ConvertProfileMeasuresMigrationTest.class, "schema.sql");

ConvertProfileMeasuresMigration migration;
ConvertProfileMeasuresMigrationStep migration;

@Before
public void setUp() throws Exception {
DbClient dbClient = new DbClient(db.database(), db.myBatis());
migration = new ConvertProfileMeasuresMigration(dbClient);
migration = new ConvertProfileMeasuresMigrationStep(dbClient);
}

@Test

+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/FeedQProfileDatesMigrationTest.java Visa fil

@@ -39,7 +39,7 @@ public class FeedQProfileDatesMigrationTest {
@ClassRule
public static DbTester db = new DbTester().schema(FeedQProfileDatesMigrationTest.class, "schema.sql");

FeedQProfileDatesMigration migration;
FeedQProfileDatesMigrationStep migration;

@Before
public void setUp() throws Exception {
@@ -48,7 +48,7 @@ public class FeedQProfileDatesMigrationTest {
DbClient dbClient = new DbClient(db.database(), db.myBatis());
System2 system = mock(System2.class);
when(system.now()).thenReturn(UtcDateUtils.parseDateTime("2014-07-03T12:00:00+0000").getTime());
migration = new FeedQProfileDatesMigration(dbClient, system);
migration = new FeedQProfileDatesMigrationStep(dbClient, system);
}

@Test

+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/FeedQProfileKeysMigrationTest.java Visa fil

@@ -38,7 +38,7 @@ public class FeedQProfileKeysMigrationTest {
public void feed_keys() throws Exception {
db.prepareDbUnit(getClass(), "feed_keys.xml");

new FeedQProfileKeysMigration(db.database()).execute();
new FeedQProfileKeysMigrationStep(db.database()).execute();

List<Map<String, Object>> profiles = db.select("SELECT kee, name, language, parent_kee FROM rules_profiles ORDER BY id ASC");


+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/IssueActionPlanKeyMigrationTest.java Visa fil

@@ -41,13 +41,13 @@ public class IssueActionPlanKeyMigrationTest {
@Mock
System2 system2;

IssueActionPlanKeyMigration migration;
IssueActionPlanKeyMigrationStep migration;

@Before
public void setUp() throws Exception {
when(system2.now()).thenReturn(DateUtils.parseDate("2014-04-28").getTime());

migration = new IssueActionPlanKeyMigration(db.database(), system2);
migration = new IssueActionPlanKeyMigrationStep(db.database(), system2);
}

@Test

+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/MeasureDataMigrationTest.java Visa fil

@@ -33,11 +33,11 @@ public class MeasureDataMigrationTest {
@ClassRule
public static DbTester db = new DbTester().schema(MeasureDataMigrationTest.class, "schema.sql");

MeasureDataMigration migration;
MeasureDataMigrationStep migration;

@Before
public void setUp() throws Exception {
migration = new MeasureDataMigration(db.database());
migration = new MeasureDataMigrationStep(db.database());
}

@Test

+ 3
- 3
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v45/AddMissingRuleParameterDefaultValuesMigrationTest.java Visa fil

@@ -25,7 +25,7 @@ import org.junit.Test;
import org.sonar.api.utils.DateUtils;
import org.sonar.api.utils.System2;
import org.sonar.core.persistence.DbTester;
import org.sonar.server.db.migrations.DatabaseMigration;
import org.sonar.server.db.migrations.MigrationStep;

import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -35,7 +35,7 @@ public class AddMissingRuleParameterDefaultValuesMigrationTest {
@ClassRule
public static DbTester db = new DbTester().schema(AddMissingRuleParameterDefaultValuesMigrationTest.class, "schema.sql");

DatabaseMigration migration;
MigrationStep migration;
System2 system = mock(System2.class);

@Before
@@ -43,7 +43,7 @@ public class AddMissingRuleParameterDefaultValuesMigrationTest {
db.executeUpdateSql("truncate table rules_parameters");
db.executeUpdateSql("truncate table active_rules");
db.executeUpdateSql("truncate table active_rule_parameters");
migration = new AddMissingRuleParameterDefaultValuesMigration(db.database(), system);
migration = new AddMissingRuleParameterDefaultValuesMigrationStep(db.database(), system);
when(system.now()).thenReturn(DateUtils.parseDate("2014-04-28").getTime());
}


+ 3
- 3
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v45/DeleteMeasuresOnDeletedProfilesMigrationTest.java Visa fil

@@ -25,7 +25,7 @@ import org.junit.ClassRule;
import org.junit.Test;
import org.sonar.core.persistence.DbTester;
import org.sonar.server.db.DbClient;
import org.sonar.server.db.migrations.DatabaseMigration;
import org.sonar.server.db.migrations.MigrationStep;

import java.sql.Connection;
import java.sql.ResultSet;
@@ -38,12 +38,12 @@ public class DeleteMeasuresOnDeletedProfilesMigrationTest {
@ClassRule
public static DbTester db = new DbTester().schema(DeleteMeasuresOnDeletedProfilesMigrationTest.class, "schema.sql");

DatabaseMigration migration;
MigrationStep migration;

@Before
public void setUp() throws Exception {
DbClient dbClient = new DbClient(db.database(), db.myBatis());
migration = new DeleteMeasuresOnDeletedProfilesMigration(dbClient);
migration = new DeleteMeasuresOnDeletedProfilesMigrationStep(dbClient);
}

@Test

+ 3
- 3
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v451/AddMissingCustomRuleParametersMigrationTest.java Visa fil

@@ -26,7 +26,7 @@ import org.sonar.api.utils.DateUtils;
import org.sonar.api.utils.System2;
import org.sonar.core.persistence.DbTester;
import org.sonar.server.db.DbClient;
import org.sonar.server.db.migrations.DatabaseMigration;
import org.sonar.server.db.migrations.MigrationStep;

import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -36,7 +36,7 @@ public class AddMissingCustomRuleParametersMigrationTest {
@ClassRule
public static DbTester db = new DbTester().schema(AddMissingCustomRuleParametersMigrationTest.class, "schema.sql");

DatabaseMigration migration;
MigrationStep migration;
System2 system = mock(System2.class);

@Before
@@ -44,7 +44,7 @@ public class AddMissingCustomRuleParametersMigrationTest {
db.executeUpdateSql("truncate table rules");
db.executeUpdateSql("truncate table rules_parameters");
DbClient dbClient = new DbClient(db.database(), db.myBatis());
migration = new AddMissingCustomRuleParametersMigration(dbClient, system);
migration = new AddMissingCustomRuleParametersMigrationStep(dbClient, system);
when(system.now()).thenReturn(DateUtils.parseDate("2014-10-09").getTime());
}


+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v451/DeleteUnescapedActivitiesTest.java Visa fil

@@ -22,7 +22,7 @@ package org.sonar.server.db.migrations.v451;
import org.junit.ClassRule;
import org.junit.Test;
import org.sonar.core.persistence.DbTester;
import org.sonar.server.db.migrations.DatabaseMigration;
import org.sonar.server.db.migrations.MigrationStep;

import static org.assertj.core.api.Assertions.assertThat;

@@ -31,7 +31,7 @@ public class DeleteUnescapedActivitiesTest {
@ClassRule
public static DbTester db = new DbTester().schema(DeleteUnescapedActivitiesTest.class, "schema.sql");

DatabaseMigration migration;
MigrationStep migration;

@Test
public void execute() throws Exception {

+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/FeedIssueLongDatesTest.java Visa fil

@@ -24,7 +24,7 @@ import org.junit.ClassRule;
import org.junit.Test;
import org.sonar.api.utils.System2;
import org.sonar.core.persistence.DbTester;
import org.sonar.server.db.migrations.DatabaseMigration;
import org.sonar.server.db.migrations.MigrationStep;

import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
@@ -41,7 +41,7 @@ public class FeedIssueLongDatesTest {

System2 system = mock(System2.class);
when(system.now()).thenReturn(1500000000000L);
DatabaseMigration migration = new FeedIssueLongDates(db.database(), system);
MigrationStep migration = new FeedIssueLongDates(db.database(), system);
migration.execute();

int count = db.countSql("select count(*) from issues where created_at_ms is not null and updated_at_ms is not null");

+ 3
- 3
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/InsertProjectsAuthorizationUpdatedAtMigrationTest.java Visa fil

@@ -25,7 +25,7 @@ import org.junit.ClassRule;
import org.junit.Test;
import org.sonar.api.utils.System2;
import org.sonar.core.persistence.DbTester;
import org.sonar.server.db.migrations.DatabaseMigration;
import org.sonar.server.db.migrations.MigrationStep;

import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -35,13 +35,13 @@ public class InsertProjectsAuthorizationUpdatedAtMigrationTest {
@ClassRule
public static DbTester db = new DbTester().schema(InsertProjectsAuthorizationUpdatedAtMigrationTest.class, "schema.sql");

DatabaseMigration migration;
MigrationStep migration;
System2 system = mock(System2.class);

@Before
public void setUp() throws Exception {
db.executeUpdateSql("truncate table projects");
migration = new InsertProjectsAuthorizationUpdatedAtMigration(db.database(), system);
migration = new InsertProjectsAuthorizationUpdatedAtMigrationStep(db.database(), system);
when(system.now()).thenReturn(123456789L);
}


+ 3
- 3
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/PopulateProjectsUuidColumnsMigrationTest.java Visa fil

@@ -30,7 +30,7 @@ import org.sonar.core.persistence.DbTester;
import org.sonar.core.persistence.migration.v50.Component;
import org.sonar.core.persistence.migration.v50.Migration50Mapper;
import org.sonar.server.db.DbClient;
import org.sonar.server.db.migrations.DatabaseMigration;
import org.sonar.server.db.migrations.MigrationStep;

import static org.assertj.core.api.Assertions.assertThat;

@@ -45,7 +45,7 @@ public class PopulateProjectsUuidColumnsMigrationTest {

Migration50Mapper mapper;

DatabaseMigration migration;
MigrationStep migration;

@Before
public void setUp() throws Exception {
@@ -54,7 +54,7 @@ public class PopulateProjectsUuidColumnsMigrationTest {
dbClient = new DbClient(db.database(), db.myBatis());
session = dbClient.openSession(false);
mapper = session.getMapper(Migration50Mapper.class);
migration = new PopulateProjectsUuidColumnsMigration(dbClient);
migration = new PopulateProjectsUuidColumnsMigrationStep(dbClient);
}

@After

+ 3
- 3
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/RemoveSortFieldFromIssueFiltersMigrationTest.java Visa fil

@@ -25,7 +25,7 @@ import org.junit.Test;
import org.sonar.api.utils.DateUtils;
import org.sonar.api.utils.System2;
import org.sonar.core.persistence.DbTester;
import org.sonar.server.db.migrations.DatabaseMigration;
import org.sonar.server.db.migrations.MigrationStep;

import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -35,13 +35,13 @@ public class RemoveSortFieldFromIssueFiltersMigrationTest {
@ClassRule
public static DbTester db = new DbTester().schema(RemoveSortFieldFromIssueFiltersMigrationTest.class, "schema.sql");

DatabaseMigration migration;
MigrationStep migration;
System2 system = mock(System2.class);

@Before
public void setUp() throws Exception {
db.executeUpdateSql("truncate table issue_filters");
migration = new RemoveSortFieldFromIssueFiltersMigration(db.database(), system);
migration = new RemoveSortFieldFromIssueFiltersMigrationStep(db.database(), system);
when(system.now()).thenReturn(DateUtils.parseDate("2014-10-29").getTime());
}


+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/ReplaceIssueFiltersProjectKeyByUuidTest.java Visa fil

@@ -25,7 +25,7 @@ import org.junit.Test;
import org.sonar.api.utils.DateUtils;
import org.sonar.api.utils.System2;
import org.sonar.core.persistence.DbTester;
import org.sonar.server.db.migrations.DatabaseMigration;
import org.sonar.server.db.migrations.MigrationStep;

import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -35,7 +35,7 @@ public class ReplaceIssueFiltersProjectKeyByUuidTest {
@ClassRule
public static DbTester db = new DbTester().schema(ReplaceIssueFiltersProjectKeyByUuidTest.class, "schema.sql");

DatabaseMigration migration;
MigrationStep migration;
System2 system = mock(System2.class);

@Before

+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v51/AddIssuesColumnsTest.java Visa fil

@@ -23,7 +23,7 @@ import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Test;
import org.sonar.core.persistence.DbTester;
import org.sonar.server.db.migrations.DatabaseMigration;
import org.sonar.server.db.migrations.MigrationStep;

import java.sql.Types;

@@ -32,7 +32,7 @@ public class AddIssuesColumnsTest {
@ClassRule
public static DbTester db = new DbTester().schema(AddIssuesColumnsTest.class, "schema.sql");

DatabaseMigration migration;
MigrationStep migration;

@Before
public void setUp() throws Exception {

+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest.java Visa fil

@@ -26,7 +26,7 @@ import org.sonar.api.utils.DateUtils;
import org.sonar.api.utils.MessageException;
import org.sonar.api.utils.System2;
import org.sonar.core.persistence.DbTester;
import org.sonar.server.db.migrations.DatabaseMigration;
import org.sonar.server.db.migrations.MigrationStep;

import static junit.framework.TestCase.fail;
import static org.assertj.core.api.Assertions.assertThat;
@@ -38,7 +38,7 @@ public class AddNewCharacteristicsTest {
@ClassRule
public static DbTester db = new DbTester().schema(AddNewCharacteristicsTest.class, "schema.sql");

DatabaseMigration migration;
MigrationStep migration;

System2 system = mock(System2.class);


+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v51/CopyScmAccountsFromAuthorsToUsersTest.java Visa fil

@@ -26,7 +26,7 @@ import org.junit.Test;
import org.sonar.api.utils.System2;
import org.sonar.core.persistence.DbTester;
import org.sonar.core.user.UserDto;
import org.sonar.server.db.migrations.DatabaseMigration;
import org.sonar.server.db.migrations.MigrationStep;

import java.util.Map;

@@ -39,7 +39,7 @@ public class CopyScmAccountsFromAuthorsToUsersTest {
@ClassRule
public static DbTester db = new DbTester().schema(CopyScmAccountsFromAuthorsToUsersTest.class, "schema.sql");

DatabaseMigration migration;
MigrationStep migration;
System2 system = mock(System2.class);

@Before

+ 0
- 0
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v51/FeedAnalysisReportsLongDatesTest.java Visa fil


Vissa filer visades inte eftersom för många filer har ändrats

Laddar…
Avbryt
Spara