From e582be977c992d38fff928388bb1f1ae928fd146 Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Tue, 17 Apr 2018 20:49:19 +0200 Subject: [PATCH] Fix Quality flaws mainly by removing unused code --- .../ce/queue/InternalCeQueueImplTest.java | 19 ------- .../{DaoDatabaseUtils.java => DaoUtils.java} | 6 +- .../main/java/org/sonar/db/ce/CeQueueDao.java | 9 +-- .../java/org/sonar/db/ce/CeQueueMapper.java | 2 - .../org/sonar/db/ce/CeScannerContextDao.java | 4 +- .../sonar/db/ce/CeTaskCharacteristicDao.java | 4 -- .../db/ce/CeTaskCharacteristicMapper.java | 2 - .../org/sonar/db/component/ComponentDao.java | 2 +- .../org/sonar/db/component/ComponentDto.java | 2 +- .../sonar/db/component/ComponentQuery.java | 2 +- .../db/component/ComponentTreeQuery.java | 2 +- .../java/org/sonar/db/issue/IssueDao.java | 2 +- .../sonar/db/measure/MeasureTreeQuery.java | 2 +- .../sonar/db/permission/PermissionQuery.java | 2 +- .../ProjectQgateAssociationQuery.java | 4 +- .../db/qualityprofile/SearchGroupsQuery.java | 2 +- .../db/qualityprofile/SearchUsersQuery.java | 2 +- .../main/java/org/sonar/db/user/GroupDao.java | 4 +- .../sonar/db/user/UserMembershipQuery.java | 2 +- .../org/sonar/db/ce/CeQueueMapper.xml | 9 --- .../db/ce/CeTaskCharacteristicMapper.xml | 9 --- ...tabaseUtilsTest.java => DaoUtilsTest.java} | 4 +- .../java/org/sonar/db/ce/CeQueueDaoTest.java | 57 ------------------- .../db/ce/CeTaskCharacteristicDaoTest.java | 23 -------- .../main/java/org/sonar/ce/queue/CeQueue.java | 10 ---- .../java/org/sonar/ce/queue/CeQueueImpl.java | 21 ------- .../org/sonar/ce/queue/CeQueueImplTest.java | 19 ------- .../queue/ReportSubmitterTest.java | 15 ++--- 28 files changed, 31 insertions(+), 210 deletions(-) rename server/sonar-db-dao/src/main/java/org/sonar/db/{DaoDatabaseUtils.java => DaoUtils.java} (96%) rename server/sonar-db-dao/src/test/java/org/sonar/db/{DaoDatabaseUtilsTest.java => DaoUtilsTest.java} (94%) diff --git a/server/sonar-ce/src/test/java/org/sonar/ce/queue/InternalCeQueueImplTest.java b/server/sonar-ce/src/test/java/org/sonar/ce/queue/InternalCeQueueImplTest.java index 28186aac0461..6e31c0b3af2f 100644 --- a/server/sonar-ce/src/test/java/org/sonar/ce/queue/InternalCeQueueImplTest.java +++ b/server/sonar-ce/src/test/java/org/sonar/ce/queue/InternalCeQueueImplTest.java @@ -119,16 +119,6 @@ public void submit_returns_task_without_component_info_when_submit_has_none() { verifyCeTask(taskSubmit, task, null); } - @Test - public void submit_fails_with_ISE_if_paused() { - underTest.pauseSubmit(); - - expectedException.expect(IllegalStateException.class); - expectedException.expectMessage("Compute Engine does not currently accept new tasks"); - - submit(CeTaskTypes.REPORT, "PROJECT_1"); - } - @Test public void massSubmit_returns_tasks_for_each_CeTaskSubmit_populated_from_CeTaskSubmit_and_creates_CeQueue_row_for_each() { CeTaskSubmit taskSubmit1 = createTaskSubmit(CeTaskTypes.REPORT, "PROJECT_1", "rob"); @@ -688,15 +678,6 @@ private CeQueueDto insertCeQueueDto(String uuid, CeQueueDto.Status status, int e return dto; } - @Test - public void pause_and_resume_submits() { - assertThat(underTest.isSubmitPaused()).isFalse(); - underTest.pauseSubmit(); - assertThat(underTest.isSubmitPaused()).isTrue(); - underTest.resumeSubmit(); - assertThat(underTest.isSubmitPaused()).isFalse(); - } - private void verifyCeTask(CeTaskSubmit taskSubmit, CeTask task, @Nullable ComponentDto componentDto) { if (componentDto == null) { assertThat(task.getOrganizationUuid()).isEqualTo(defaultOrganizationProvider.get().getUuid()); diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/DaoDatabaseUtils.java b/server/sonar-db-dao/src/main/java/org/sonar/db/DaoUtils.java similarity index 96% rename from server/sonar-db-dao/src/main/java/org/sonar/db/DaoDatabaseUtils.java rename to server/sonar-db-dao/src/main/java/org/sonar/db/DaoUtils.java index 664fd6ce4f6a..e9eb4cd57adf 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/DaoDatabaseUtils.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/DaoUtils.java @@ -19,7 +19,11 @@ */ package org.sonar.db; -public class DaoDatabaseUtils extends DatabaseUtils { +public class DaoUtils { + + private DaoUtils() { + // prevent new instances + } /** * Returns an escaped value in parameter, with the desired wildcards. Suitable to be used in a like sql query
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueDao.java index 42260c55ae9a..318c8b5ac0c9 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueDao.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueDao.java @@ -114,13 +114,6 @@ public void deleteByUuid(DbSession session, String uuid) { mapper(session).deleteByUuid(uuid); } - /** - * Update all rows with: STATUS='PENDING', STARTED_AT=NULL, UPDATED_AT={now} - */ - public void resetAllToPendingStatus(DbSession session) { - mapper(session).resetAllToPendingStatus(system2.now()); - } - /** * Update all tasks for the specified worker uuid which are not PENDING to: * STATUS='PENDING', STARTED_AT=NULL, UPDATED_AT={now}. @@ -179,7 +172,7 @@ private Optional tryToPeek(DbSession session, EligibleTaskDto eligib CeQueueDto result = mapper(session).selectByUuid(eligible.getUuid()); session.commit(); - return Optional.of(result); + return Optional.ofNullable(result); } private static CeQueueMapper mapper(DbSession session) { diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueMapper.java b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueMapper.java index 0d36f3e31a6d..c2e301185bd6 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueMapper.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeQueueMapper.java @@ -63,8 +63,6 @@ public interface CeQueueMapper { void insert(CeQueueDto dto); - void resetAllToPendingStatus(@Param("updatedAt") long updatedAt); - int resetToPendingForWorker(@Param("workerUuid") String workerUuid, @Param("updatedAt") long updatedAt); int updateIf(@Param("uuid") String uuid, diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeScannerContextDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeScannerContextDao.java index 591fcedd3894..a3e3d2f708c2 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeScannerContextDao.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeScannerContextDao.java @@ -21,7 +21,6 @@ import java.io.IOException; import java.io.InputStream; -import java.nio.charset.Charset; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -37,11 +36,10 @@ import org.sonar.db.DbSession; import static com.google.common.base.Preconditions.checkArgument; +import static java.nio.charset.StandardCharsets.UTF_8; public class CeScannerContextDao implements Dao { - private static final Charset UTF_8 = Charset.forName("UTF-8"); - private final System2 system; public CeScannerContextDao(System2 system) { diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeTaskCharacteristicDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeTaskCharacteristicDao.java index 004a690e5c27..0eb7ca5583c1 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeTaskCharacteristicDao.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeTaskCharacteristicDao.java @@ -34,10 +34,6 @@ public void insert(DbSession dbSession, Collection char } } - public List selectByTaskUuid(DbSession dbSession, String taskUuid) { - return mapper(dbSession).selectByTaskUuid(taskUuid); - } - public List selectByTaskUuids(DbSession dbSession, List taskUuids) { return executeLargeInputs(taskUuids, uuid -> mapper(dbSession).selectByTaskUuids(uuid)); } diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeTaskCharacteristicMapper.java b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeTaskCharacteristicMapper.java index a3e0eaaa3c26..01fb720fd715 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeTaskCharacteristicMapper.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/ce/CeTaskCharacteristicMapper.java @@ -24,8 +24,6 @@ public interface CeTaskCharacteristicMapper { - List selectByTaskUuid(@Param("taskUuid") String taskUuid); - List selectByTaskUuids(@Param("taskUuids") List taskUuids); void insert(CeTaskCharacteristicDto taskCharacteristic); diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDao.java index 136114d437fc..e5dfb2a5dfab 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDao.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDao.java @@ -44,7 +44,7 @@ import static java.util.Objects.requireNonNull; import static org.apache.commons.lang.StringUtils.isBlank; import static org.sonar.core.util.stream.MoreCollectors.toList; -import static org.sonar.db.DaoDatabaseUtils.buildLikeValue; +import static org.sonar.db.DaoUtils.buildLikeValue; import static org.sonar.db.DatabaseUtils.checkThatNotTooManyConditions; import static org.sonar.db.DatabaseUtils.executeLargeInputs; import static org.sonar.db.DatabaseUtils.executeLargeInputsIntoSet; diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDto.java b/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDto.java index fad8823a8b9c..bd41e5534a1e 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDto.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDto.java @@ -34,7 +34,7 @@ import static com.google.common.base.Preconditions.checkArgument; import static java.lang.String.format; import static org.apache.commons.lang.StringUtils.substringBeforeLast; -import static org.sonar.db.DaoDatabaseUtils.buildLikeValue; +import static org.sonar.db.DaoUtils.buildLikeValue; import static org.sonar.db.component.ComponentValidator.checkComponentKey; import static org.sonar.db.component.ComponentValidator.checkComponentLongName; import static org.sonar.db.component.ComponentValidator.checkComponentName; diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentQuery.java b/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentQuery.java index 1696f21a78dc..487b7b2a252d 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentQuery.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentQuery.java @@ -27,7 +27,7 @@ import org.sonar.db.WildcardPosition; import static com.google.common.base.Preconditions.checkArgument; -import static org.sonar.db.DaoDatabaseUtils.buildLikeValue; +import static org.sonar.db.DaoUtils.buildLikeValue; public class ComponentQuery { private final String nameOrKeyQuery; diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentTreeQuery.java b/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentTreeQuery.java index cdfb21c34e8c..ed79a11252b9 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentTreeQuery.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentTreeQuery.java @@ -28,7 +28,7 @@ import static com.google.common.collect.Lists.newArrayList; import static java.util.Objects.requireNonNull; -import static org.sonar.db.DaoDatabaseUtils.buildLikeValue; +import static org.sonar.db.DaoUtils.buildLikeValue; import static org.sonar.db.WildcardPosition.BEFORE_AND_AFTER; public class ComponentTreeQuery { diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/issue/IssueDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/issue/IssueDao.java index 2ed5d3930612..7269ad895512 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/issue/IssueDao.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/issue/IssueDao.java @@ -30,7 +30,7 @@ import org.sonar.db.WildcardPosition; import org.sonar.db.component.ComponentDto; -import static org.sonar.db.DaoDatabaseUtils.buildLikeValue; +import static org.sonar.db.DaoUtils.buildLikeValue; import static org.sonar.db.DatabaseUtils.executeLargeInputs; public class IssueDao implements Dao { diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/measure/MeasureTreeQuery.java b/server/sonar-db-dao/src/main/java/org/sonar/db/measure/MeasureTreeQuery.java index 9f24b660eee5..4fb1a8cbed30 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/measure/MeasureTreeQuery.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/measure/MeasureTreeQuery.java @@ -28,7 +28,7 @@ import static com.google.common.collect.Lists.newArrayList; import static java.util.Objects.requireNonNull; -import static org.sonar.db.DaoDatabaseUtils.buildLikeValue; +import static org.sonar.db.DaoUtils.buildLikeValue; import static org.sonar.db.WildcardPosition.BEFORE_AND_AFTER; public class MeasureTreeQuery { diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/permission/PermissionQuery.java b/server/sonar-db-dao/src/main/java/org/sonar/db/permission/PermissionQuery.java index 82d61a80daab..85ee4a0c1c54 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/permission/PermissionQuery.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/permission/PermissionQuery.java @@ -30,7 +30,7 @@ import static java.util.Objects.requireNonNull; import static org.apache.commons.lang.StringUtils.defaultIfBlank; import static org.sonar.api.utils.Paging.offset; -import static org.sonar.db.DaoDatabaseUtils.buildLikeValue; +import static org.sonar.db.DaoUtils.buildLikeValue; /** * Query used to get users and groups permissions diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/ProjectQgateAssociationQuery.java b/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/ProjectQgateAssociationQuery.java index 3d9ebc7ca110..4a18863de83d 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/ProjectQgateAssociationQuery.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/ProjectQgateAssociationQuery.java @@ -26,7 +26,7 @@ import javax.annotation.CheckForNull; import javax.annotation.Nullable; import org.apache.commons.lang.StringUtils; -import org.sonar.db.DaoDatabaseUtils; +import org.sonar.db.DaoUtils; import org.sonar.db.WildcardPosition; public class ProjectQgateAssociationQuery { @@ -62,7 +62,7 @@ private ProjectQgateAssociationQuery(Builder builder) { if (this.projectSearch == null) { this.projectSearchUpperLikeSql = null; } else { - this.projectSearchUpperLikeSql = DaoDatabaseUtils.buildLikeValue(projectSearch.toUpperCase(Locale.ENGLISH), WildcardPosition.BEFORE_AND_AFTER); + this.projectSearchUpperLikeSql = DaoUtils.buildLikeValue(projectSearch.toUpperCase(Locale.ENGLISH), WildcardPosition.BEFORE_AND_AFTER); } this.pageSize = builder.pageSize; diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/SearchGroupsQuery.java b/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/SearchGroupsQuery.java index a52cf754038b..91f363d84dd1 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/SearchGroupsQuery.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/SearchGroupsQuery.java @@ -29,7 +29,7 @@ import static com.google.common.base.MoreObjects.firstNonNull; import static com.google.common.base.Preconditions.checkArgument; -import static org.sonar.db.DaoDatabaseUtils.buildLikeValue; +import static org.sonar.db.DaoUtils.buildLikeValue; import static org.sonar.db.WildcardPosition.BEFORE_AND_AFTER; public class SearchGroupsQuery { diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/SearchUsersQuery.java b/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/SearchUsersQuery.java index 9aaf840adfdd..dbf04d6e0fff 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/SearchUsersQuery.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/SearchUsersQuery.java @@ -30,7 +30,7 @@ import static com.google.common.base.MoreObjects.firstNonNull; import static com.google.common.base.Preconditions.checkArgument; import static java.util.Objects.requireNonNull; -import static org.sonar.db.DaoDatabaseUtils.buildLikeValue; +import static org.sonar.db.DaoUtils.buildLikeValue; import static org.sonar.db.WildcardPosition.BEFORE_AND_AFTER; public class SearchUsersQuery { diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/user/GroupDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/user/GroupDao.java index 907ca1faa4bf..870058ab6c0b 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/user/GroupDao.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/user/GroupDao.java @@ -30,7 +30,7 @@ import org.apache.ibatis.session.RowBounds; import org.sonar.api.utils.System2; import org.sonar.db.Dao; -import org.sonar.db.DaoDatabaseUtils; +import org.sonar.db.DaoUtils; import org.sonar.db.DbSession; import org.sonar.db.WildcardPosition; @@ -108,7 +108,7 @@ private static String groupSearchToSql(@Nullable String query) { } String upperCasedNameQuery = StringUtils.upperCase(query, Locale.ENGLISH); - return DaoDatabaseUtils.buildLikeValue(upperCasedNameQuery, WildcardPosition.BEFORE_AND_AFTER); + return DaoUtils.buildLikeValue(upperCasedNameQuery, WildcardPosition.BEFORE_AND_AFTER); } public List selectByOrganizationUuid(DbSession dbSession, String organizationUuid) { diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/user/UserMembershipQuery.java b/server/sonar-db-dao/src/main/java/org/sonar/db/user/UserMembershipQuery.java index 6bd36c6288ae..e09497c060ba 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/user/UserMembershipQuery.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/user/UserMembershipQuery.java @@ -29,7 +29,7 @@ import static com.google.common.base.MoreObjects.firstNonNull; import static com.google.common.base.Preconditions.checkArgument; import static java.util.Objects.requireNonNull; -import static org.sonar.db.DaoDatabaseUtils.buildLikeValue; +import static org.sonar.db.DaoUtils.buildLikeValue; import static org.sonar.db.WildcardPosition.BEFORE_AND_AFTER; public class UserMembershipQuery { diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeQueueMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeQueueMapper.xml index f10b38becf1f..714e281c2a34 100644 --- a/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeQueueMapper.xml +++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeQueueMapper.xml @@ -228,15 +228,6 @@ ) - - update ce_queue set - status='PENDING', - started_at=NULL, - updated_at=#{updatedAt,jdbcType=BIGINT} - where - status <> 'PENDING' - - update ce_queue set status='PENDING', diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeTaskCharacteristicMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeTaskCharacteristicMapper.xml index 2e65de2cce97..942b031c50bc 100644 --- a/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeTaskCharacteristicMapper.xml +++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/ce/CeTaskCharacteristicMapper.xml @@ -10,15 +10,6 @@ c.text_value as "value" - -