Browse Source

Move some classes from sonar-server to sonar-db

tags/5.2-RC1
Simon Brandhof 9 years ago
parent
commit
32af292b74
100 changed files with 193 additions and 679 deletions
  1. 1
    1
      server/sonar-server-benchmarks/src/test/java/org/sonar/server/benchmark/PersistFileSourcesStepTest.java
  2. 7
    9
      server/sonar-server-benchmarks/src/test/java/org/sonar/server/benchmark/SourceDbBenchmarkTest.java
  3. 2
    2
      server/sonar-server/src/main/java/org/sonar/core/computation/dbcleaner/ProjectCleaner.java
  4. 0
    23
      server/sonar-server/src/main/java/org/sonar/server/activity/db/package-info.java
  5. 1
    1
      server/sonar-server/src/main/java/org/sonar/server/activity/index/ActivityResultSetIterator.java
  6. 5
    5
      server/sonar-server/src/main/java/org/sonar/server/component/ComponentCleanerService.java
  7. 11
    10
      server/sonar-server/src/main/java/org/sonar/server/component/db/ComponentDao.java
  8. 0
    37
      server/sonar-server/src/main/java/org/sonar/server/component/db/ComponentIndexDao.java
  9. 1
    1
      server/sonar-server/src/main/java/org/sonar/server/computation/ReportQueue.java
  10. 0
    24
      server/sonar-server/src/main/java/org/sonar/server/computation/db/package-info.java
  11. 2
    2
      server/sonar-server/src/main/java/org/sonar/server/computation/step/SwitchSnapshotStep.java
  12. 0
    49
      server/sonar-server/src/main/java/org/sonar/server/dashboard/db/DashboardDao.java
  13. 0
    24
      server/sonar-server/src/main/java/org/sonar/server/dashboard/db/package-info.java
  14. 2
    41
      server/sonar-server/src/main/java/org/sonar/server/db/BaseDao.java
  15. 28
    28
      server/sonar-server/src/main/java/org/sonar/server/db/DbClient.java
  16. 1
    1
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/MassUpdate.java
  17. 1
    1
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/ChangeLogMigrationStep.java
  18. 1
    1
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/FeedQProfileKeysMigrationStep.java
  19. 1
    1
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v451/AddMissingCustomRuleParametersMigrationStep.java
  20. 1
    1
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v50/PopulateProjectsUuidColumnsMigrationStep.java
  21. 1
    1
      server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/CopyScmAccountsFromAuthorsToUsers.java
  22. 1
    1
      server/sonar-server/src/main/java/org/sonar/server/duplication/ws/ShowAction.java
  23. 1
    1
      server/sonar-server/src/main/java/org/sonar/server/es/BulkIndexer.java
  24. 0
    24
      server/sonar-server/src/main/java/org/sonar/server/event/db/package-info.java
  25. 7
    12
      server/sonar-server/src/main/java/org/sonar/server/issue/actionplan/ActionPlanService.java
  26. 0
    78
      server/sonar-server/src/main/java/org/sonar/server/issue/db/IssueDao.java
  27. 0
    24
      server/sonar-server/src/main/java/org/sonar/server/issue/db/package-info.java
  28. 1
    1
      server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueResultSetIterator.java
  29. 2
    1
      server/sonar-server/src/main/java/org/sonar/server/measure/custom/persistence/CustomMeasureDao.java
  30. 0
    24
      server/sonar-server/src/main/java/org/sonar/server/measure/persistence/package-info.java
  31. 6
    7
      server/sonar-server/src/main/java/org/sonar/server/metric/persistence/MetricDao.java
  32. 5
    36
      server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel1.java
  33. 1
    1
      server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileFactory.java
  34. 6
    8
      server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivator.java
  35. 0
    24
      server/sonar-server/src/main/java/org/sonar/server/source/db/package-info.java
  36. 1
    1
      server/sonar-server/src/main/java/org/sonar/server/source/index/SourceLineResultSetIterator.java
  37. 1
    1
      server/sonar-server/src/main/java/org/sonar/server/test/CoverageService.java
  38. 1
    1
      server/sonar-server/src/main/java/org/sonar/server/test/index/TestResultSetIterator.java
  39. 0
    3
      server/sonar-server/src/main/java/org/sonar/server/user/db/GroupDao.java
  40. 1
    1
      server/sonar-server/src/main/java/org/sonar/server/user/index/UserResultSetIterator.java
  41. 0
    25
      server/sonar-server/src/main/java/org/sonar/server/usergroups/package-info.java
  42. 13
    8
      server/sonar-server/src/test/java/org/sonar/core/computation/dbcleaner/ProjectCleanerTest.java
  43. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/activity/ActivityServiceTest.java
  44. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/batch/IssuesActionTest.java
  45. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/batch/ProjectRepositoryLoaderMediumTest.java
  46. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/component/ComponentServiceTest.java
  47. 3
    3
      server/sonar-server/src/test/java/org/sonar/server/component/db/ComponentDaoTest.java
  48. 0
    66
      server/sonar-server/src/test/java/org/sonar/server/component/db/ComponentIndexDaoTest.java
  49. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/component/ws/AppActionTest.java
  50. 3
    2
      server/sonar-server/src/test/java/org/sonar/server/component/ws/SearchActionTest.java
  51. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/computation/ReportQueueTest.java
  52. 1
    2
      server/sonar-server/src/test/java/org/sonar/server/computation/issue/DebtAggregatorTest.java
  53. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/computation/issue/DebtCalculatorTest.java
  54. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/computation/issue/IssueCounterTest.java
  55. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/computation/issue/RuleRepositoryImplTest.java
  56. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/computation/issue/RuleTagsCopierTest.java
  57. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/computation/measure/MeasureRepositoryImplTest.java
  58. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/computation/step/FeedPeriodsStepTest.java
  59. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/computation/step/FillMeasuresWithVariationsStepTest.java
  60. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/computation/step/IndexSourceLinesStepTest.java
  61. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/computation/step/IndexTestsStepTest.java
  62. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistComponentsStepTest.java
  63. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistDuplicationsStepTest.java
  64. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistEventsStepTest.java
  65. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistFileSourcesStepTest.java
  66. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistIssuesStepTest.java
  67. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistMeasuresStepTest.java
  68. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistNumberOfDaysSinceLastCommitStepTest.java
  69. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistProjectLinksStepTest.java
  70. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistSnapshotsStepTest.java
  71. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistTestsStepTest.java
  72. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/computation/step/SwitchSnapshotStepTest.java
  73. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/computation/step/ValidateProjectStepTest.java
  74. 1
    2
      server/sonar-server/src/test/java/org/sonar/server/db/BaseDaoTest.java
  75. 2
    1
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/BaseDataChangeTest.java
  76. 2
    1
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v36/ViolationMigrationTest.java
  77. 2
    1
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v42/CompleteIssueMessageMigrationTest.java
  78. 2
    1
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v42/PackageKeysMigrationTest.java
  79. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v43/ConvertIssueDebtToMinutesMigrationStepTest.java
  80. 2
    1
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v43/DevelopmentCostMeasuresMigrationStepTest.java
  81. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v43/IssueChangelogMigrationStepTest.java
  82. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v43/NotResolvedIssuesOnRemovedComponentsMigrationStepTest.java
  83. 2
    1
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v43/RequirementMeasuresMigrationStepTest.java
  84. 2
    1
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v43/TechnicalDebtMeasuresMigrationStepTest.java
  85. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/ChangeLogMigrationTest.java
  86. 2
    1
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/ConvertProfileMeasuresMigrationTest.java
  87. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/FeedQProfileDatesMigrationTest.java
  88. 2
    1
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/FeedQProfileKeysMigrationTest.java
  89. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/IssueActionPlanKeyMigrationTest.java
  90. 2
    1
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/MeasureDataMigrationTest.java
  91. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v45/AddMissingRuleParameterDefaultValuesMigrationTest.java
  92. 2
    1
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v45/DeleteMeasuresOnDeletedProfilesMigrationTest.java
  93. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v451/AddMissingCustomRuleParametersMigrationTest.java
  94. 2
    1
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v451/DeleteUnescapedActivitiesTest.java
  95. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/FeedFileSourcesTest.java
  96. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/FeedIssueLongDatesTest.java
  97. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/InsertProjectsAuthorizationUpdatedAtMigrationTest.java
  98. 2
    1
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/PopulateProjectsUuidColumnsMigrationTest.java
  99. 1
    1
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/RemoveSortFieldFromIssueFiltersMigrationTest.java
  100. 0
    0
      server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/ReplaceIssueFiltersProjectKeyByUuidTest.java

+ 1
- 1
server/sonar-server-benchmarks/src/test/java/org/sonar/server/benchmark/PersistFileSourcesStepTest.java View File

@@ -43,7 +43,7 @@ import org.sonar.server.computation.component.Component;
import org.sonar.server.computation.component.DumbComponent;
import org.sonar.server.computation.step.PersistFileSourcesStep;
import org.sonar.server.db.DbClient;
import org.sonar.server.source.db.FileSourceDao;
import org.sonar.db.source.FileSourceDao;

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


+ 7
- 9
server/sonar-server-benchmarks/src/test/java/org/sonar/server/benchmark/SourceDbBenchmarkTest.java View File

@@ -19,6 +19,11 @@
*/
package org.sonar.server.benchmark;

import java.io.IOException;
import java.sql.Connection;
import java.util.Arrays;
import java.util.Timer;
import java.util.concurrent.atomic.AtomicLong;
import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.io.IOUtils;
import org.junit.Rule;
@@ -27,20 +32,13 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.sonar.api.utils.internal.Uuids;
import org.sonar.db.DbTester;
import org.sonar.db.source.FileSourceDao;
import org.sonar.db.source.FileSourceDto;
import org.sonar.server.db.DbClient;
import org.sonar.server.source.db.FileSourceDao;
import org.sonar.server.source.db.FileSourceDb;
import org.sonar.server.source.index.FileSourcesUpdaterHelper;
import org.sonar.server.source.index.SourceLineResultSetIterator;

import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Arrays;
import java.util.Timer;
import java.util.concurrent.atomic.AtomicLong;

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

public class SourceDbBenchmarkTest {
@@ -63,7 +61,7 @@ public class SourceDbBenchmarkTest {
scrollRows();
}

private void scrollRows() throws SQLException {
private void scrollRows() throws Exception {
LOGGER.info("Scroll table FILE_SOURCES");
DbClient dbClient = new DbClient(dbTester.database(), dbTester.myBatis());
Connection connection = dbTester.openConnection();

+ 2
- 2
server/sonar-server/src/main/java/org/sonar/core/computation/dbcleaner/ProjectCleaner.java View File

@@ -28,13 +28,13 @@ import org.sonar.api.server.ServerSide;
import org.sonar.api.utils.TimeUtils;
import org.sonar.api.utils.log.Logger;
import org.sonar.api.utils.log.Loggers;
import org.sonar.db.purge.period.DefaultPeriodCleaner;
import org.sonar.db.DbSession;
import org.sonar.db.purge.IdUuidPair;
import org.sonar.db.purge.PurgeConfiguration;
import org.sonar.db.purge.PurgeDao;
import org.sonar.db.purge.PurgeListener;
import org.sonar.db.purge.PurgeProfiler;
import org.sonar.db.purge.period.DefaultPeriodCleaner;
import org.sonar.server.issue.index.IssueIndex;

import static org.sonar.db.purge.PurgeConfiguration.newDefaultPurgeConfiguration;
@@ -100,7 +100,7 @@ public class ProjectCleaner {

private void doPurge(DbSession session, PurgeConfiguration configuration) {
try {
purgeDao.purge(session, configuration, purgeListener);
purgeDao.purge(session, configuration, purgeListener, profiler);
} catch (Exception e) {
// purge errors must no fail the report analysis
LOG.error("Fail to purge data [id=" + configuration.rootProjectIdUuid().getId() + "]", e);

+ 0
- 23
server/sonar-server/src/main/java/org/sonar/server/activity/db/package-info.java View File

@@ -1,23 +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.
*/
@ParametersAreNonnullByDefault
package org.sonar.server.activity.db;

import javax.annotation.ParametersAreNonnullByDefault;

+ 1
- 1
server/sonar-server/src/main/java/org/sonar/server/activity/index/ActivityResultSetIterator.java View File

@@ -24,7 +24,7 @@ import org.elasticsearch.action.update.UpdateRequest;
import org.sonar.api.utils.KeyValueFormat;
import org.sonar.api.utils.text.JsonWriter;
import org.sonar.server.db.DbClient;
import org.sonar.server.db.ResultSetIterator;
import org.sonar.db.ResultSetIterator;
import org.sonar.server.es.EsUtils;
import org.sonar.server.util.DateCollector;


+ 5
- 5
server/sonar-server/src/main/java/org/sonar/server/component/ComponentCleanerService.java View File

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

package org.sonar.server.component;

import org.sonar.api.server.ServerSide;
import java.util.List;
import org.sonar.api.resources.ResourceType;
import org.sonar.api.resources.ResourceTypes;
import org.sonar.api.resources.Scopes;
import org.sonar.db.component.ComponentDto;
import org.sonar.api.server.ServerSide;
import org.sonar.db.DbSession;
import org.sonar.db.MyBatis;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.purge.IdUuidPair;
import org.sonar.db.purge.PurgeProfiler;
import org.sonar.server.db.DbClient;
import org.sonar.server.issue.index.IssueAuthorizationIndexer;
import org.sonar.server.issue.index.IssueIndexer;
import org.sonar.server.source.index.SourceLineIndexer;
import org.sonar.server.test.index.TestIndexer;

import java.util.List;

@ServerSide
public class ComponentCleanerService {

@@ -76,7 +76,7 @@ public class ComponentCleanerService {
if (hasNotProjectScope(project) || isNotDeletable(project)) {
throw new IllegalArgumentException("Only projects can be deleted");
}
dbClient.purgeDao().deleteResourceTree(dbSession, new IdUuidPair(project.getId(), project.uuid()));
dbClient.purgeDao().deleteResourceTree(dbSession, new IdUuidPair(project.getId(), project.uuid()), new PurgeProfiler());
dbSession.commit();

deleteFromIndices(project.uuid());

+ 11
- 10
server/sonar-server/src/main/java/org/sonar/server/component/db/ComponentDao.java View File

@@ -32,13 +32,14 @@ import org.apache.ibatis.session.RowBounds;
import org.sonar.api.resources.Qualifiers;
import org.sonar.api.resources.Scopes;
import org.sonar.api.server.ServerSide;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.component.FilePathWithHashDto;
import org.sonar.db.component.UuidWithProjectUuidDto;
import org.sonar.db.component.ComponentMapper;
import org.sonar.db.Dao;
import org.sonar.db.DaoUtils;
import org.sonar.db.DatabaseUtils;
import org.sonar.db.DbSession;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.component.ComponentMapper;
import org.sonar.db.component.FilePathWithHashDto;
import org.sonar.db.component.UuidWithProjectUuidDto;
import org.sonar.server.es.SearchOptions;
import org.sonar.server.exceptions.NotFoundException;

@@ -50,16 +51,16 @@ import static com.google.common.collect.Maps.newHashMapWithExpectedSize;
@ServerSide
public class ComponentDao implements Dao {

public ComponentDto selectById(Long id, DbSession session) {
public ComponentDto selectById(long id, DbSession session) {
ComponentDto componentDto = selectNullableById(id, session);
if (componentDto == null) {
throw new NotFoundException(String.format("Project with id '%s' not found", id));
throw new IllegalArgumentException(String.format("Component id does not exist: %d", id));
}
return componentDto;
}

@CheckForNull
public ComponentDto selectNullableById(Long id, DbSession session) {
public ComponentDto selectNullableById(long id, DbSession session) {
return mapper(session).selectById(id);
}

@@ -104,7 +105,7 @@ public class ComponentDao implements Dao {
}

public List<ComponentDto> selectByIds(final DbSession session, Collection<Long> ids) {
return DaoUtils.executeLargeInputs(ids, new Function<List<Long>, List<ComponentDto>>() {
return DatabaseUtils.executeLargeInputs(ids, new Function<List<Long>, List<ComponentDto>>() {
@Override
public List<ComponentDto> apply(List<Long> partition) {
return mapper(session).selectByIds(partition);
@@ -113,7 +114,7 @@ public class ComponentDao implements Dao {
}

public List<ComponentDto> selectByUuids(final DbSession session, Collection<String> uuids) {
return DaoUtils.executeLargeInputs(uuids, new Function<List<String>, List<ComponentDto>>() {
return DatabaseUtils.executeLargeInputs(uuids, new Function<List<String>, List<ComponentDto>>() {
@Override
public List<ComponentDto> apply(List<String> partition) {
return mapper(session).selectByUuids(partition);
@@ -122,7 +123,7 @@ public class ComponentDao implements Dao {
}

public List<String> selectExistingUuids(final DbSession session, Collection<String> uuids) {
return DaoUtils.executeLargeInputs(uuids, new Function<List<String>, List<String>>() {
return DatabaseUtils.executeLargeInputs(uuids, new Function<List<String>, List<String>>() {
@Override
public List<String> apply(List<String> partition) {
return mapper(session).selectExistingUuids(partition);

+ 0
- 37
server/sonar-server/src/main/java/org/sonar/server/component/db/ComponentIndexDao.java View File

@@ -1,37 +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.component.db;

import org.sonar.api.server.ServerSide;
import org.sonar.db.component.ComponentIndexMapper;
import org.sonar.db.Dao;
import org.sonar.db.DbSession;

import java.util.List;

@ServerSide
public class ComponentIndexDao implements Dao {

public List<Long> selectProjectIdsFromQueryAndViewOrSubViewUuid(DbSession session, String query, String viewOrSubViewUuid) {
return session.getMapper(ComponentIndexMapper.class).selectProjectIdsFromQueryAndViewOrSubViewUuid(query + "%", "%." + viewOrSubViewUuid + ".%");
}

}

+ 1
- 1
server/sonar-server/src/main/java/org/sonar/server/computation/ReportQueue.java View File

@@ -34,7 +34,7 @@ import org.sonar.db.compute.AnalysisReportDto;
import org.sonar.db.DbSession;
import org.sonar.db.MyBatis;
import org.sonar.process.ProcessProperties;
import org.sonar.server.computation.db.AnalysisReportDao;
import org.sonar.db.compute.AnalysisReportDao;
import org.sonar.server.db.DbClient;

import static org.sonar.db.compute.AnalysisReportDto.Status.PENDING;

+ 0
- 24
server/sonar-server/src/main/java/org/sonar/server/computation/db/package-info.java View File

@@ -1,24 +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.
*/

@ParametersAreNonnullByDefault
package org.sonar.server.computation.db;

import javax.annotation.ParametersAreNonnullByDefault;

+ 2
- 2
server/sonar-server/src/main/java/org/sonar/server/computation/step/SwitchSnapshotStep.java View File

@@ -24,13 +24,13 @@ import java.util.List;
import org.sonar.db.component.SnapshotDto;
import org.sonar.db.DbSession;
import org.sonar.db.MyBatis;
import org.sonar.server.component.db.SnapshotDao;
import org.sonar.db.component.SnapshotDao;
import org.sonar.server.computation.component.Component;
import org.sonar.server.computation.component.DbIdsRepository;
import org.sonar.server.computation.component.TreeRootHolder;
import org.sonar.server.db.DbClient;

import static org.sonar.server.component.db.SnapshotDao.isLast;
import static org.sonar.db.component.SnapshotDao.isLast;

public class SwitchSnapshotStep implements ComputationStep {


+ 0
- 49
server/sonar-server/src/main/java/org/sonar/server/dashboard/db/DashboardDao.java View File

@@ -1,49 +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.dashboard.db;

import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
import org.sonar.db.dashboard.DashboardDto;
import org.sonar.db.dashboard.DashboardMapper;
import org.sonar.db.Dao;
import org.sonar.db.DbSession;

public class DashboardDao implements Dao {

@CheckForNull
public DashboardDto getNullableByKey(DbSession session, Long key) {
return mapper(session).selectById(key);
}

/**
* Get dashboard if allowed : shared or owned by logged-in user
* @param userId id of logged-in user, null if anonymous
*/
@CheckForNull
public DashboardDto getAllowedByKey(DbSession session, Long key, @Nullable Long userId) {
return mapper(session).selectAllowedById(key, userId != null ? userId : -1L);
}

private DashboardMapper mapper(DbSession session) {
return session.getMapper(DashboardMapper.class);
}

}

+ 0
- 24
server/sonar-server/src/main/java/org/sonar/server/dashboard/db/package-info.java View File

@@ -1,24 +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.
*/
@ParametersAreNonnullByDefault
package org.sonar.server.dashboard.db;

import javax.annotation.ParametersAreNonnullByDefault;


+ 2
- 41
server/sonar-server/src/main/java/org/sonar/server/db/BaseDao.java View File

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

import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
@@ -49,7 +46,6 @@ import org.sonar.server.search.action.RefreshIndex;
import org.sonar.server.search.action.UpsertDto;
import org.sonar.server.search.action.UpsertNestedItem;

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

/**
@@ -120,7 +116,7 @@ import static com.google.common.collect.Maps.newHashMap;
* @param <DTO> Produced DTO class from this dao
* @param <KEY> DTO Key class
*/
public abstract class BaseDao<MAPPER, DTO extends Dto<KEY>, KEY extends Serializable> implements DeprecatedDao<DTO,KEY>, Dao {
public abstract class BaseDao<MAPPER, DTO extends Dto<KEY>, KEY extends Serializable> implements DeprecatedDao<DTO, KEY>, Dao {

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

@@ -138,10 +134,6 @@ public abstract class BaseDao<MAPPER, DTO extends Dto<KEY>, KEY extends Serializ
this.system2 = system2;
}

protected BaseDao(Class<MAPPER> mapperClass, System2 system2) {
this(null, mapperClass, system2);
}

public String getIndexType() {
return indexDefinition != null ? this.indexDefinition.getIndexType() : null;
}
@@ -165,27 +157,6 @@ public abstract class BaseDao<MAPPER, DTO extends Dto<KEY>, KEY extends Serializ
return value;
}

public List<DTO> getByKeys(DbSession session, KEY... keys) {
return getByKeys(session, ImmutableList.<KEY>copyOf(keys));
}

public List<DTO> getByKeys(DbSession session, Collection<KEY> keys) {
if (keys.isEmpty()) {
return Collections.emptyList();
}
List<DTO> components = newArrayList();
List<List<KEY>> partitionList = Lists.partition(newArrayList(keys), 1000);
for (List<KEY> partition : partitionList) {
List<DTO> dtos = doGetByKeys(session, partition);
components.addAll(dtos);
}
return components;
}

protected List<DTO> doGetByKeys(DbSession session, Collection<KEY> keys) {
throw notImplemented(this);
}

@Override
public DTO update(DbSession session, DTO item) {
Date now = new Date(system2.now());
@@ -195,7 +166,7 @@ public abstract class BaseDao<MAPPER, DTO extends Dto<KEY>, KEY extends Serializ

@Override
public DTO update(DbSession session, DTO item, DTO... others) {
update(session, Lists.<DTO>asList(item, others));
update(session, Lists.asList(item, others));
return item;
}

@@ -307,16 +278,6 @@ public abstract class BaseDao<MAPPER, DTO extends Dto<KEY>, KEY extends Serializ
}
}

@VisibleForTesting
public List<DTO> findAfterDate(final DbSession session, Date date, Map<String, String> params) {
return session.selectList(getSynchronizeStatementFQN(), getSynchronizationParams(date, params));
}

@VisibleForTesting
public List<DTO> findAfterDate(final DbSession session, Date date) {
return findAfterDate(session, date, Collections.<String, String>emptyMap());
}

// Synchronization methods

protected DbSynchronizationHandler getSynchronizationResultHandler(final DbSession session, Map<String, String> params) {

+ 28
- 28
server/sonar-server/src/main/java/org/sonar/server/db/DbClient.java View File

@@ -25,51 +25,47 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.IdentityHashMap;
import java.util.Map;
import org.sonar.api.server.ServerSide;
import org.sonar.db.issue.ActionPlanDao;
import org.sonar.db.issue.IssueChangeDao;
import org.sonar.db.issue.IssueFilterDao;
import org.sonar.db.permission.PermissionTemplateDao;
import javax.annotation.Nullable;
import org.sonar.db.Dao;
import org.sonar.db.Database;
import org.sonar.db.DbSession;
import org.sonar.db.MyBatis;
import org.sonar.db.activity.ActivityDao;
import org.sonar.db.component.ComponentLinkDao;
import org.sonar.db.component.ResourceDao;
import org.sonar.db.component.ResourceIndexerDao;
import org.sonar.db.component.SnapshotDao;
import org.sonar.db.compute.AnalysisReportDao;
import org.sonar.db.dashboard.DashboardDao;
import org.sonar.db.dashboard.WidgetDao;
import org.sonar.db.dashboard.WidgetPropertyDao;
import org.sonar.db.debt.CharacteristicDao;
import org.sonar.db.event.EventDao;
import org.sonar.db.issue.ActionPlanDao;
import org.sonar.db.issue.IssueChangeDao;
import org.sonar.db.issue.IssueDao;
import org.sonar.db.issue.IssueFilterDao;
import org.sonar.db.loadedtemplate.LoadedTemplateDao;
import org.sonar.db.measure.MeasureDao;
import org.sonar.db.permission.PermissionTemplateDao;
import org.sonar.db.property.PropertiesDao;
import org.sonar.db.purge.PurgeDao;
import org.sonar.db.qualitygate.QualityGateConditionDao;
import org.sonar.db.qualityprofile.QualityProfileDao;
import org.sonar.db.component.ResourceDao;
import org.sonar.db.debt.CharacteristicDao;
import org.sonar.db.loadedtemplate.LoadedTemplateDao;
import org.sonar.db.source.FileSourceDao;
import org.sonar.db.user.AuthorDao;
import org.sonar.db.user.AuthorizationDao;
import org.sonar.db.user.GroupMembershipDao;
import org.sonar.db.user.RoleDao;
import org.sonar.server.activity.db.ActivityDao;
import org.sonar.db.user.UserGroupDao;
import org.sonar.server.component.db.ComponentDao;
import org.sonar.server.component.db.ComponentIndexDao;
import org.sonar.server.component.db.ComponentLinkDao;
import org.sonar.server.component.db.SnapshotDao;
import org.sonar.server.computation.db.AnalysisReportDao;
import org.sonar.server.measure.custom.persistence.CustomMeasureDao;
import org.sonar.server.dashboard.db.DashboardDao;
import org.sonar.server.dashboard.db.WidgetDao;
import org.sonar.server.dashboard.db.WidgetPropertyDao;
import org.sonar.server.event.db.EventDao;
import org.sonar.server.issue.db.IssueDao;
import org.sonar.server.measure.persistence.MeasureDao;
import org.sonar.server.metric.persistence.MetricDao;
import org.sonar.server.qualityprofile.db.ActiveRuleDao;
import org.sonar.server.rule.db.RuleDao;
import org.sonar.server.source.db.FileSourceDao;
import org.sonar.server.user.db.GroupDao;
import org.sonar.server.user.db.UserDao;
import org.sonar.server.user.db.UserGroupDao;

/**
* Facade for all db components, mainly DAOs
*/
@ServerSide
public class DbClient {

private final Database db;
@@ -103,7 +99,7 @@ public class DbClient {
private final WidgetPropertyDao widgetPropertyDao;
private final FileSourceDao fileSourceDao;
private final AuthorDao authorDao;
private final ComponentIndexDao componentIndexDao;
private final ResourceIndexerDao componentIndexDao;
private final ComponentLinkDao componentLinkDao;
private final EventDao eventDao;
private final PurgeDao purgeDao;
@@ -148,7 +144,7 @@ public class DbClient {
widgetPropertyDao = getDao(map, WidgetPropertyDao.class);
fileSourceDao = getDao(map, FileSourceDao.class);
authorDao = getDao(map, AuthorDao.class);
componentIndexDao = getDao(map, ComponentIndexDao.class);
componentIndexDao = getDao(map, ResourceIndexerDao.class);
componentLinkDao = getDao(map, ComponentLinkDao.class);
eventDao = getDao(map, EventDao.class);
purgeDao = getDao(map, PurgeDao.class);
@@ -163,6 +159,10 @@ public class DbClient {
return myBatis.openSession(batch);
}

public void closeSession(@Nullable DbSession session) {
MyBatis.closeQuietly(session);
}

public RuleDao ruleDao() {
return ruleDao;
}
@@ -283,7 +283,7 @@ public class DbClient {
return authorDao;
}

public ComponentIndexDao componentIndexDao() {
public ResourceIndexerDao componentIndexDao() {
return componentIndexDao;
}


+ 1
- 1
server/sonar-server/src/main/java/org/sonar/server/db/migrations/MassUpdate.java View File

@@ -23,7 +23,7 @@ import java.sql.Connection;
import java.sql.SQLException;
import java.util.concurrent.atomic.AtomicLong;
import org.sonar.db.Database;
import org.sonar.server.util.ProgressLogger;
import org.sonar.core.util.ProgressLogger;

public class MassUpdate {


+ 1
- 1
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/ChangeLogMigrationStep.java View File

@@ -34,7 +34,7 @@ import org.sonar.db.version.v44.Migration44Mapper;
import org.sonar.db.qualityprofile.ActiveRuleKey;
import org.sonar.core.rule.SeverityUtil;
import org.sonar.server.activity.Activity;
import org.sonar.server.activity.db.ActivityDao;
import org.sonar.db.activity.ActivityDao;
import org.sonar.server.db.DbClient;
import org.sonar.server.db.migrations.MigrationStep;
import org.sonar.server.qualityprofile.ActiveRuleChange;

+ 1
- 1
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v44/FeedQProfileKeysMigrationStep.java View File

@@ -28,7 +28,7 @@ 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.util.Slug;
import org.sonar.core.util.Slug;

/**
* Feed the new columns RULES_PROFILES.KEE and PARENT_KEE.

+ 1
- 1
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v451/AddMissingCustomRuleParametersMigrationStep.java View File

@@ -36,7 +36,7 @@ import org.sonar.db.version.v45.Rule;
import org.sonar.db.version.v45.RuleParameter;
import org.sonar.server.db.DbClient;
import org.sonar.server.db.migrations.MigrationStep;
import org.sonar.server.util.ProgressLogger;
import org.sonar.core.util.ProgressLogger;

/**
* See http://jira.sonarsource.com/browse/SONAR-5575

+ 1
- 1
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v50/PopulateProjectsUuidColumnsMigrationStep.java View File

@@ -33,7 +33,7 @@ import org.sonar.db.version.v50.Component;
import org.sonar.db.version.v50.Migration50Mapper;
import org.sonar.server.db.DbClient;
import org.sonar.server.db.migrations.MigrationStep;
import org.sonar.server.util.ProgressLogger;
import org.sonar.core.util.ProgressLogger;

import java.util.List;
import java.util.Map;

+ 1
- 1
server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/CopyScmAccountsFromAuthorsToUsers.java View File

@@ -34,7 +34,7 @@ import org.sonar.server.db.migrations.BaseDataChange;
import org.sonar.server.db.migrations.Select;
import org.sonar.server.db.migrations.Upsert;
import org.sonar.server.db.migrations.UpsertImpl;
import org.sonar.server.util.ProgressLogger;
import org.sonar.core.util.ProgressLogger;

import static com.google.common.collect.Lists.newArrayList;


+ 1
- 1
server/sonar-server/src/main/java/org/sonar/server/duplication/ws/ShowAction.java View File

@@ -36,7 +36,7 @@ import org.sonar.db.MyBatis;
import org.sonar.server.component.db.ComponentDao;
import org.sonar.server.db.DbClient;
import org.sonar.server.exceptions.NotFoundException;
import org.sonar.server.measure.persistence.MeasureDao;
import org.sonar.db.measure.MeasureDao;
import org.sonar.server.user.UserSession;

import javax.annotation.CheckForNull;

+ 1
- 1
server/sonar-server/src/main/java/org/sonar/server/es/BulkIndexer.java View File

@@ -39,7 +39,7 @@ import org.elasticsearch.search.SearchHit;
import org.picocontainer.Startable;
import org.sonar.api.utils.log.Logger;
import org.sonar.api.utils.log.Loggers;
import org.sonar.server.util.ProgressLogger;
import org.sonar.core.util.ProgressLogger;

import java.util.Map;
import java.util.concurrent.Semaphore;

+ 0
- 24
server/sonar-server/src/main/java/org/sonar/server/event/db/package-info.java View File

@@ -1,24 +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.
*/

@ParametersAreNonnullByDefault
package org.sonar.server.event.db;

import javax.annotation.ParametersAreNonnullByDefault;

+ 7
- 12
server/sonar-server/src/main/java/org/sonar/server/issue/actionplan/ActionPlanService.java View File

@@ -29,33 +29,28 @@ import java.util.List;
import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
import org.sonar.api.issue.ActionPlan;
import org.sonar.core.issue.DefaultIssue;
import org.sonar.core.issue.IssueChangeContext;
import org.sonar.api.server.ServerSide;
import org.sonar.api.web.UserRole;
import org.sonar.core.issue.ActionPlanStats;
import org.sonar.core.issue.DefaultActionPlan;
import org.sonar.core.issue.DefaultIssue;
import org.sonar.core.issue.IssueChangeContext;
import org.sonar.core.issue.IssueUpdater;
import org.sonar.db.DbSession;
import org.sonar.db.component.ResourceDao;
import org.sonar.db.component.ResourceDto;
import org.sonar.db.component.ResourceQuery;
import org.sonar.db.issue.ActionPlanDao;
import org.sonar.db.issue.ActionPlanDto;
import org.sonar.db.issue.ActionPlanStatsDao;
import org.sonar.db.issue.ActionPlanStatsDto;
import org.sonar.db.issue.IssueDto;
import org.sonar.server.issue.IssueStorage;
import org.sonar.db.DbSession;
import org.sonar.db.component.ResourceDao;
import org.sonar.db.component.ResourceDto;
import org.sonar.db.component.ResourceQuery;
import org.sonar.server.db.DbClient;
import org.sonar.server.exceptions.NotFoundException;
import org.sonar.server.issue.IssueStorage;
import org.sonar.server.user.UserSession;

import static com.google.common.collect.Lists.newArrayList;

/**
* @since 3.6
*/
@ServerSide
public class ActionPlanService {

private final DbClient dbClient;

+ 0
- 78
server/sonar-server/src/main/java/org/sonar/server/issue/db/IssueDao.java View File

@@ -1,78 +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.issue.db;

import java.util.List;
import java.util.Set;
import javax.annotation.CheckForNull;
import org.sonar.db.issue.IssueDto;
import org.sonar.db.issue.IssueMapper;
import org.sonar.db.Dao;
import org.sonar.db.DbSession;
import org.sonar.db.MyBatis;
import org.sonar.server.exceptions.NotFoundException;

public class IssueDao extends org.sonar.db.issue.IssueDao implements Dao {

public IssueDao(MyBatis mybatis) {
super(mybatis);
}

@CheckForNull
public IssueDto selectNullableByKey(DbSession session, String key) {
return mapper(session).selectByKey(key);
}

public IssueDto selectByKey(DbSession session, String key) {
IssueDto issue = selectNullableByKey(session, key);
if (issue == null) {
throw new NotFoundException(String.format("Key '%s' not found", key));
}
return issue;
}

public List<IssueDto> findByActionPlan(DbSession session, String actionPlan) {
return mapper(session).selectByActionPlan(actionPlan);
}

public List<IssueDto> selectByKeys(DbSession session, List<String> keys) {
return mapper(session).selectByKeys(keys);
}

public Set<String> selectComponentUuidsOfOpenIssuesForProjectUuid(DbSession session, String projectUuid) {
return mapper(session).selectComponentUuidsOfOpenIssuesForProjectUuid(projectUuid);
}

public void insert(DbSession session, IssueDto dto) {
mapper(session).insert(dto);
}

public void insert(DbSession session, IssueDto dto, IssueDto... others) {
IssueMapper mapper = mapper(session);
mapper.insert(dto);
for (IssueDto other : others) {
mapper.insert(other);
}
}

public void update(DbSession session, IssueDto dto) {
mapper(session).update(dto);
}
}

+ 0
- 24
server/sonar-server/src/main/java/org/sonar/server/issue/db/package-info.java View File

@@ -1,24 +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.
*/

@ParametersAreNonnullByDefault
package org.sonar.server.issue.db;

import javax.annotation.ParametersAreNonnullByDefault;

+ 1
- 1
server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueResultSetIterator.java View File

@@ -28,7 +28,7 @@ import org.apache.commons.lang.StringUtils;
import org.sonar.api.resources.Scopes;
import org.sonar.api.rule.RuleKey;
import org.sonar.server.db.DbClient;
import org.sonar.server.db.ResultSetIterator;
import org.sonar.db.ResultSetIterator;
import org.sonar.server.db.migrations.SqlUtil;

import javax.annotation.CheckForNull;

+ 2
- 1
server/sonar-server/src/main/java/org/sonar/server/measure/custom/persistence/CustomMeasureDao.java View File

@@ -26,6 +26,7 @@ import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
import org.apache.ibatis.session.RowBounds;
import org.sonar.api.server.ServerSide;
import org.sonar.db.DatabaseUtils;
import org.sonar.db.measure.CustomMeasureDto;
import org.sonar.db.measure.CustomMeasureMapper;
import org.sonar.db.Dao;
@@ -49,7 +50,7 @@ public class CustomMeasureDao implements Dao {
}

public void deleteByMetricIds(final DbSession session, final List<Integer> metricIds) {
DaoUtils.executeLargeInputsWithoutOutput(metricIds, new Function<List<Integer>, Void>() {
DatabaseUtils.executeLargeInputsWithoutOutput(metricIds, new Function<List<Integer>, Void>() {
@Override
public Void apply(@Nonnull List<Integer> input) {
mapper(session).deleteByMetricIds(metricIds);

+ 0
- 24
server/sonar-server/src/main/java/org/sonar/server/measure/persistence/package-info.java View File

@@ -1,24 +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.
*/

@ParametersAreNonnullByDefault
package org.sonar.server.measure.persistence;

import javax.annotation.ParametersAreNonnullByDefault;

+ 6
- 7
server/sonar-server/src/main/java/org/sonar/server/metric/persistence/MetricDao.java View File

@@ -34,18 +34,17 @@ import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.apache.ibatis.session.RowBounds;
import org.sonar.api.server.ServerSide;
import org.sonar.db.metric.MetricDto;
import org.sonar.db.metric.MetricMapper;
import org.sonar.db.Dao;
import org.sonar.db.DaoUtils;
import org.sonar.db.DatabaseUtils;
import org.sonar.db.DbSession;
import org.sonar.db.metric.MetricDto;
import org.sonar.db.metric.MetricMapper;
import org.sonar.server.es.SearchOptions;
import org.sonar.server.exceptions.NotFoundException;

import static com.google.common.collect.Lists.newArrayList;

@ServerSide
public class MetricDao implements Dao {

@CheckForNull
@@ -54,7 +53,7 @@ public class MetricDao implements Dao {
}

public List<MetricDto> selectNullableByKeys(final DbSession session, List<String> keys) {
return DaoUtils.executeLargeInputs(keys, new Function<List<String>, List<MetricDto>>() {
return DatabaseUtils.executeLargeInputs(keys, new Function<List<String>, List<MetricDto>>() {
@Override
public List<MetricDto> apply(@Nonnull List<String> input) {
return mapper(session).selectByKeys(input);
@@ -115,7 +114,7 @@ public class MetricDao implements Dao {

public List<MetricDto> selectByIds(final DbSession session, Set<Integer> idsSet) {
List<Integer> ids = new ArrayList<>(idsSet);
return DaoUtils.executeLargeInputs(ids, new Function<List<Integer>, List<MetricDto>>() {
return DatabaseUtils.executeLargeInputs(ids, new Function<List<Integer>, List<MetricDto>>() {
@Override
public List<MetricDto> apply(@Nonnull List<Integer> ids) {
return mapper(session).selectByIds(ids);
@@ -136,7 +135,7 @@ public class MetricDao implements Dao {
}

public void disableByIds(final DbSession session, List<Integer> ids) {
DaoUtils.executeLargeInputsWithoutOutput(ids, new Function<List<Integer>, Void>() {
DatabaseUtils.executeLargeInputsWithoutOutput(ids, new Function<List<Integer>, Void>() {
@Override
public Void apply(@Nonnull List<Integer> input) {
mapper(session).disableByIds(input);

+ 5
- 36
server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel1.java View File

@@ -25,32 +25,20 @@ import org.sonar.api.utils.System2;
import org.sonar.api.utils.internal.TempFolderCleaner;
import org.sonar.core.config.CorePropertyDefinitions;
import org.sonar.core.config.Logback;
import org.sonar.db.measure.MeasureFilterDao;
import org.sonar.db.DaoUtils;
import org.sonar.db.version.DatabaseVersion;
import org.sonar.db.DatabaseChecker;
import org.sonar.db.DefaultDatabase;
import org.sonar.db.MyBatis;
import org.sonar.db.purge.PurgeProfiler;
import org.sonar.db.semaphore.SemaphoreUpdater;
import org.sonar.db.semaphore.SemaphoresImpl;
import org.sonar.db.purge.PurgeProfiler;
import org.sonar.server.activity.db.ActivityDao;
import org.sonar.db.version.DatabaseVersion;
import org.sonar.server.component.db.ComponentDao;
import org.sonar.server.component.db.ComponentIndexDao;
import org.sonar.server.component.db.ComponentLinkDao;
import org.sonar.server.component.db.SnapshotDao;
import org.sonar.server.computation.db.AnalysisReportDao;
import org.sonar.server.measure.custom.persistence.CustomMeasureDao;
import org.sonar.server.dashboard.db.DashboardDao;
import org.sonar.server.dashboard.db.WidgetDao;
import org.sonar.server.dashboard.db.WidgetPropertyDao;
import org.sonar.server.db.DatabaseChecker;
import org.sonar.server.db.DbClient;
import org.sonar.server.db.EmbeddedDatabaseFactory;
import org.sonar.server.db.migrations.MigrationStepModule;
import org.sonar.server.event.db.EventDao;
import org.sonar.server.issue.db.IssueDao;
import org.sonar.server.issue.index.IssueIndex;
import org.sonar.server.measure.persistence.MeasureDao;
import org.sonar.server.measure.custom.persistence.CustomMeasureDao;
import org.sonar.server.metric.persistence.MetricDao;
import org.sonar.server.platform.DatabaseServerCompatibility;
import org.sonar.server.platform.DefaultServerFileSystem;
@@ -67,11 +55,9 @@ import org.sonar.server.rule.index.RuleIndex;
import org.sonar.server.rule.index.RuleNormalizer;
import org.sonar.server.search.EsSearchModule;
import org.sonar.server.search.IndexQueue;
import org.sonar.server.source.db.FileSourceDao;
import org.sonar.server.user.ThreadLocalUserSession;
import org.sonar.server.user.db.GroupDao;
import org.sonar.server.user.db.UserDao;
import org.sonar.server.user.db.UserGroupDao;

public class PlatformLevel1 extends PlatformLevel {
private final Platform platform;
@@ -124,12 +110,6 @@ public class PlatformLevel1 extends PlatformLevel {
// users
GroupDao.class,
UserDao.class,
UserGroupDao.class,

// dashboards
DashboardDao.class,
WidgetDao.class,
WidgetPropertyDao.class,

// rules/qprofiles
RuleNormalizer.class,
@@ -141,24 +121,13 @@ public class PlatformLevel1 extends PlatformLevel {

// issues
IssueIndex.class,
IssueDao.class,

// measures
MeasureDao.class,
MetricDao.class,
MeasureFilterDao.class,
CustomMeasureDao.class,

// components
ComponentDao.class,
ComponentIndexDao.class,
ComponentLinkDao.class,
SnapshotDao.class,

EventDao.class,
ActivityDao.class,
AnalysisReportDao.class,
FileSourceDao.class);
ComponentDao.class);
addAll(CorePropertyDefinitions.all());
add(MigrationStepModule.class);
addAll(DaoUtils.getDaoClasses());

+ 1
- 1
server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileFactory.java View File

@@ -28,7 +28,7 @@ import org.sonar.db.qualityprofile.QualityProfileDto;
import org.sonar.server.db.DbClient;
import org.sonar.server.exceptions.BadRequestException;
import org.sonar.server.exceptions.Verifications;
import org.sonar.server.util.Slug;
import org.sonar.core.util.Slug;

import javax.annotation.CheckForNull;


+ 6
- 8
server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivator.java View File

@@ -21,6 +21,12 @@ package org.sonar.server.qualityprofile;

import com.google.common.base.Splitter;
import com.google.common.collect.Lists;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
import org.sonar.api.server.ServerSide;
import org.sonar.api.server.rule.RuleParamType;
import org.sonar.db.DbSession;
@@ -44,14 +50,6 @@ import org.sonar.server.search.Result;
import org.sonar.server.user.UserSession;
import org.sonar.server.util.TypeValidations;

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

import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import static com.google.common.collect.Lists.newArrayList;

/**

+ 0
- 24
server/sonar-server/src/main/java/org/sonar/server/source/db/package-info.java View File

@@ -1,24 +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.
*/

@ParametersAreNonnullByDefault
package org.sonar.server.source.db;

import javax.annotation.ParametersAreNonnullByDefault;

+ 1
- 1
server/sonar-server/src/main/java/org/sonar/server/source/index/SourceLineResultSetIterator.java View File

@@ -23,7 +23,7 @@ import org.elasticsearch.action.update.UpdateRequest;
import org.sonar.api.utils.text.JsonWriter;
import org.sonar.db.source.FileSourceDto;
import org.sonar.server.db.DbClient;
import org.sonar.server.db.ResultSetIterator;
import org.sonar.db.ResultSetIterator;
import org.sonar.server.es.EsUtils;
import org.sonar.server.source.db.FileSourceDb;


+ 1
- 1
server/sonar-server/src/main/java/org/sonar/server/test/CoverageService.java View File

@@ -30,7 +30,7 @@ import org.sonar.api.web.UserRole;
import org.sonar.db.measure.MeasureDto;
import org.sonar.db.DbSession;
import org.sonar.db.MyBatis;
import org.sonar.server.measure.persistence.MeasureDao;
import org.sonar.db.measure.MeasureDao;
import org.sonar.server.user.UserSession;

@ServerSide

+ 1
- 1
server/sonar-server/src/main/java/org/sonar/server/test/index/TestResultSetIterator.java View File

@@ -24,7 +24,7 @@ import org.elasticsearch.action.update.UpdateRequest;
import org.sonar.api.utils.text.JsonWriter;
import org.sonar.db.source.FileSourceDto;
import org.sonar.server.db.DbClient;
import org.sonar.server.db.ResultSetIterator;
import org.sonar.db.ResultSetIterator;
import org.sonar.server.source.db.FileSourceDb;
import org.sonar.server.source.index.FileSourcesUpdaterHelper;
import org.sonar.server.source.index.FileSourcesUpdaterHelper.Row;

+ 0
- 3
server/sonar-server/src/main/java/org/sonar/server/user/db/GroupDao.java View File

@@ -33,9 +33,6 @@ import org.sonar.db.user.GroupDto;
import org.sonar.db.user.GroupMapper;
import org.sonar.server.exceptions.NotFoundException;

/**
* @since 3.2
*/
public class GroupDao implements Dao {

private static final String SQL_WILDCARD = "%";

+ 1
- 1
server/sonar-server/src/main/java/org/sonar/server/user/index/UserResultSetIterator.java View File

@@ -23,7 +23,7 @@ import com.google.common.collect.Maps;
import org.apache.commons.lang.StringUtils;
import org.sonar.db.user.UserDto;
import org.sonar.server.db.DbClient;
import org.sonar.server.db.ResultSetIterator;
import org.sonar.db.ResultSetIterator;

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

+ 0
- 25
server/sonar-server/src/main/java/org/sonar/server/usergroups/package-info.java View File

@@ -1,25 +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.
*/

@ParametersAreNonnullByDefault
package org.sonar.server.usergroups;

import javax.annotation.ParametersAreNonnullByDefault;


+ 13
- 8
server/sonar-server/src/test/java/org/sonar/core/computation/dbcleaner/ProjectCleanerTest.java View File

@@ -20,24 +20,29 @@

package org.sonar.core.computation.dbcleaner;

import java.util.Date;
import org.junit.Before;
import org.junit.Test;
import org.sonar.api.CoreProperties;
import org.sonar.api.config.Settings;
import org.sonar.api.utils.log.Logger;
import org.sonar.db.purge.period.DefaultPeriodCleaner;
import org.sonar.core.config.PurgeConstants;
import org.sonar.db.DbSession;
import org.sonar.db.purge.IdUuidPair;
import org.sonar.db.purge.PurgeConfiguration;
import org.sonar.core.config.PurgeConstants;
import org.sonar.db.purge.PurgeDao;
import org.sonar.db.purge.PurgeListener;
import org.sonar.db.purge.PurgeProfiler;
import org.sonar.db.purge.period.DefaultPeriodCleaner;
import org.sonar.server.issue.index.IssueIndex;

import java.util.Date;

import static org.mockito.Mockito.*;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.anyLong;
import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyZeroInteractions;

public class ProjectCleanerTest {

@@ -86,17 +91,17 @@ public class ProjectCleanerTest {
sut.purge(mock(DbSession.class), mock(IdUuidPair.class), settings);

verify(periodCleaner).clean(any(DbSession.class), any(Long.class), any(Settings.class));
verify(dao).purge(any(DbSession.class), any(PurgeConfiguration.class), any(PurgeListener.class));
verify(dao).purge(any(DbSession.class), any(PurgeConfiguration.class), any(PurgeListener.class), any(PurgeProfiler.class));
verify(issueIndex).deleteClosedIssuesOfProjectBefore(any(String.class), any(Date.class));
}

@Test
public void if_dao_purge_fails_it_should_not_interrupt_program_execution() {
doThrow(RuntimeException.class).when(dao).purge(any(DbSession.class), any(PurgeConfiguration.class), any(PurgeListener.class));
doThrow(RuntimeException.class).when(dao).purge(any(DbSession.class), any(PurgeConfiguration.class), any(PurgeListener.class), any(PurgeProfiler.class));

sut.purge(mock(DbSession.class), mock(IdUuidPair.class), settings);

verify(dao).purge(any(DbSession.class), any(PurgeConfiguration.class), any(PurgeListener.class));
verify(dao).purge(any(DbSession.class), any(PurgeConfiguration.class), any(PurgeListener.class), any(PurgeProfiler.class));
}

@Test

+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/activity/ActivityServiceTest.java View File

@@ -29,13 +29,13 @@ import org.junit.Test;
import org.sonar.api.config.Settings;
import org.sonar.api.utils.System2;
import org.sonar.db.DbTester;
import org.sonar.server.activity.db.ActivityDao;
import org.sonar.db.activity.ActivityDao;
import org.sonar.db.issue.IssueDao;
import org.sonar.server.activity.index.ActivityDoc;
import org.sonar.server.activity.index.ActivityIndexDefinition;
import org.sonar.server.activity.index.ActivityIndexer;
import org.sonar.server.db.DbClient;
import org.sonar.server.es.EsTester;
import org.sonar.server.issue.db.IssueDao;
import org.sonar.server.tester.UserSessionRule;

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

+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/batch/IssuesActionTest.java View File

@@ -36,13 +36,13 @@ import org.sonar.db.component.ComponentDto;
import org.sonar.core.permission.GlobalPermissions;
import org.sonar.db.DbSession;
import org.sonar.db.DbTester;
import org.sonar.db.issue.IssueDao;
import org.sonar.server.component.ComponentTesting;
import org.sonar.server.component.db.ComponentDao;
import org.sonar.server.db.DbClient;
import org.sonar.server.es.EsTester;
import org.sonar.server.exceptions.ForbiddenException;
import org.sonar.server.issue.IssueTesting;
import org.sonar.server.issue.db.IssueDao;
import org.sonar.server.issue.index.IssueAuthorizationDao;
import org.sonar.server.issue.index.IssueAuthorizationIndexer;
import org.sonar.server.issue.index.IssueDoc;

+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/batch/ProjectRepositoryLoaderMediumTest.java View File

@@ -54,8 +54,8 @@ import org.sonar.server.qualityprofile.QProfileName;
import org.sonar.server.qualityprofile.QProfileTesting;
import org.sonar.server.qualityprofile.RuleActivation;
import org.sonar.server.qualityprofile.RuleActivator;
import org.sonar.server.rule.RuleTesting;
import org.sonar.server.source.db.FileSourceDao;
import org.sonar.db.rule.RuleTesting;
import org.sonar.db.source.FileSourceDao;
import org.sonar.server.tester.ServerTester;
import org.sonar.server.tester.UserSessionRule;


+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/component/ComponentServiceTest.java View File

@@ -75,7 +75,7 @@ public class ComponentServiceTest {

when(i18n.message(Locale.getDefault(), "qualifier.TRK", "Project")).thenReturn("Project");

service = new ComponentService(dbClient, new ResourceKeyUpdaterDao(dbTester.myBatis()), i18n, new ResourceIndexerDao(dbTester.myBatis()),
service = new ComponentService(dbClient, new ResourceKeyUpdaterDao(dbTester.myBatis()), i18n, new ResourceIndexerDao(dbTester.myBatis(), mock(System2.class)),
userSessionRule, System2.INSTANCE);
}


+ 3
- 3
server/sonar-server/src/test/java/org/sonar/server/component/db/ComponentDaoTest.java View File

@@ -30,10 +30,10 @@ import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.junit.rules.ExpectedException;
import org.sonar.api.utils.DateUtils;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.component.FilePathWithHashDto;
import org.sonar.db.DbSession;
import org.sonar.db.DbTester;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.component.FilePathWithHashDto;
import org.sonar.server.es.SearchOptions;
import org.sonar.server.exceptions.NotFoundException;
import org.sonar.test.DbTests;
@@ -290,7 +290,7 @@ public class ComponentDaoTest {
assertThat(result.isEnabled()).isFalse();
}

@Test(expected = NotFoundException.class)
@Test(expected = IllegalArgumentException.class)
public void fail_to_get_by_id_when_project_not_found() {
loadBasicDataInDatabase();


+ 0
- 66
server/sonar-server/src/test/java/org/sonar/server/component/db/ComponentIndexDaoTest.java View File

@@ -1,66 +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.component.db;

import org.junit.After;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.sonar.db.DbSession;
import org.sonar.db.DbTester;
import org.sonar.test.DbTests;

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

@Category(DbTests.class)
public class ComponentIndexDaoTest {

@ClassRule
public static DbTester dbTester = new DbTester();

DbSession session;

ComponentIndexDao dao;

@Before
public void createDao() {
dbTester.truncateTables();
session = dbTester.myBatis().openSession(false);
dao = new ComponentIndexDao();
}

@After
public void tearDown() {
session.close();
}

@Test
public void select_project_ids_from_query_and_view_or_sub_view_uuid() {
dbTester.prepareDbUnit(getClass(), "select_project_ids_from_query_and_view_or_sub_view_uuid.xml");
String viewUuid = "EFGH";

assertThat(dao.selectProjectIdsFromQueryAndViewOrSubViewUuid(session, "project", viewUuid)).containsOnly(1L, 2L);
assertThat(dao.selectProjectIdsFromQueryAndViewOrSubViewUuid(session, "one", viewUuid)).containsOnly(1L);
assertThat(dao.selectProjectIdsFromQueryAndViewOrSubViewUuid(session, "two", viewUuid)).containsOnly(2L);
assertThat(dao.selectProjectIdsFromQueryAndViewOrSubViewUuid(session, "unknown", viewUuid)).isEmpty();
}
}

+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/component/ws/AppActionTest.java View File

@@ -45,7 +45,7 @@ import org.sonar.server.component.ComponentTesting;
import org.sonar.server.component.db.ComponentDao;
import org.sonar.server.db.DbClient;
import org.sonar.server.exceptions.NotFoundException;
import org.sonar.server.measure.persistence.MeasureDao;
import org.sonar.db.measure.MeasureDao;
import org.sonar.server.tester.UserSessionRule;
import org.sonar.server.ws.WsTester;


+ 3
- 2
server/sonar-server/src/test/java/org/sonar/server/component/ws/SearchActionTest.java View File

@@ -26,11 +26,12 @@ import org.junit.Rule;
import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.sonar.api.server.ws.WebService.Param;
import org.sonar.api.utils.System2;
import org.sonar.api.web.UserRole;
import org.sonar.db.DbTester;
import org.sonar.db.component.ResourceIndexerDao;
import org.sonar.db.user.AuthorizationDao;
import org.sonar.server.component.db.ComponentDao;
import org.sonar.server.component.db.ComponentIndexDao;
import org.sonar.server.db.DbClient;
import org.sonar.server.tester.UserSessionRule;
import org.sonar.server.ws.WsTester;
@@ -54,7 +55,7 @@ public class SearchActionTest {
public void setUp() {
dbTester.truncateTables();
DbClient dbClient = new DbClient(dbTester.database(), dbTester.myBatis(),
new ComponentDao(), new AuthorizationDao(dbTester.myBatis()), new ComponentIndexDao()
new ComponentDao(), new AuthorizationDao(dbTester.myBatis()), new ResourceIndexerDao(dbTester.myBatis(), mock(System2.class))
);
tester = new WsTester(new ComponentsWs(mock(AppAction.class), new SearchAction(dbClient, userSessionRule)));
}

+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/computation/ReportQueueTest.java View File

@@ -35,7 +35,7 @@ import org.sonar.db.DbSession;
import org.sonar.db.DbTester;
import org.sonar.process.ProcessProperties;
import org.sonar.server.component.db.ComponentDao;
import org.sonar.server.computation.db.AnalysisReportDao;
import org.sonar.db.compute.AnalysisReportDao;
import org.sonar.server.db.DbClient;
import org.sonar.test.DbTests;


+ 1
- 2
server/sonar-server/src/test/java/org/sonar/server/computation/issue/DebtAggregatorTest.java View File

@@ -25,7 +25,6 @@ import org.junit.Test;
import org.sonar.api.measures.CoreMetrics;
import org.sonar.api.utils.Duration;
import org.sonar.core.issue.DefaultIssue;
import org.sonar.core.issue.tracking.Tracking;
import org.sonar.server.computation.component.Component;
import org.sonar.server.computation.component.DumbComponent;
import org.sonar.server.computation.debt.Characteristic;
@@ -34,7 +33,7 @@ import org.sonar.server.computation.debt.MutableDebtModelHolder;
import org.sonar.server.computation.measure.Measure;
import org.sonar.server.computation.measure.MeasureRepositoryRule;
import org.sonar.server.computation.metric.MetricRepositoryRule;
import org.sonar.server.rule.RuleTesting;
import org.sonar.db.rule.RuleTesting;

import static java.util.Arrays.asList;
import static org.assertj.core.api.Assertions.assertThat;

+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/computation/issue/DebtCalculatorTest.java View File

@@ -26,7 +26,7 @@ import org.sonar.api.server.debt.DebtRemediationFunction;
import org.sonar.api.server.debt.internal.DefaultDebtRemediationFunction;
import org.sonar.api.utils.Durations;
import org.sonar.core.issue.DefaultIssue;
import org.sonar.server.rule.RuleTesting;
import org.sonar.db.rule.RuleTesting;

import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;

+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/computation/issue/IssueCounterTest.java View File

@@ -37,7 +37,7 @@ import org.sonar.server.computation.metric.MetricImpl;
import org.sonar.server.computation.metric.MetricRepository;
import org.sonar.server.computation.period.Period;
import org.sonar.server.computation.period.PeriodsHolderRule;
import org.sonar.server.rule.RuleTesting;
import org.sonar.db.rule.RuleTesting;

import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;

+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/computation/issue/RuleRepositoryImplTest.java View File

@@ -26,7 +26,7 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.mockito.internal.verification.VerificationModeFactory.times;
import static org.sonar.server.rule.RuleTesting.XOO_X1;
import static org.sonar.db.rule.RuleTesting.XOO_X1;

public class RuleRepositoryImplTest {


+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/computation/issue/RuleTagsCopierTest.java View File

@@ -28,7 +28,7 @@ import org.sonar.server.computation.component.Component;
import static java.util.Arrays.asList;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
import static org.sonar.server.rule.RuleTesting.XOO_X1;
import static org.sonar.db.rule.RuleTesting.XOO_X1;

public class RuleTagsCopierTest {


+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/computation/measure/MeasureRepositoryImplTest.java View File

@@ -43,7 +43,7 @@ import org.sonar.db.DbSession;
import org.sonar.db.DbTester;
import org.sonar.db.rule.RuleDto;
import org.sonar.server.component.db.ComponentDao;
import org.sonar.server.component.db.SnapshotDao;
import org.sonar.db.component.SnapshotDao;
import org.sonar.server.computation.batch.BatchReportReader;
import org.sonar.server.computation.batch.BatchReportReaderRule;
import org.sonar.server.computation.component.Component;
@@ -53,7 +53,7 @@ import org.sonar.server.computation.metric.Metric;
import org.sonar.server.computation.metric.MetricImpl;
import org.sonar.server.computation.metric.MetricRepository;
import org.sonar.server.db.DbClient;
import org.sonar.server.measure.persistence.MeasureDao;
import org.sonar.db.measure.MeasureDao;
import org.sonar.server.metric.persistence.MetricDao;

import static com.google.common.collect.FluentIterable.from;

+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/computation/step/FeedPeriodsStepTest.java View File

@@ -37,7 +37,7 @@ import org.sonar.batch.protocol.output.BatchReport;
import org.sonar.db.DbSession;
import org.sonar.db.DbTester;
import org.sonar.server.component.db.ComponentDao;
import org.sonar.server.component.db.SnapshotDao;
import org.sonar.db.component.SnapshotDao;
import org.sonar.server.computation.batch.BatchReportReaderRule;
import org.sonar.server.computation.batch.TreeRootHolderRule;
import org.sonar.server.computation.component.Component;

+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/computation/step/FillMeasuresWithVariationsStepTest.java View File

@@ -38,7 +38,7 @@ import org.sonar.db.DbTester;
import org.sonar.db.debt.CharacteristicDao;
import org.sonar.server.component.ComponentTesting;
import org.sonar.server.component.db.ComponentDao;
import org.sonar.server.component.db.SnapshotDao;
import org.sonar.db.component.SnapshotDao;
import org.sonar.server.computation.batch.BatchReportReaderRule;
import org.sonar.server.computation.batch.TreeRootHolderRule;
import org.sonar.server.computation.component.Component;
@@ -53,7 +53,7 @@ import org.sonar.server.computation.metric.MetricRepositoryImpl;
import org.sonar.server.computation.period.Period;
import org.sonar.server.computation.period.PeriodsHolderRule;
import org.sonar.server.db.DbClient;
import org.sonar.server.measure.persistence.MeasureDao;
import org.sonar.db.measure.MeasureDao;
import org.sonar.server.metric.persistence.MetricDao;
import org.sonar.server.rule.db.RuleDao;
import org.sonar.test.DbTests;

+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/computation/step/IndexSourceLinesStepTest.java View File

@@ -33,7 +33,7 @@ import org.sonar.server.computation.component.Component;
import org.sonar.server.computation.component.DumbComponent;
import org.sonar.server.db.DbClient;
import org.sonar.server.es.EsTester;
import org.sonar.server.source.db.FileSourceDao;
import org.sonar.db.source.FileSourceDao;
import org.sonar.server.source.db.FileSourceTesting;
import org.sonar.server.source.index.SourceLineDoc;
import org.sonar.server.source.index.SourceLineIndexDefinition;

+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/computation/step/IndexTestsStepTest.java View File

@@ -34,7 +34,7 @@ import org.sonar.server.computation.component.Component;
import org.sonar.server.computation.component.DumbComponent;
import org.sonar.server.db.DbClient;
import org.sonar.server.es.EsTester;
import org.sonar.server.source.db.FileSourceDao;
import org.sonar.db.source.FileSourceDao;
import org.sonar.server.test.db.TestTesting;
import org.sonar.server.test.index.TestDoc;
import org.sonar.server.test.index.TestIndexDefinition;

+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistComponentsStepTest.java View File

@@ -37,7 +37,7 @@ import org.sonar.db.DbSession;
import org.sonar.db.DbTester;
import org.sonar.server.component.ComponentTesting;
import org.sonar.server.component.db.ComponentDao;
import org.sonar.server.component.db.SnapshotDao;
import org.sonar.db.component.SnapshotDao;
import org.sonar.server.computation.batch.BatchReportReaderRule;
import org.sonar.server.computation.batch.TreeRootHolderRule;
import org.sonar.server.computation.component.Component;

+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistDuplicationsStepTest.java View File

@@ -39,7 +39,7 @@ import org.sonar.server.computation.component.Component;
import org.sonar.server.computation.component.DbIdsRepository;
import org.sonar.server.computation.component.DumbComponent;
import org.sonar.server.db.DbClient;
import org.sonar.server.measure.persistence.MeasureDao;
import org.sonar.db.measure.MeasureDao;
import org.sonar.server.metric.persistence.MetricDao;
import org.sonar.test.DbTests;


+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistEventsStepTest.java View File

@@ -40,7 +40,7 @@ import org.sonar.server.computation.component.DumbComponent;
import org.sonar.server.computation.event.Event;
import org.sonar.server.computation.event.EventRepository;
import org.sonar.server.db.DbClient;
import org.sonar.server.event.db.EventDao;
import org.sonar.db.event.EventDao;
import org.sonar.test.DbTests;

import static org.mockito.Matchers.any;

+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistFileSourcesStepTest.java View File

@@ -44,7 +44,7 @@ import org.sonar.server.computation.component.Component;
import org.sonar.server.computation.component.DumbComponent;
import org.sonar.server.computation.language.LanguageRepository;
import org.sonar.server.db.DbClient;
import org.sonar.server.source.db.FileSourceDao;
import org.sonar.db.source.FileSourceDao;
import org.sonar.server.source.db.FileSourceDb;
import org.sonar.test.DbTests;


+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistIssuesStepTest.java View File

@@ -34,15 +34,15 @@ import org.sonar.batch.protocol.output.BatchReport;
import org.sonar.core.issue.DefaultIssue;
import org.sonar.core.issue.DefaultIssueComment;
import org.sonar.core.issue.FieldDiffs;
import org.sonar.server.computation.issue.UpdateConflictResolver;
import org.sonar.db.DbSession;
import org.sonar.db.DbTester;
import org.sonar.db.issue.IssueDao;
import org.sonar.server.computation.batch.BatchReportReaderRule;
import org.sonar.server.computation.issue.IssueCache;
import org.sonar.server.computation.issue.RuleCacheLoader;
import org.sonar.server.computation.issue.RuleRepositoryImpl;
import org.sonar.server.computation.issue.UpdateConflictResolver;
import org.sonar.server.db.DbClient;
import org.sonar.server.issue.db.IssueDao;
import org.sonar.server.rule.db.RuleDao;

import static org.mockito.Mockito.mock;

+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistMeasuresStepTest.java View File

@@ -47,7 +47,7 @@ import org.sonar.server.computation.measure.MeasureRepository;
import org.sonar.server.computation.measure.MeasureRepositoryImpl;
import org.sonar.server.computation.metric.MetricRepositoryRule;
import org.sonar.server.db.DbClient;
import org.sonar.server.measure.persistence.MeasureDao;
import org.sonar.db.measure.MeasureDao;
import org.sonar.server.metric.persistence.MetricDao;
import org.sonar.server.rule.db.RuleDao;
import org.sonar.test.DbTests;

+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistNumberOfDaysSinceLastCommitStepTest.java View File

@@ -40,7 +40,7 @@ import org.sonar.server.computation.metric.Metric;
import org.sonar.server.computation.metric.MetricImpl;
import org.sonar.server.computation.metric.MetricRepository;
import org.sonar.server.db.DbClient;
import org.sonar.server.measure.persistence.MeasureDao;
import org.sonar.db.measure.MeasureDao;
import org.sonar.server.source.index.SourceLineIndex;

import static org.mockito.Matchers.anyString;

+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistProjectLinksStepTest.java View File

@@ -32,7 +32,7 @@ import org.sonar.batch.protocol.Constants;
import org.sonar.batch.protocol.output.BatchReport;
import org.sonar.db.DbSession;
import org.sonar.db.DbTester;
import org.sonar.server.component.db.ComponentLinkDao;
import org.sonar.db.component.ComponentLinkDao;
import org.sonar.server.computation.batch.BatchReportReaderRule;
import org.sonar.server.computation.batch.TreeRootHolderRule;
import org.sonar.server.computation.component.Component;

+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistSnapshotsStepTest.java View File

@@ -39,7 +39,7 @@ import org.sonar.db.DbTester;
import org.sonar.server.component.ComponentTesting;
import org.sonar.server.component.SnapshotTesting;
import org.sonar.server.component.db.ComponentDao;
import org.sonar.server.component.db.SnapshotDao;
import org.sonar.db.component.SnapshotDao;
import org.sonar.server.computation.batch.BatchReportReaderRule;
import org.sonar.server.computation.batch.TreeRootHolderRule;
import org.sonar.server.computation.component.Component;

+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistTestsStepTest.java View File

@@ -43,7 +43,7 @@ import org.sonar.server.computation.component.Component;
import org.sonar.server.computation.component.DumbComponent;
import org.sonar.server.computation.component.FileAttributes;
import org.sonar.server.db.DbClient;
import org.sonar.server.source.db.FileSourceDao;
import org.sonar.db.source.FileSourceDao;
import org.sonar.server.source.db.FileSourceDb;

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

+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/computation/step/SwitchSnapshotStepTest.java View File

@@ -28,7 +28,7 @@ import org.junit.experimental.categories.Category;
import org.sonar.api.utils.DateUtils;
import org.sonar.api.utils.System2;
import org.sonar.db.DbTester;
import org.sonar.server.component.db.SnapshotDao;
import org.sonar.db.component.SnapshotDao;
import org.sonar.server.computation.batch.TreeRootHolderRule;
import org.sonar.server.computation.component.Component;
import org.sonar.server.computation.component.DbIdsRepository;

+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/computation/step/ValidateProjectStepTest.java View File

@@ -38,7 +38,7 @@ import org.sonar.db.DbTester;
import org.sonar.server.component.ComponentTesting;
import org.sonar.server.component.SnapshotTesting;
import org.sonar.server.component.db.ComponentDao;
import org.sonar.server.component.db.SnapshotDao;
import org.sonar.db.component.SnapshotDao;
import org.sonar.server.computation.batch.BatchReportReaderRule;
import org.sonar.server.computation.batch.TreeRootHolderRule;
import org.sonar.server.computation.component.Component;

+ 1
- 2
server/sonar-server/src/test/java/org/sonar/server/db/BaseDaoTest.java View File

@@ -43,8 +43,7 @@ import static org.assertj.core.api.Assertions.assertThat;
public class BaseDaoTest {

@ClassRule
public static DbTester db = new DbTester()
.schema(BaseDaoTest.class, "schema.sql");
public static DbTester db = DbTester.createForSchema(System2.INSTANCE, BaseDaoTest.class, "schema.sql");

private static final String DTO_ALIAS = "fake";


+ 2
- 1
server/sonar-server/src/test/java/org/sonar/server/db/migrations/BaseDataChangeTest.java View File

@@ -25,6 +25,7 @@ import org.junit.Rule;
import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.junit.rules.ExpectedException;
import org.sonar.api.utils.System2;
import org.sonar.db.AbstractDaoTestCase;
import org.sonar.db.BatchSession;
import org.sonar.db.DbTester;
@@ -44,7 +45,7 @@ import static org.junit.Assert.fail;
public class BaseDataChangeTest extends AbstractDaoTestCase {

@ClassRule
public static DbTester db = new DbTester().schema(BaseDataChangeTest.class, "schema.sql");
public static DbTester db = DbTester.createForSchema(System2.INSTANCE, BaseDataChangeTest.class, "schema.sql");

@Rule
public ExpectedException thrown = ExpectedException.none();

+ 2
- 1
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v36/ViolationMigrationTest.java View File

@@ -22,6 +22,7 @@ package org.sonar.server.db.migrations.v36;
import org.junit.ClassRule;
import org.junit.Test;
import org.sonar.api.config.Settings;
import org.sonar.api.utils.System2;
import org.sonar.db.DbTester;

import static org.assertj.core.api.Assertions.assertThat;
@@ -29,7 +30,7 @@ import static org.assertj.core.api.Assertions.assertThat;
public class ViolationMigrationTest {

@ClassRule
public static DbTester db = new DbTester().schema(ViolationMigrationTest.class, "schema.sql");
public static DbTester db = DbTester.createForSchema(System2.INSTANCE, ViolationMigrationTest.class, "schema.sql");

@Test
public void migrate_violations() {

+ 2
- 1
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v42/CompleteIssueMessageMigrationTest.java View File

@@ -21,13 +21,14 @@ package org.sonar.server.db.migrations.v42;

import org.junit.ClassRule;
import org.junit.Test;
import org.sonar.api.utils.System2;
import org.sonar.db.DbTester;
import org.sonar.server.db.migrations.MigrationStep;

public class CompleteIssueMessageMigrationTest {

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

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


+ 2
- 1
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v42/PackageKeysMigrationTest.java View File

@@ -21,13 +21,14 @@ package org.sonar.server.db.migrations.v42;

import org.junit.ClassRule;
import org.junit.Test;
import org.sonar.api.utils.System2;
import org.sonar.db.DbTester;
import org.sonar.server.db.migrations.MigrationStep;

public class PackageKeysMigrationTest {

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

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


+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v43/ConvertIssueDebtToMinutesMigrationStepTest.java View File

@@ -42,7 +42,7 @@ import static org.mockito.Mockito.when;
public class ConvertIssueDebtToMinutesMigrationStepTest {

@ClassRule
public static DbTester db = new DbTester().schema(ConvertIssueDebtToMinutesMigrationStepTest.class, "schema.sql");
public static DbTester db = DbTester.createForSchema(System2.INSTANCE, ConvertIssueDebtToMinutesMigrationStepTest.class, "schema.sql");

@Mock
System2 system2;

+ 2
- 1
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v43/DevelopmentCostMeasuresMigrationStepTest.java View File

@@ -26,6 +26,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import org.sonar.api.utils.System2;
import org.sonar.db.DbTester;
import org.sonar.db.property.PropertiesDao;
import org.sonar.db.property.PropertyDto;
@@ -36,7 +37,7 @@ import static org.mockito.Mockito.when;
public class DevelopmentCostMeasuresMigrationStepTest {

@ClassRule
public static DbTester db = new DbTester().schema(DevelopmentCostMeasuresMigrationStepTest.class, "schema.sql");
public static DbTester db = DbTester.createForSchema(System2.INSTANCE, DevelopmentCostMeasuresMigrationStepTest.class, "schema.sql");

@Mock
PropertiesDao propertiesDao;

+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v43/IssueChangelogMigrationStepTest.java View File

@@ -39,7 +39,7 @@ import static org.mockito.Mockito.when;
public class IssueChangelogMigrationStepTest {

@ClassRule
public static DbTester db = new DbTester().schema(IssueChangelogMigrationStepTest.class, "schema.sql");
public static DbTester db = DbTester.createForSchema(System2.INSTANCE, IssueChangelogMigrationStepTest.class, "schema.sql");

@Mock
System2 system2;
@@ -65,7 +65,7 @@ public class IssueChangelogMigrationStepTest {

migration.execute();

db.assertDbUnit(getClass(), "migrate_issue_changelog_debt_result.xml", new String[]{"updated_at"}, "issue_changes");
db.assertDbUnit(getClass(), "migrate_issue_changelog_debt_result.xml", new String[] {"updated_at"}, "issue_changes");
}

@Test

+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v43/NotResolvedIssuesOnRemovedComponentsMigrationStepTest.java View File

@@ -36,7 +36,7 @@ import static org.mockito.Mockito.when;
public class NotResolvedIssuesOnRemovedComponentsMigrationStepTest {

@ClassRule
public static DbTester db = new DbTester().schema(NotResolvedIssuesOnRemovedComponentsMigrationStepTest.class, "schema.sql");
public static DbTester db = DbTester.createForSchema(System2.INSTANCE, NotResolvedIssuesOnRemovedComponentsMigrationStepTest.class, "schema.sql");

@Mock
System2 system2;

+ 2
- 1
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v43/RequirementMeasuresMigrationStepTest.java View File

@@ -23,12 +23,13 @@ package org.sonar.server.db.migrations.v43;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Test;
import org.sonar.api.utils.System2;
import org.sonar.db.DbTester;

public class RequirementMeasuresMigrationStepTest {

@ClassRule
public static DbTester db = new DbTester().schema(RequirementMeasuresMigrationStepTest.class, "schema.sql");
public static DbTester db = DbTester.createForSchema(System2.INSTANCE, RequirementMeasuresMigrationStepTest.class, "schema.sql");

RequirementMeasuresMigrationStep migration;


+ 2
- 1
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v43/TechnicalDebtMeasuresMigrationStepTest.java View File

@@ -26,6 +26,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import org.sonar.api.utils.System2;
import org.sonar.db.DbTester;
import org.sonar.db.property.PropertiesDao;
import org.sonar.db.property.PropertyDto;
@@ -36,7 +37,7 @@ import static org.mockito.Mockito.when;
public class TechnicalDebtMeasuresMigrationStepTest {

@ClassRule
public static DbTester db = new DbTester().schema(TechnicalDebtMeasuresMigrationStepTest.class, "schema.sql");
public static DbTester db = DbTester.createForSchema(System2.INSTANCE, TechnicalDebtMeasuresMigrationStepTest.class, "schema.sql");

@Mock
PropertiesDao propertiesDao;

+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/ChangeLogMigrationTest.java View File

@@ -27,7 +27,7 @@ import org.sonar.api.utils.DateUtils;
import org.sonar.api.utils.System2;
import org.sonar.db.DbSession;
import org.sonar.db.DbTester;
import org.sonar.server.activity.db.ActivityDao;
import org.sonar.db.activity.ActivityDao;
import org.sonar.server.db.DbClient;

import static org.assertj.core.api.Assertions.assertThat;
@@ -37,7 +37,7 @@ import static org.mockito.Mockito.when;
public class ChangeLogMigrationTest {

@ClassRule
public static DbTester db = new DbTester().schema(ChangeLogMigrationTest.class, "schema.sql");
public static DbTester db = DbTester.createForSchema(System2.INSTANCE, ChangeLogMigrationTest.class, "schema.sql");

System2 system2 = mock(System2.class);
DbClient dbClient;

+ 2
- 1
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/ConvertProfileMeasuresMigrationTest.java View File

@@ -23,6 +23,7 @@ package org.sonar.server.db.migrations.v44;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Test;
import org.sonar.api.utils.System2;
import org.sonar.db.DbTester;
import org.sonar.server.db.DbClient;

@@ -35,7 +36,7 @@ import static org.assertj.core.api.Assertions.assertThat;
public class ConvertProfileMeasuresMigrationTest {

@ClassRule
public static DbTester db = new DbTester().schema(ConvertProfileMeasuresMigrationTest.class, "schema.sql");
public static DbTester db = DbTester.createForSchema(System2.INSTANCE, ConvertProfileMeasuresMigrationTest.class, "schema.sql");

ConvertProfileMeasuresMigrationStep migration;


+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/FeedQProfileDatesMigrationTest.java View File

@@ -37,7 +37,7 @@ import static org.mockito.Mockito.when;
public class FeedQProfileDatesMigrationTest {

@ClassRule
public static DbTester db = new DbTester().schema(FeedQProfileDatesMigrationTest.class, "schema.sql");
public static DbTester db = DbTester.createForSchema(System2.INSTANCE, FeedQProfileDatesMigrationTest.class, "schema.sql");

FeedQProfileDatesMigrationStep migration;


+ 2
- 1
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/FeedQProfileKeysMigrationTest.java View File

@@ -22,6 +22,7 @@ package org.sonar.server.db.migrations.v44;

import org.junit.ClassRule;
import org.junit.Test;
import org.sonar.api.utils.System2;
import org.sonar.db.DbTester;

import java.util.List;
@@ -32,7 +33,7 @@ import static org.assertj.core.api.Assertions.assertThat;
public class FeedQProfileKeysMigrationTest {

@ClassRule
public static DbTester db = new DbTester().schema(FeedQProfileKeysMigrationTest.class, "schema.sql");
public static DbTester db = DbTester.createForSchema(System2.INSTANCE, FeedQProfileKeysMigrationTest.class, "schema.sql");

@Test
public void feed_keys() throws Exception {

+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/IssueActionPlanKeyMigrationTest.java View File

@@ -36,7 +36,7 @@ import static org.mockito.Mockito.when;
public class IssueActionPlanKeyMigrationTest {

@ClassRule
public static DbTester db = new DbTester().schema(IssueActionPlanKeyMigrationTest.class, "schema.sql");
public static DbTester db = DbTester.createForSchema(System2.INSTANCE, IssueActionPlanKeyMigrationTest.class, "schema.sql");

@Mock
System2 system2;

+ 2
- 1
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v44/MeasureDataMigrationTest.java View File

@@ -25,13 +25,14 @@ import org.junit.ClassRule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.runners.MockitoJUnitRunner;
import org.sonar.api.utils.System2;
import org.sonar.db.DbTester;

@RunWith(MockitoJUnitRunner.class)
public class MeasureDataMigrationTest {

@ClassRule
public static DbTester db = new DbTester().schema(MeasureDataMigrationTest.class, "schema.sql");
public static DbTester db = DbTester.createForSchema(System2.INSTANCE, MeasureDataMigrationTest.class, "schema.sql");

MeasureDataMigrationStep migration;


+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v45/AddMissingRuleParameterDefaultValuesMigrationTest.java View File

@@ -33,7 +33,7 @@ import static org.mockito.Mockito.when;
public class AddMissingRuleParameterDefaultValuesMigrationTest {

@ClassRule
public static DbTester db = new DbTester().schema(AddMissingRuleParameterDefaultValuesMigrationTest.class, "schema.sql");
public static DbTester db = DbTester.createForSchema(System2.INSTANCE, AddMissingRuleParameterDefaultValuesMigrationTest.class, "schema.sql");

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

+ 2
- 1
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v45/DeleteMeasuresOnDeletedProfilesMigrationTest.java View File

@@ -23,6 +23,7 @@ package org.sonar.server.db.migrations.v45;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Test;
import org.sonar.api.utils.System2;
import org.sonar.db.DbTester;
import org.sonar.server.db.DbClient;
import org.sonar.server.db.migrations.MigrationStep;
@@ -36,7 +37,7 @@ import static org.assertj.core.api.Assertions.assertThat;
public class DeleteMeasuresOnDeletedProfilesMigrationTest {

@ClassRule
public static DbTester db = new DbTester().schema(DeleteMeasuresOnDeletedProfilesMigrationTest.class, "schema.sql");
public static DbTester db = DbTester.createForSchema(System2.INSTANCE, DeleteMeasuresOnDeletedProfilesMigrationTest.class, "schema.sql");

MigrationStep migration;


+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v451/AddMissingCustomRuleParametersMigrationTest.java View File

@@ -34,7 +34,7 @@ import static org.mockito.Mockito.when;
public class AddMissingCustomRuleParametersMigrationTest {

@ClassRule
public static DbTester db = new DbTester().schema(AddMissingCustomRuleParametersMigrationTest.class, "schema.sql");
public static DbTester db = DbTester.createForSchema(System2.INSTANCE, AddMissingCustomRuleParametersMigrationTest.class, "schema.sql");

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

+ 2
- 1
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v451/DeleteUnescapedActivitiesTest.java View File

@@ -21,6 +21,7 @@ package org.sonar.server.db.migrations.v451;

import org.junit.ClassRule;
import org.junit.Test;
import org.sonar.api.utils.System2;
import org.sonar.db.DbTester;
import org.sonar.server.db.migrations.MigrationStep;

@@ -29,7 +30,7 @@ import static org.assertj.core.api.Assertions.assertThat;
public class DeleteUnescapedActivitiesTest {

@ClassRule
public static DbTester db = new DbTester().schema(DeleteUnescapedActivitiesTest.class, "schema.sql");
public static DbTester db = DbTester.createForSchema(System2.INSTANCE, DeleteUnescapedActivitiesTest.class, "schema.sql");

MigrationStep migration;


+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/FeedFileSourcesTest.java View File

@@ -41,7 +41,7 @@ import static org.mockito.Mockito.when;
public class FeedFileSourcesTest {

@ClassRule
public static DbTester db = new DbTester().schema(FeedFileSourcesTest.class, "schema.sql");
public static DbTester db = DbTester.createForSchema(System2.INSTANCE, FeedFileSourcesTest.class, "schema.sql");

private static final long NOW = 1414770242000L;


+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/FeedIssueLongDatesTest.java View File

@@ -33,7 +33,7 @@ import static org.mockito.Mockito.when;
public class FeedIssueLongDatesTest {

@ClassRule
public static DbTester db = new DbTester().schema(FeedIssueLongDatesTest.class, "schema.sql");
public static DbTester db = DbTester.createForSchema(System2.INSTANCE, FeedIssueLongDatesTest.class, "schema.sql");

@Test
public void execute() throws Exception {

+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/InsertProjectsAuthorizationUpdatedAtMigrationTest.java View File

@@ -33,7 +33,7 @@ import static org.mockito.Mockito.when;
public class InsertProjectsAuthorizationUpdatedAtMigrationTest {

@ClassRule
public static DbTester db = new DbTester().schema(InsertProjectsAuthorizationUpdatedAtMigrationTest.class, "schema.sql");
public static DbTester db = DbTester.createForSchema(System2.INSTANCE, InsertProjectsAuthorizationUpdatedAtMigrationTest.class, "schema.sql");

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

+ 2
- 1
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/PopulateProjectsUuidColumnsMigrationTest.java View File

@@ -25,6 +25,7 @@ import org.junit.After;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Test;
import org.sonar.api.utils.System2;
import org.sonar.db.DbSession;
import org.sonar.db.DbTester;
import org.sonar.db.version.v50.Component;
@@ -37,7 +38,7 @@ import static org.assertj.core.api.Assertions.assertThat;
public class PopulateProjectsUuidColumnsMigrationTest {

@ClassRule
public static DbTester db = new DbTester().schema(PopulateProjectsUuidColumnsMigrationTest.class, "schema.sql");
public static DbTester db = DbTester.createForSchema(System2.INSTANCE, PopulateProjectsUuidColumnsMigrationTest.class, "schema.sql");

DbSession session;


+ 1
- 1
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/RemoveSortFieldFromIssueFiltersMigrationTest.java View File

@@ -33,7 +33,7 @@ import static org.mockito.Mockito.when;
public class RemoveSortFieldFromIssueFiltersMigrationTest {

@ClassRule
public static DbTester db = new DbTester().schema(RemoveSortFieldFromIssueFiltersMigrationTest.class, "schema.sql");
public static DbTester db = DbTester.createForSchema(System2.INSTANCE, RemoveSortFieldFromIssueFiltersMigrationTest.class, "schema.sql");

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

+ 0
- 0
server/sonar-server/src/test/java/org/sonar/server/db/migrations/v50/ReplaceIssueFiltersProjectKeyByUuidTest.java View File


Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save