diff options
72 files changed, 114 insertions, 260 deletions
diff --git a/microbenchmark-template/pom.xml b/microbenchmark-template/pom.xml index 261b3d4a58d..7a07993a8b8 100644 --- a/microbenchmark-template/pom.xml +++ b/microbenchmark-template/pom.xml @@ -5,7 +5,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> </parent> <artifactId>microbenchmark-template</artifactId> <packaging>jar</packaging> diff --git a/plugins/sonar-core-plugin/pom.xml b/plugins/sonar-core-plugin/pom.xml index f81408953c1..090c34c4901 100644 --- a/plugins/sonar-core-plugin/pom.xml +++ b/plugins/sonar-core-plugin/pom.xml @@ -4,7 +4,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> <relativePath>../..</relativePath> </parent> <groupId>org.codehaus.sonar.plugins</groupId> diff --git a/plugins/sonar-email-notifications-plugin/pom.xml b/plugins/sonar-email-notifications-plugin/pom.xml index 35e83bda58b..5ed2d2b0151 100644 --- a/plugins/sonar-email-notifications-plugin/pom.xml +++ b/plugins/sonar-email-notifications-plugin/pom.xml @@ -5,7 +5,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> <relativePath>../..</relativePath> </parent> diff --git a/plugins/sonar-l10n-en-plugin/pom.xml b/plugins/sonar-l10n-en-plugin/pom.xml index 817eb99e375..b73653fb170 100644 --- a/plugins/sonar-l10n-en-plugin/pom.xml +++ b/plugins/sonar-l10n-en-plugin/pom.xml @@ -25,7 +25,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> <relativePath>../..</relativePath> </parent> diff --git a/plugins/sonar-xoo-plugin/pom.xml b/plugins/sonar-xoo-plugin/pom.xml index 26dddfe9e71..32fc1f0adf4 100644 --- a/plugins/sonar-xoo-plugin/pom.xml +++ b/plugins/sonar-xoo-plugin/pom.xml @@ -4,7 +4,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> <relativePath>../..</relativePath> </parent> <groupId>org.codehaus.sonar.plugins</groupId> @@ -5,7 +5,7 @@ <groupId>org.codehaus.sonar</groupId> <artifactId>sonar</artifactId> <packaging>pom</packaging> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> <name>SonarQube</name> <url>http://www.sonarqube.org/</url> <description>Open source platform for continuous inspection of code quality</description> diff --git a/server/pom.xml b/server/pom.xml index b198220c6b3..0bfd128c231 100644 --- a/server/pom.xml +++ b/server/pom.xml @@ -4,7 +4,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> </parent> <artifactId>server</artifactId> <packaging>pom</packaging> diff --git a/server/sonar-process-monitor/pom.xml b/server/sonar-process-monitor/pom.xml index c1b0f4ea123..10131e432cd 100644 --- a/server/sonar-process-monitor/pom.xml +++ b/server/sonar-process-monitor/pom.xml @@ -3,7 +3,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>server</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> <relativePath>../</relativePath> </parent> <modelVersion>4.0.0</modelVersion> diff --git a/server/sonar-process/pom.xml b/server/sonar-process/pom.xml index 85dc25c5778..03bbf3d7c81 100644 --- a/server/sonar-process/pom.xml +++ b/server/sonar-process/pom.xml @@ -3,7 +3,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>server</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> <relativePath>../</relativePath> </parent> <modelVersion>4.0.0</modelVersion> diff --git a/server/sonar-search/pom.xml b/server/sonar-search/pom.xml index 0263b8a1320..48b37cee245 100644 --- a/server/sonar-search/pom.xml +++ b/server/sonar-search/pom.xml @@ -3,7 +3,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>server</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> <relativePath>../</relativePath> </parent> <modelVersion>4.0.0</modelVersion> diff --git a/server/sonar-server-benchmarks/pom.xml b/server/sonar-server-benchmarks/pom.xml index a12a517dcf8..d87fbf40b21 100644 --- a/server/sonar-server-benchmarks/pom.xml +++ b/server/sonar-server-benchmarks/pom.xml @@ -4,7 +4,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>server</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> <relativePath>..</relativePath> </parent> <artifactId>sonar-server-benchmarks</artifactId> diff --git a/server/sonar-server/pom.xml b/server/sonar-server/pom.xml index 511964cf982..12419aa2142 100644 --- a/server/sonar-server/pom.xml +++ b/server/sonar-server/pom.xml @@ -4,7 +4,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>server</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> <relativePath>..</relativePath> </parent> <artifactId>sonar-server</artifactId> diff --git a/server/sonar-server/src/main/java/org/sonar/core/computation/dbcleaner/ProjectCleaner.java b/server/sonar-server/src/main/java/org/sonar/core/computation/dbcleaner/ProjectCleaner.java index db97f41b182..6c341d54e0e 100644 --- a/server/sonar-server/src/main/java/org/sonar/core/computation/dbcleaner/ProjectCleaner.java +++ b/server/sonar-server/src/main/java/org/sonar/core/computation/dbcleaner/ProjectCleaner.java @@ -28,8 +28,13 @@ import org.sonar.api.utils.log.Logger; import org.sonar.api.utils.log.Loggers; import org.sonar.core.computation.dbcleaner.period.DefaultPeriodCleaner; import org.sonar.core.persistence.DbSession; -import org.sonar.core.purge.*; +import org.sonar.core.purge.IdUuidPair; +import org.sonar.core.purge.PurgeConfiguration; +import org.sonar.core.purge.PurgeDao; +import org.sonar.core.purge.PurgeListener; +import org.sonar.core.purge.PurgeProfiler; import org.sonar.server.issue.index.IssueIndex; +import org.sonar.server.properties.ProjectSettingsFactory; import javax.annotation.Nullable; @@ -44,30 +49,33 @@ public class ProjectCleaner implements ServerComponent { private final PurgeListener purgeListener; private final PurgeDao purgeDao; private final DefaultPeriodCleaner periodCleaner; + private final ProjectSettingsFactory projectSettingsFactory; private final IssueIndex issueIndex; public ProjectCleaner(PurgeDao purgeDao, DefaultPeriodCleaner periodCleaner, PurgeProfiler profiler, PurgeListener purgeListener, - IssueIndex issueIndex) { + ProjectSettingsFactory projectSettingsFactory, IssueIndex issueIndex) { this.purgeDao = purgeDao; this.periodCleaner = periodCleaner; this.profiler = profiler; this.purgeListener = purgeListener; + this.projectSettingsFactory = projectSettingsFactory; this.issueIndex = issueIndex; } - public ProjectCleaner purge(DbSession session, IdUuidPair idUuidPair, Settings projectSettings) { + public ProjectCleaner purge(DbSession session, IdUuidPair idUuidPair) { long start = System.currentTimeMillis(); profiler.reset(); - PurgeConfiguration configuration = newDefaultPurgeConfiguration(projectSettings, idUuidPair); + Settings settings = projectSettingsFactory.newProjectSettings(session, idUuidPair.getId()); + PurgeConfiguration configuration = newDefaultPurgeConfiguration(settings, idUuidPair); - cleanHistoricalData(session, configuration.rootProjectIdUuid().getId(), projectSettings); + cleanHistoricalData(session, configuration.rootProjectIdUuid().getId(), settings); doPurge(session, configuration); deleteIndexedIssuesBefore(idUuidPair.getUuid(), configuration.maxLiveDateOfClosedIssues()); session.commit(); - logProfiling(start, projectSettings); + logProfiling(start, settings); return this; } diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/ComputationContext.java b/server/sonar-server/src/main/java/org/sonar/server/computation/ComputationContext.java index 45f9efb454a..a7709c8e139 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/ComputationContext.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/ComputationContext.java @@ -20,19 +20,16 @@ package org.sonar.server.computation; -import org.sonar.api.config.Settings; +import com.google.common.base.Preconditions; import org.sonar.batch.protocol.output.BatchReport; import org.sonar.core.component.ComponentDto; import org.sonar.core.computation.db.AnalysisReportDto; import org.sonar.server.computation.step.ParseReportStep; -import static com.google.common.base.Preconditions.checkState; - public class ComputationContext { private final AnalysisReportDto reportDto; private final ComponentDto project; - private Settings projectSettings; /** * Cache of analysis date as it can be accessed several times @@ -53,20 +50,11 @@ public class ComputationContext { } public BatchReport.Metadata getReportMetadata() { - checkState(reportMetadata != null, "Report metadata is available after execution of " + ParseReportStep.class); + Preconditions.checkState(reportMetadata != null, "Report metadata is available after execution of " + ParseReportStep.class); return reportMetadata; } public void setReportMetadata(BatchReport.Metadata m) { this.reportMetadata = m; } - - public Settings getProjectSettings() { - return projectSettings; - } - - public void setProjectSettings(Settings projectSettings) { - checkState(this.projectSettings == null, "can't set project settings twice"); - this.projectSettings = projectSettings; - } } diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/ComputationService.java b/server/sonar-server/src/main/java/org/sonar/server/computation/ComputationService.java index 509f243f236..77ee77fb272 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/ComputationService.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/ComputationService.java @@ -36,7 +36,6 @@ import org.sonar.server.activity.ActivityService; import org.sonar.server.computation.step.ComputationStep; import org.sonar.server.computation.step.ComputationSteps; import org.sonar.server.db.DbClient; -import org.sonar.server.properties.ProjectSettingsFactory; public class ComputationService implements ServerComponent { @@ -45,13 +44,11 @@ public class ComputationService implements ServerComponent { private final DbClient dbClient; private final ComputationSteps steps; private final ActivityService activityService; - private final ProjectSettingsFactory projectSettingsFactory; - public ComputationService(DbClient dbClient, ComputationSteps steps, ActivityService activityService, ProjectSettingsFactory projectSettingsFactory) { + public ComputationService(DbClient dbClient, ComputationSteps steps, ActivityService activityService) { this.dbClient = dbClient; this.steps = steps; this.activityService = activityService; - this.projectSettingsFactory = projectSettingsFactory; } public void process(AnalysisReportDto report) { @@ -61,7 +58,6 @@ public class ComputationService implements ServerComponent { ComponentDto project = loadProject(report); try { ComputationContext context = new ComputationContext(report, project); - context.setProjectSettings(projectSettingsFactory.newProjectSettings(project.getId())); for (ComputationStep step : steps.orderedSteps()) { if (ArrayUtils.contains(step.supportedProjectQualifiers(), context.getProject().qualifier())) { Profiler stepProfiler = Profiler.create(LOG).startInfo(step.getDescription()); diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/issue/IssueComputation.java b/server/sonar-server/src/main/java/org/sonar/server/computation/issue/IssueComputation.java index 6400979ffb4..b503e2c74ac 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/issue/IssueComputation.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/issue/IssueComputation.java @@ -19,56 +19,41 @@ */ package org.sonar.server.computation.issue; -import com.google.common.base.Strings; import com.google.common.collect.Sets; -import org.sonar.api.CoreProperties; import org.sonar.api.issue.internal.DefaultIssue; import org.sonar.api.issue.internal.FieldDiffs; import org.sonar.api.rule.RuleKey; import org.sonar.api.utils.Duration; import org.sonar.api.utils.KeyValueFormat; -import org.sonar.api.utils.log.Logger; -import org.sonar.api.utils.log.Loggers; import org.sonar.batch.protocol.output.BatchReport; import org.sonar.core.rule.RuleDto; import org.sonar.server.computation.ComputationContext; -import org.sonar.server.user.index.UserDoc; -import org.sonar.server.user.index.UserIndex; import org.sonar.server.util.cache.DiskCache; -import javax.annotation.Nullable; - import java.util.Date; public class IssueComputation { - private static final Logger LOG = Loggers.get(IssueComputation.class); - private final RuleCache ruleCache; private final ScmAccountCache scmAccountCache; private final SourceLinesCache linesCache; private final DiskCache<DefaultIssue>.DiskAppender diskIssuesAppender; - private final UserIndex userIndex; - private boolean hasAssigneeBeenComputed = false; - private String defaultAssignee = null; public IssueComputation(RuleCache ruleCache, SourceLinesCache linesCache, ScmAccountCache scmAccountCache, - IssueCache issueCache, UserIndex userIndex) { + IssueCache issueCache) { this.ruleCache = ruleCache; this.linesCache = linesCache; this.scmAccountCache = scmAccountCache; - this.userIndex = userIndex; this.diskIssuesAppender = issueCache.newAppender(); } public void processComponentIssues(ComputationContext context, String componentUuid, Iterable<BatchReport.Issue> issues) { linesCache.init(componentUuid); - computeDefaultAssignee(context.getProjectSettings().getString(CoreProperties.DEFAULT_ISSUE_ASSIGNEE)); for (BatchReport.Issue reportIssue : issues) { DefaultIssue issue = toDefaultIssue(context, componentUuid, reportIssue); if (issue.isNew()) { guessAuthor(issue); - autoAssign(issue, defaultAssignee); + autoAssign(issue); copyRuleTags(issue); } diskIssuesAppender.append(issue); @@ -125,7 +110,7 @@ public class IssueComputation { } } - private void autoAssign(DefaultIssue issue, @Nullable String defaultAssignee) { + private void autoAssign(DefaultIssue issue) { // issue.assignee() can be not-null if the issue-assign-plugin is // still installed and executed during analysis if (issue.assignee() == null) { @@ -133,9 +118,6 @@ public class IssueComputation { if (scmAccount != null) { issue.setAssignee(scmAccountCache.getNullable(scmAccount)); } - if (issue.assignee() == null && defaultAssignee != null) { - issue.setAssignee(defaultAssignee); - } } } @@ -144,19 +126,4 @@ public class IssueComputation { issue.setTags(Sets.union(rule.getTags(), rule.getSystemTags())); } - private void computeDefaultAssignee(@Nullable String login) { - if (hasAssigneeBeenComputed) { - return; - } - - hasAssigneeBeenComputed = true; - if (!Strings.isNullOrEmpty(login)) { - UserDoc user = userIndex.getNullableByLogin(login); - if (user == null) { - LOG.info("the {} property was set with an unknown login: {}", CoreProperties.DEFAULT_ISSUE_ASSIGNEE, login); - } else { - defaultAssignee = login; - } - } - } } diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/step/PurgeDatastoresStep.java b/server/sonar-server/src/main/java/org/sonar/server/computation/step/PurgeDatastoresStep.java index 8e9417f4626..d9fa522e40f 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/step/PurgeDatastoresStep.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/step/PurgeDatastoresStep.java @@ -47,7 +47,7 @@ public class PurgeDatastoresStep implements ComputationStep { public void execute(ComputationContext context) { DbSession session = dbClient.openSession(true); try { - projectCleaner.purge(session, new IdUuidPair(context.getProject().getId(), context.getProject().uuid()), context.getProjectSettings()); + projectCleaner.purge(session, new IdUuidPair(context.getProject().getId(), context.getProject().uuid())); session.commit(); } finally { MyBatis.closeQuietly(session); diff --git a/server/sonar-server/src/main/java/org/sonar/server/db/migrations/DatabaseMigrations.java b/server/sonar-server/src/main/java/org/sonar/server/db/migrations/DatabaseMigrations.java index f454013b2a1..6afedd0a1f6 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/db/migrations/DatabaseMigrations.java +++ b/server/sonar-server/src/main/java/org/sonar/server/db/migrations/DatabaseMigrations.java @@ -92,7 +92,7 @@ public interface DatabaseMigrations { FeedProjectMeasuresLongDates.class, FeedManualMeasuresLongDates.class, FeedEventsLongDates.class, - AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigration.class, + AddNewCharacteristics.class, RemovePermissionsOnModulesMigration.class ); } diff --git a/server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigration.java b/server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/AddNewCharacteristics.java index 7c5714413cb..9b66e70a07e 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigration.java +++ b/server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/AddNewCharacteristics.java @@ -31,7 +31,6 @@ import org.sonar.server.db.migrations.Select; import javax.annotation.CheckForNull; import javax.annotation.Nullable; - import java.sql.SQLException; import java.util.Date; import java.util.List; @@ -47,9 +46,9 @@ import java.util.List; * Before 4.3 the characteristics table contains requirements, then when selecting characteristics we should not forget to exclude them (with a filter on rule_id IS NULL) * */ -public class AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigration extends BaseDataChange { +public class AddNewCharacteristics extends BaseDataChange { - private static final Logger LOGGER = LoggerFactory.getLogger(AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigration.class); + private static final Logger LOGGER = LoggerFactory.getLogger(AddNewCharacteristics.class); private static final String COMPLIANCE_NAME = "Compliance"; private static final String COMPLIANCE_KEY_SUFFIX = "_COMPLIANCE"; @@ -62,7 +61,7 @@ public class AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigration private final System2 system; - public AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigration(Database db, System2 system) { + public AddNewCharacteristics(Database db, System2 system) { super(db); this.system = system; } diff --git a/server/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionService.java b/server/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionService.java index f28de356546..13b1897e2e9 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionService.java +++ b/server/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionService.java @@ -227,7 +227,7 @@ public class InternalPermissionService implements ServerComponent { } private Long getTargetedUser(DbSession session, String userLogin) { - UserDto user = dbClient.userDao().selectActiveUserByLogin(session, userLogin); + UserDto user = dbClient.userDao().selectActiveUserByLogin(userLogin, session); badRequestIfNullResult(user, OBJECT_TYPE_USER, userLogin); return user.getId(); } diff --git a/server/sonar-server/src/main/java/org/sonar/server/properties/ProjectSettingsFactory.java b/server/sonar-server/src/main/java/org/sonar/server/properties/ProjectSettingsFactory.java index e3b84813f30..3a9793e7fb9 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/properties/ProjectSettingsFactory.java +++ b/server/sonar-server/src/main/java/org/sonar/server/properties/ProjectSettingsFactory.java @@ -24,6 +24,7 @@ import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.Maps; import org.sonar.api.ServerComponent; import org.sonar.api.config.Settings; +import org.sonar.core.persistence.DbSession; import org.sonar.core.properties.PropertiesDao; import org.sonar.core.properties.PropertyDto; @@ -40,8 +41,8 @@ public class ProjectSettingsFactory implements ServerComponent { this.settings = settings; } - public Settings newProjectSettings(long projectId) { - List<PropertyDto> propertyList = dao.selectProjectProperties(projectId); + public Settings newProjectSettings(DbSession session, long projectId) { + List<PropertyDto> propertyList = dao.selectProjectProperties(projectId, session); return new ProjectSettings(settings, getPropertyMap(propertyList)); } diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java index 1b67325466a..0e0a7acb4ac 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java +++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileService.java @@ -232,7 +232,7 @@ public class QProfileService implements ServerComponent { String login = profileActivity.login(); if (login != null) { - UserDto user = db.userDao().selectActiveUserByLogin(session, login); + UserDto user = db.userDao().selectActiveUserByLogin(login, session); profileActivity.authorName(user != null ? user.getName() : null); } result.getHits().add(profileActivity); diff --git a/server/sonar-server/src/test/java/org/sonar/core/computation/dbcleaner/ProjectCleanerTest.java b/server/sonar-server/src/test/java/org/sonar/core/computation/dbcleaner/ProjectCleanerTest.java index c8fceca3a3d..d72ffb96335 100644 --- a/server/sonar-server/src/test/java/org/sonar/core/computation/dbcleaner/ProjectCleanerTest.java +++ b/server/sonar-server/src/test/java/org/sonar/core/computation/dbcleaner/ProjectCleanerTest.java @@ -55,22 +55,26 @@ public class ProjectCleanerTest { @Before public void before() throws Exception { this.projectSettingsFactory = mock(ProjectSettingsFactory.class); + when(projectSettingsFactory.newProjectSettings(any(DbSession.class), any(Long.class))).thenReturn(settings); - this.sut = new ProjectCleaner(dao, periodCleaner, profiler, purgeListener, issueIndex); + this.sut = new ProjectCleaner(dao, periodCleaner, profiler, purgeListener, projectSettingsFactory, issueIndex); } @Test public void no_profiling_when_property_is_false() throws Exception { settings.setProperty(CoreProperties.PROFILING_LOG_PROPERTY, false); + when(projectSettingsFactory.newProjectSettings(any(DbSession.class), any(Long.class))).thenReturn(settings); - sut.purge(mock(DbSession.class), mock(IdUuidPair.class), settings); + sut.purge(mock(DbSession.class), mock(IdUuidPair.class)); verify(profiler, never()).dump(anyLong(), any(Logger.class)); } @Test public void no_indexing_when_no_issue_to_delete() throws Exception { - sut.purge(mock(DbSession.class), mock(IdUuidPair.class), settings); + when(projectSettingsFactory.newProjectSettings(any(DbSession.class), any(Long.class))).thenReturn(settings); + + sut.purge(mock(DbSession.class), mock(IdUuidPair.class)); verifyZeroInteractions(issueIndex); } @@ -79,7 +83,7 @@ public class ProjectCleanerTest { public void profiling_when_property_is_true() throws Exception { settings.setProperty(CoreProperties.PROFILING_LOG_PROPERTY, true); - sut.purge(mock(DbSession.class), mock(IdUuidPair.class), settings); + sut.purge(mock(DbSession.class), mock(IdUuidPair.class)); verify(profiler).dump(anyLong(), any(Logger.class)); } @@ -88,7 +92,7 @@ public class ProjectCleanerTest { public void call_period_cleaner_index_client_and_purge_dao() throws Exception { settings.setProperty(DbCleanerConstants.DAYS_BEFORE_DELETING_CLOSED_ISSUES, 5); - sut.purge(mock(DbSession.class), mock(IdUuidPair.class), settings); + sut.purge(mock(DbSession.class), mock(IdUuidPair.class)); verify(periodCleaner).clean(any(DbSession.class), any(Long.class), any(Settings.class)); verify(dao).purge(any(DbSession.class), any(PurgeConfiguration.class), any(PurgeListener.class)); @@ -99,7 +103,7 @@ public class ProjectCleanerTest { public void if_dao_purge_fails_it_should_not_interrupt_program_execution() throws Exception { doThrow(RuntimeException.class).when(dao).purge(any(DbSession.class), any(PurgeConfiguration.class), any(PurgeListener.class)); - sut.purge(mock(DbSession.class), mock(IdUuidPair.class), settings); + sut.purge(mock(DbSession.class), mock(IdUuidPair.class)); verify(dao).purge(any(DbSession.class), any(PurgeConfiguration.class), any(PurgeListener.class)); } @@ -108,7 +112,7 @@ public class ProjectCleanerTest { public void if_profiler_cleaning_fails_it_should_not_interrupt_program_execution() throws Exception { doThrow(RuntimeException.class).when(periodCleaner).clean(any(DbSession.class), anyLong(), any(Settings.class)); - sut.purge(mock(DbSession.class), mock(IdUuidPair.class), settings); + sut.purge(mock(DbSession.class), mock(IdUuidPair.class)); verify(periodCleaner).clean(any(DbSession.class), anyLong(), any(Settings.class)); } diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/ComputationContextTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/ComputationContextTest.java deleted file mode 100644 index c9f07e3f1a4..00000000000 --- a/server/sonar-server/src/test/java/org/sonar/server/computation/ComputationContextTest.java +++ /dev/null @@ -1,44 +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.computation; - -import org.junit.Test; -import org.sonar.api.config.Settings; -import org.sonar.core.component.ComponentDto; -import org.sonar.core.computation.db.AnalysisReportDto; - -import static org.mockito.Mockito.mock; - -public class ComputationContextTest { - - ComputationContext sut = new ComputationContext(mock(AnalysisReportDto.class), mock(ComponentDto.class)); - - @Test(expected = IllegalStateException.class) - public void getReportMetadata() throws Exception { - sut.getReportMetadata(); - } - - @Test(expected = IllegalStateException.class) - public void setProjectSettings() throws Exception { - sut.setProjectSettings(mock(Settings.class)); - sut.setProjectSettings(mock(Settings.class)); - } -}
\ No newline at end of file diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/ComputationServiceTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/ComputationServiceTest.java index 5518adb9582..e983b901cef 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/computation/ComputationServiceTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/computation/ComputationServiceTest.java @@ -23,7 +23,6 @@ import org.apache.commons.lang.RandomStringUtils; import org.junit.Before; import org.junit.ClassRule; import org.junit.Test; -import org.mockito.Mockito; import org.sonar.api.resources.Qualifiers; import org.sonar.core.activity.Activity; import org.sonar.core.computation.db.AnalysisReportDto; @@ -34,7 +33,6 @@ import org.sonar.server.component.db.ComponentDao; import org.sonar.server.computation.step.ComputationStep; import org.sonar.server.computation.step.ComputationSteps; import org.sonar.server.db.DbClient; -import org.sonar.server.properties.ProjectSettingsFactory; import java.util.Arrays; @@ -68,7 +66,7 @@ public class ComputationServiceTest { when(steps.orderedSteps()).thenReturn(Arrays.asList(projectStep1, projectStep2, viewStep)); // load report from db and parse it - ComputationService sut = new ComputationService(dbClient, steps, activityService, mock(ProjectSettingsFactory.class, Mockito.RETURNS_DEEP_STUBS)); + ComputationService sut = new ComputationService(dbClient, steps, activityService); AnalysisReportDto report = AnalysisReportDto.newForTests(1L); report.setProjectKey("PROJECT_KEY"); assertThat(report.getStatus()).isNull(); @@ -94,7 +92,7 @@ public class ComputationServiceTest { doThrow(new UnsupportedOperationException()).when(projectStep1).execute(any(ComputationContext.class)); // load report from db and parse it - ComputationService sut = new ComputationService(dbClient, steps, activityService, mock(ProjectSettingsFactory.class, Mockito.RETURNS_DEEP_STUBS)); + ComputationService sut = new ComputationService(dbClient, steps, activityService); AnalysisReportDto report = AnalysisReportDto.newForTests(1L); report.setProjectKey("PROJECT_KEY"); try { diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/issue/IssueComputationTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/issue/IssueComputationTest.java index fcd90b2c4cd..93a8ee42290 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/computation/issue/IssueComputationTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/computation/issue/IssueComputationTest.java @@ -21,23 +21,18 @@ package org.sonar.server.computation.issue; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterators; -import org.junit.After; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; import org.mockito.Mockito; -import org.sonar.api.CoreProperties; import org.sonar.api.issue.Issue; import org.sonar.api.issue.internal.DefaultIssue; import org.sonar.api.rule.RuleKey; import org.sonar.api.utils.System2; -import org.sonar.api.utils.log.LogTester; import org.sonar.batch.protocol.output.BatchReport; import org.sonar.core.rule.RuleDto; import org.sonar.server.computation.ComputationContext; -import org.sonar.server.user.index.UserDoc; -import org.sonar.server.user.index.UserIndex; import java.io.IOException; import java.util.Arrays; @@ -52,9 +47,6 @@ public class IssueComputationTest { @Rule public TemporaryFolder temp = new TemporaryFolder(); - @Rule - public LogTester logTester = new LogTester(); - IssueComputation sut; // inputs @@ -67,8 +59,6 @@ public class IssueComputationTest { .setRuleRepository(RULE_KEY.repository()) .setRuleKey(RULE_KEY.rule()) .setStatus(Issue.STATUS_OPEN); - ComputationContext context = mock(ComputationContext.class, Mockito.RETURNS_DEEP_STUBS); - UserIndex userIndex = mock(UserIndex.class); // output IssueCache outputIssues; @@ -77,12 +67,7 @@ public class IssueComputationTest { public void setUp() throws IOException { when(ruleCache.get(RULE_KEY)).thenReturn(rule); outputIssues = new IssueCache(temp.newFile(), System2.INSTANCE); - sut = new IssueComputation(ruleCache, lineCache, scmAccountCache, outputIssues, userIndex); - } - - @After - public void after() throws Exception { - sut.afterReportProcessing(); + sut = new IssueComputation(ruleCache, lineCache, scmAccountCache, outputIssues); } @Test @@ -187,33 +172,8 @@ public class IssueComputationTest { verifyZeroInteractions(scmAccountCache); } - @Test - public void assign_default_assignee_when_available() throws Exception { - inputIssue.setIsNew(true); - String wolinski = "wolinski"; - when(context.getProjectSettings().getString(CoreProperties.DEFAULT_ISSUE_ASSIGNEE)).thenReturn(wolinski); - when(userIndex.getNullableByLogin(wolinski)).thenReturn(new UserDoc()); - - process(); - - assertThat(Iterators.getOnlyElement(outputIssues.traverse()).assignee()).isEqualTo(wolinski); - assertThat(logTester.logs()).doesNotContain(String.format("the %s property was set with an unknown login: %s", CoreProperties.DEFAULT_ISSUE_ASSIGNEE, wolinski)); - } - - @Test - public void do_not_assign_default_assignee_when_not_found_in_index() throws Exception { - inputIssue.setIsNew(true); - String wolinski = "wolinski"; - when(context.getProjectSettings().getString(CoreProperties.DEFAULT_ISSUE_ASSIGNEE)).thenReturn(wolinski); - when(userIndex.getNullableByLogin(wolinski)).thenReturn(null); - - process(); - - assertThat(Iterators.getOnlyElement(outputIssues.traverse()).assignee()).isNull(); - assertThat(logTester.logs()).contains(String.format("the %s property was set with an unknown login: %s", CoreProperties.DEFAULT_ISSUE_ASSIGNEE, wolinski)); - } - private void process() { - sut.processComponentIssues(context, "FILE_A", Arrays.asList(inputIssue.build())); + sut.processComponentIssues(mock(ComputationContext.class, Mockito.RETURNS_DEEP_STUBS), "FILE_A", Arrays.asList(inputIssue.build())); + sut.afterReportProcessing(); } } diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/step/ParseReportStepTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/step/ParseReportStepTest.java index 4470bcc2294..2d3c8204029 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/computation/step/ParseReportStepTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/computation/step/ParseReportStepTest.java @@ -24,8 +24,6 @@ import org.junit.ClassRule; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; -import org.mockito.Mockito; -import org.sonar.api.config.Settings; import org.sonar.api.utils.ZipUtils; import org.sonar.api.utils.internal.DefaultTempFolder; import org.sonar.batch.protocol.Constants; @@ -51,11 +49,11 @@ import static org.mockito.Mockito.verify; public class ParseReportStepTest { - @ClassRule - public static DbTester dbTester = new DbTester(); @Rule public TemporaryFolder temp = new TemporaryFolder(); - ParseReportStep sut; + + @ClassRule + public static DbTester dbTester = new DbTester(); @Before public void setUp() throws Exception { @@ -65,13 +63,13 @@ public class ParseReportStepTest { @Test public void extract_report_from_db_and_browse_components() throws Exception { AnalysisReportDto reportDto = prepareAnalysisReportInDb(); + + IssueComputation issueComputation = mock(IssueComputation.class); DbClient dbClient = new DbClient(dbTester.database(), dbTester.myBatis(), new AnalysisReportDao()); - sut = new ParseReportStep(issueComputation, dbClient, new DefaultTempFolder(temp.newFolder())); + ParseReportStep step = new ParseReportStep(issueComputation, dbClient, new DefaultTempFolder(temp.newFolder())); ComputationContext context = new ComputationContext(reportDto, mock(ComponentDto.class)); - context.setProjectSettings(mock(Settings.class, Mockito.RETURNS_DEEP_STUBS)); - - sut.execute(context); + step.execute(context); // verify that all components are processed (currently only for issues) verify(issueComputation).processComponentIssues(context, "PROJECT_UUID", Collections.<BatchReport.Issue>emptyList()); diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/step/PurgeDatastoresStepMediumTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/step/PurgeDatastoresStepMediumTest.java index 5cdd7ecc269..004265d841c 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/computation/step/PurgeDatastoresStepMediumTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/computation/step/PurgeDatastoresStepMediumTest.java @@ -24,7 +24,6 @@ import org.junit.After; import org.junit.Before; import org.junit.ClassRule; import org.junit.Test; -import org.sonar.api.config.Settings; import org.sonar.api.utils.DateUtils; import org.sonar.core.component.ComponentDto; import org.sonar.core.component.SnapshotDto; @@ -34,13 +33,11 @@ import org.sonar.core.computation.dbcleaner.DbCleanerConstants; import org.sonar.core.computation.dbcleaner.ProjectCleaner; import org.sonar.core.persistence.DbSession; import org.sonar.core.persistence.MyBatis; -import org.sonar.core.properties.PropertiesDao; import org.sonar.core.properties.PropertyDto; import org.sonar.server.component.ComponentTesting; import org.sonar.server.component.SnapshotTesting; import org.sonar.server.computation.ComputationContext; import org.sonar.server.db.DbClient; -import org.sonar.server.properties.ProjectSettingsFactory; import org.sonar.server.tester.ServerTester; import java.util.Date; @@ -98,7 +95,6 @@ public class PurgeDatastoresStepMediumTest { dbClient.propertiesDao().setProperty(new PropertyDto().setKey(DbCleanerConstants.WEEKS_BEFORE_DELETING_ALL_SNAPSHOTS).setValue("52")); dbSession.commit(); ComputationContext context = new ComputationContext(report, project); - context.setProjectSettings(new ProjectSettingsFactory(tester.get(Settings.class), tester.get(PropertiesDao.class)).newProjectSettings(project.getId())); // ACT sut.execute(context); @@ -137,7 +133,6 @@ public class PurgeDatastoresStepMediumTest { dbClient.propertiesDao().setProperty(new PropertyDto().setKey(DbCleanerConstants.WEEKS_BEFORE_DELETING_ALL_SNAPSHOTS).setValue("1").setResourceId(project.getId())); dbSession.commit(); ComputationContext context = new ComputationContext(report, project); - context.setProjectSettings(new ProjectSettingsFactory(tester.get(Settings.class), tester.get(PropertiesDao.class)).newProjectSettings(project.getId())); // ACT sut.execute(context); diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/step/PurgeDatastoresStepTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/step/PurgeDatastoresStepTest.java index 879bf0726da..a98bb1ddb00 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/computation/step/PurgeDatastoresStepTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/computation/step/PurgeDatastoresStepTest.java @@ -25,7 +25,6 @@ import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; import org.mockito.Mockito; -import org.sonar.api.config.Settings; import org.sonar.core.component.ComponentDto; import org.sonar.core.computation.db.AnalysisReportDto; import org.sonar.core.computation.dbcleaner.ProjectCleaner; @@ -63,6 +62,6 @@ public class PurgeDatastoresStepTest { sut.execute(context); - verify(projectCleaner).purge(any(DbSession.class), any(IdUuidPair.class), any(Settings.class)); + verify(projectCleaner).purge(any(DbSession.class), any(IdUuidPair.class)); } } diff --git a/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest.java b/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest.java index 012cf06fa4e..4bc2d86983c 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest.java @@ -33,10 +33,10 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -public class AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest { +public class AddNewCharacteristicsTest { @ClassRule - public static DbTester db = new DbTester().schema(AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest.class, "schema.sql"); + public static DbTester db = new DbTester().schema(AddNewCharacteristicsTest.class, "schema.sql"); DatabaseMigration migration; @@ -48,7 +48,7 @@ public class AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationT when(system.now()).thenReturn(DateUtils.parseDate("2015-02-15").getTime()); - migration = new AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigration(db.database(), system); + migration = new AddNewCharacteristics(db.database(), system); } @Test diff --git a/server/sonar-server/src/test/java/org/sonar/server/properties/ProjectSettingsFactoryTest.java b/server/sonar-server/src/test/java/org/sonar/server/properties/ProjectSettingsFactoryTest.java index 1ca4a8cc6d6..d894cf48f65 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/properties/ProjectSettingsFactoryTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/properties/ProjectSettingsFactoryTest.java @@ -24,6 +24,7 @@ import com.google.common.collect.Lists; import org.junit.Before; import org.junit.Test; import org.sonar.api.config.Settings; +import org.sonar.core.persistence.DbSession; import org.sonar.core.properties.PropertiesDao; import org.sonar.core.properties.PropertyDto; @@ -49,7 +50,7 @@ public class ProjectSettingsFactoryTest { @Test public void newProjectSettings_returns_a_ProjectSettings() throws Exception { - Settings projectSettings = sut.newProjectSettings(1L); + Settings projectSettings = sut.newProjectSettings(mock(DbSession.class), 1L); assertThat(projectSettings).isInstanceOf(ProjectSettings.class); } diff --git a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest/do_nothing_when_already_migrated.xml b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest/do_nothing_when_already_migrated.xml index b8ff37c389e..b8ff37c389e 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest/do_nothing_when_already_migrated.xml +++ b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest/do_nothing_when_already_migrated.xml diff --git a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest/empty.xml b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest/empty.xml index 871dedcb5e9..871dedcb5e9 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest/empty.xml +++ b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest/empty.xml diff --git a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest/fail_if_compliance_already_exists_as_characteristic.xml b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest/fail_if_compliance_already_exists_as_characteristic.xml index 1f2f39bdbef..1f2f39bdbef 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest/fail_if_compliance_already_exists_as_characteristic.xml +++ b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest/fail_if_compliance_already_exists_as_characteristic.xml diff --git a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest/fail_if_compliance_already_exists_under_wrong_characteristic.xml b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest/fail_if_compliance_already_exists_under_wrong_characteristic.xml index 3dbfebd4153..3dbfebd4153 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest/fail_if_compliance_already_exists_under_wrong_characteristic.xml +++ b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest/fail_if_compliance_already_exists_under_wrong_characteristic.xml diff --git a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest/fail_if_usability_exists_as_sub_characteristic.xml b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest/fail_if_usability_exists_as_sub_characteristic.xml index 70016cc2d9d..70016cc2d9d 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest/fail_if_usability_exists_as_sub_characteristic.xml +++ b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest/fail_if_usability_exists_as_sub_characteristic.xml diff --git a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest/insert_usability_at_the_top_if_security_does_exists-result.xml b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest/insert_usability_at_the_top_if_security_does_exists-result.xml index 4f596203e6d..4f596203e6d 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest/insert_usability_at_the_top_if_security_does_exists-result.xml +++ b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest/insert_usability_at_the_top_if_security_does_exists-result.xml diff --git a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest/insert_usability_at_the_top_if_security_does_exists.xml b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest/insert_usability_at_the_top_if_security_does_exists.xml index 7ab9a9726ac..7ab9a9726ac 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest/insert_usability_at_the_top_if_security_does_exists.xml +++ b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest/insert_usability_at_the_top_if_security_does_exists.xml diff --git a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest/migrate-result.xml b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest/migrate-result.xml index 91f1c6ab778..91f1c6ab778 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest/migrate-result.xml +++ b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest/migrate-result.xml diff --git a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest/migrate.xml b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest/migrate.xml index 2d92c7cc413..2d92c7cc413 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest/migrate.xml +++ b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest/migrate.xml diff --git a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest/not_fail_if_some_deprecated_requirements_still_exists_in_db.xml b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest/not_fail_if_some_deprecated_requirements_still_exists_in_db.xml index 6953f5230bb..6953f5230bb 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest/not_fail_if_some_deprecated_requirements_still_exists_in_db.xml +++ b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest/not_fail_if_some_deprecated_requirements_still_exists_in_db.xml diff --git a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest/schema.sql b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest/schema.sql index 98c025def6b..98c025def6b 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest/schema.sql +++ b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest/schema.sql diff --git a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest/update_usability_if_already_exists-result.xml b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest/update_usability_if_already_exists-result.xml index 1b12df0872e..1b12df0872e 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest/update_usability_if_already_exists-result.xml +++ b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest/update_usability_if_already_exists-result.xml diff --git a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest/update_usability_if_already_exists.xml b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest/update_usability_if_already_exists.xml index 33d901de062..33d901de062 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigrationTest/update_usability_if_already_exists.xml +++ b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/AddNewCharacteristicsTest/update_usability_if_already_exists.xml diff --git a/server/sonar-web/pom.xml b/server/sonar-web/pom.xml index bbb9f202700..d5b9865076f 100644 --- a/server/sonar-web/pom.xml +++ b/server/sonar-web/pom.xml @@ -4,7 +4,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>server</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> <relativePath>..</relativePath> </parent> <artifactId>sonar-web</artifactId> diff --git a/server/sonar-web/src/main/hbs/issues/issues-workspace-header.hbs b/server/sonar-web/src/main/hbs/issues/issues-workspace-header.hbs index 57e412339db..4b4958fd1d1 100644 --- a/server/sonar-web/src/main/hbs/issues/issues-workspace-header.hbs +++ b/server/sonar-web/src/main/hbs/issues/issues-workspace-header.hbs @@ -1,4 +1,4 @@ -<div class="issues-header-component"> +<div class="issues-header-component nowrap"> {{#if state.component}} <a class="js-back">{{t 'issues.return_to_list'}}</a> diff --git a/server/sonar-web/src/main/js/source-viewer/measures-overlay.js b/server/sonar-web/src/main/js/source-viewer/measures-overlay.js index 77abd254563..5887c20af28 100644 --- a/server/sonar-web/src/main/js/source-viewer/measures-overlay.js +++ b/server/sonar-web/src/main/js/source-viewer/measures-overlay.js @@ -94,12 +94,15 @@ define([ metrics = _.filter(metrics, function (metric) { return metric.value != null; }); - return _.map(_.pairs(_.groupBy(metrics, 'domain')), function (domain) { - return { - name: domain[0], - metrics: domain[1] - }; - }); + return _.sortBy( + _.map(_.pairs(_.groupBy(metrics, 'domain')), function (domain) { + return { + name: domain[0], + metrics: domain[1] + }; + }), + 'name' + ); }, @@ -125,6 +128,7 @@ define([ measures: measures, measuresToDisplay: that.prepareMetrics(metrics) }); + console.log(that.model.get('measuresToDisplay')); }); }, diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/models/project_measure.rb b/server/sonar-web/src/main/webapp/WEB-INF/app/models/project_measure.rb index 98af92f1321..d6aad6e798b 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/app/models/project_measure.rb +++ b/server/sonar-web/src/main/webapp/WEB-INF/app/models/project_measure.rb @@ -37,12 +37,12 @@ class ProjectMeasure < ActiveRecord::Base Metric.by_id(metric_id) end end - + def metric=(m) @metric = m write_attribute(:metric_id, m.id) if m.id end - + def rule_measure? rule_id || rule_priority end @@ -119,6 +119,8 @@ class ProjectMeasure < ActiveRecord::Base millisecs_formatted_value(val) when Metric::VALUE_TYPE_WORK_DUR work_duration_formatted_value(val) + when Metric::VALUE_TYPE_RATING + number_with_precision(val, :precision => 0) else val.to_s end @@ -252,7 +254,7 @@ class ProjectMeasure < ActiveRecord::Base metric_key end end - + def metric_key metric ? metric.name : nil end diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/views/users/_create_form.html.erb b/server/sonar-web/src/main/webapp/WEB-INF/app/views/users/_create_form.html.erb index b0bd112c40d..f0821948851 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/app/views/users/_create_form.html.erb +++ b/server/sonar-web/src/main/webapp/WEB-INF/app/views/users/_create_form.html.erb @@ -50,8 +50,8 @@ <script> $j("#user_create_form").modalForm(); - $j('#user_create_form .delete').click(function () { - $j(this).parents('.scm_account').remove(); + $j('#user_create_form').on('click', '.delete', function () { + $j(this).closest('.scm_account').remove(); return false; }); diff --git a/server/sonar-web/src/main/webapp/WEB-INF/db/migrate/794_add_characteristic_usability_and_sub_characteristics_compliance.rb b/server/sonar-web/src/main/webapp/WEB-INF/db/migrate/794_add_characteristic_usability_and_sub_characteristics_compliance.rb index 4c65c3c3864..3637819ad25 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/db/migrate/794_add_characteristic_usability_and_sub_characteristics_compliance.rb +++ b/server/sonar-web/src/main/webapp/WEB-INF/db/migrate/794_add_characteristic_usability_and_sub_characteristics_compliance.rb @@ -25,7 +25,7 @@ class AddCharacteristicUsabilityAndSubCharacteristicsCompliance < ActiveRecord::Migration def self.up - execute_java_migration 'org.sonar.server.db.migrations.v51.AddCharacteristicUsabilityAndSubCharacteristicsComplianceMigration' + execute_java_migration 'org.sonar.server.db.migrations.v51.AddNewCharacteristics' end end diff --git a/server/sonar-ws-client/pom.xml b/server/sonar-ws-client/pom.xml index 7f66d5e21c4..ca2fa7225b0 100644 --- a/server/sonar-ws-client/pom.xml +++ b/server/sonar-ws-client/pom.xml @@ -4,7 +4,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>server</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> <relativePath>..</relativePath> </parent> <artifactId>sonar-ws-client</artifactId> diff --git a/sonar-application/pom.xml b/sonar-application/pom.xml index a3c86e4a37b..44133ea12a0 100644 --- a/sonar-application/pom.xml +++ b/sonar-application/pom.xml @@ -5,7 +5,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> </parent> <artifactId>sonar-application</artifactId> diff --git a/sonar-batch-maven-compat/pom.xml b/sonar-batch-maven-compat/pom.xml index dc5c18efd3a..b79d22382eb 100644 --- a/sonar-batch-maven-compat/pom.xml +++ b/sonar-batch-maven-compat/pom.xml @@ -5,7 +5,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> </parent> <artifactId>sonar-batch-maven-compat</artifactId> diff --git a/sonar-batch-protocol/pom.xml b/sonar-batch-protocol/pom.xml index 6dc19b488e3..343d707f094 100644 --- a/sonar-batch-protocol/pom.xml +++ b/sonar-batch-protocol/pom.xml @@ -4,7 +4,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> </parent> <artifactId>sonar-batch-protocol</artifactId> diff --git a/sonar-batch/pom.xml b/sonar-batch/pom.xml index f199b70343a..7d1559266c3 100644 --- a/sonar-batch/pom.xml +++ b/sonar-batch/pom.xml @@ -4,7 +4,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> </parent> <artifactId>sonar-batch</artifactId> diff --git a/sonar-check-api/pom.xml b/sonar-check-api/pom.xml index af8aae840d0..8fa9d2d9b62 100644 --- a/sonar-check-api/pom.xml +++ b/sonar-check-api/pom.xml @@ -4,7 +4,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> <relativePath>..</relativePath> </parent> <artifactId>sonar-check-api</artifactId> diff --git a/sonar-colorizer/pom.xml b/sonar-colorizer/pom.xml index 19ff87b1503..e5ced4532a2 100644 --- a/sonar-colorizer/pom.xml +++ b/sonar-colorizer/pom.xml @@ -5,7 +5,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> <relativePath>..</relativePath> </parent> diff --git a/sonar-core/pom.xml b/sonar-core/pom.xml index 98cc5cb0017..3682bc1fb64 100644 --- a/sonar-core/pom.xml +++ b/sonar-core/pom.xml @@ -5,7 +5,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> </parent> <artifactId>sonar-core</artifactId> diff --git a/sonar-core/src/main/java/org/sonar/core/config/CorePropertyDefinitions.java b/sonar-core/src/main/java/org/sonar/core/config/CorePropertyDefinitions.java index dafff170cb8..97977cd2162 100644 --- a/sonar-core/src/main/java/org/sonar/core/config/CorePropertyDefinitions.java +++ b/sonar-core/src/main/java/org/sonar/core/config/CorePropertyDefinitions.java @@ -60,16 +60,6 @@ public class CorePropertyDefinitions { .subCategory(CoreProperties.SUBCATEGORY_LOOKNFEEL) .build(), - // ISSUES - PropertyDefinition.builder(CoreProperties.DEFAULT_ISSUE_ASSIGNEE) - .name("Default Assignee") - .description("Login assigned to a new issue if an assignee has not been found.") - .category(CoreProperties.CATEGORY_GENERAL) - .subCategory(CoreProperties.SUBCATEGORY_ISSUES) - .onQualifiers(Qualifiers.PROJECT) - .type(PropertyType.STRING) - .build(), - // BATCH PropertyDefinition.builder(CoreProperties.CORE_VIOLATION_LOCALE_PROPERTY) @@ -163,7 +153,7 @@ public class CorePropertyDefinitions { .subCategory(CoreProperties.SUBCATEGORY_DUPLICATIONS_EXCLUSIONS) .multiValues(true) .build() - )); + )); return defs; } } diff --git a/sonar-core/src/main/java/org/sonar/core/user/UserDao.java b/sonar-core/src/main/java/org/sonar/core/user/UserDao.java index 97f7e6a26cd..0cff129eb8a 100644 --- a/sonar-core/src/main/java/org/sonar/core/user/UserDao.java +++ b/sonar-core/src/main/java/org/sonar/core/user/UserDao.java @@ -68,21 +68,20 @@ public class UserDao implements BatchComponent, ServerComponent, DaoComponent { public UserDto selectActiveUserByLogin(String login) { DbSession session = mybatis.openSession(false); try { - return selectActiveUserByLogin(session, login); + return selectActiveUserByLogin(login, session); } finally { MyBatis.closeQuietly(session); } } - @CheckForNull - public UserDto selectActiveUserByLogin(DbSession session, String login) { + public UserDto selectActiveUserByLogin(String login, DbSession session) { UserMapper mapper = session.getMapper(UserMapper.class); return mapper.selectUserByLogin(login); } public List<UserDto> selectUsersByLogins(List<String> logins) { List<UserDto> users = Lists.newArrayList(); - DbSession session = mybatis.openSession(false); + SqlSession session = mybatis.openSession(false); try { users.addAll(selectUsersByLogins(session, logins)); } finally { @@ -91,7 +90,7 @@ public class UserDao implements BatchComponent, ServerComponent, DaoComponent { return users; } - public List<UserDto> selectUsersByLogins(DbSession session, List<String> logins) { + public List<UserDto> selectUsersByLogins(SqlSession session, List<String> logins) { List<UserDto> users = Lists.newArrayList(); if (!logins.isEmpty()) { UserMapper mapper = session.getMapper(UserMapper.class); diff --git a/sonar-core/src/main/resources/org/sonar/l10n/core.properties b/sonar-core/src/main/resources/org/sonar/l10n/core.properties index 90cde500ab3..818f275957d 100644 --- a/sonar-core/src/main/resources/org/sonar/l10n/core.properties +++ b/sonar-core/src/main/resources/org/sonar/l10n/core.properties @@ -978,7 +978,6 @@ property.category.general.differentialViews=Differential Views property.category.general.localization=Localization property.category.general.databaseCleaner=Database Cleaner property.category.general.looknfeel=Look & Feel -property.category.general.issues=Issues property.category.security=Security property.category.security.encryption=Encryption property.category.java=Java diff --git a/sonar-deprecated/pom.xml b/sonar-deprecated/pom.xml index d6d933204ac..9b856c20605 100644 --- a/sonar-deprecated/pom.xml +++ b/sonar-deprecated/pom.xml @@ -4,7 +4,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> </parent> <artifactId>sonar-deprecated</artifactId> <name>SonarQube :: Deprecated</name> diff --git a/sonar-duplications/pom.xml b/sonar-duplications/pom.xml index 56dc0fec83b..66aac795498 100644 --- a/sonar-duplications/pom.xml +++ b/sonar-duplications/pom.xml @@ -4,7 +4,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> </parent> <artifactId>sonar-duplications</artifactId> diff --git a/sonar-graph/pom.xml b/sonar-graph/pom.xml index 1acc1c390be..18c8612f3c8 100644 --- a/sonar-graph/pom.xml +++ b/sonar-graph/pom.xml @@ -4,7 +4,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> <relativePath>..</relativePath> </parent> <artifactId>sonar-graph</artifactId> diff --git a/sonar-home/pom.xml b/sonar-home/pom.xml index 4acab99b362..55127f8dd4f 100644 --- a/sonar-home/pom.xml +++ b/sonar-home/pom.xml @@ -5,7 +5,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> </parent> <artifactId>sonar-home</artifactId> diff --git a/sonar-java-api/pom.xml b/sonar-java-api/pom.xml index c250188556e..4a3647c8938 100644 --- a/sonar-java-api/pom.xml +++ b/sonar-java-api/pom.xml @@ -4,7 +4,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> </parent> <artifactId>sonar-java-api</artifactId> <name>SonarQube :: Java API</name> diff --git a/sonar-markdown/pom.xml b/sonar-markdown/pom.xml index c653230d96e..8883090bc1a 100644 --- a/sonar-markdown/pom.xml +++ b/sonar-markdown/pom.xml @@ -5,7 +5,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> <relativePath>..</relativePath> </parent> diff --git a/sonar-maven-plugin/pom.xml b/sonar-maven-plugin/pom.xml index 95781fcdb63..49ee7be17e7 100644 --- a/sonar-maven-plugin/pom.xml +++ b/sonar-maven-plugin/pom.xml @@ -4,7 +4,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> </parent> <artifactId>sonar-maven-plugin</artifactId> <packaging>maven-plugin</packaging> diff --git a/sonar-maven3-plugin/pom.xml b/sonar-maven3-plugin/pom.xml index fe3fca77dff..fb3083f24b6 100644 --- a/sonar-maven3-plugin/pom.xml +++ b/sonar-maven3-plugin/pom.xml @@ -4,7 +4,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> </parent> <artifactId>sonar-maven3-plugin</artifactId> <packaging>pom</packaging> diff --git a/sonar-plugin-api/pom.xml b/sonar-plugin-api/pom.xml index c8ad930e776..3bb3de8f2e1 100644 --- a/sonar-plugin-api/pom.xml +++ b/sonar-plugin-api/pom.xml @@ -5,7 +5,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> </parent> <artifactId>sonar-plugin-api</artifactId> diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/CoreProperties.java b/sonar-plugin-api/src/main/java/org/sonar/api/CoreProperties.java index 39d28c1b8cc..1df01833ae5 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/CoreProperties.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/CoreProperties.java @@ -60,11 +60,6 @@ public interface CoreProperties { String SUBCATEGORY_LOOKNFEEL = "looknfeel"; /** - * @since 5.1 - */ - String SUBCATEGORY_ISSUES = "issues"; - - /** * @since 4.0 */ String SUBCATEGORY_L10N = "localization"; @@ -569,9 +564,4 @@ public interface CoreProperties { */ String IMPORT_UNKNOWN_FILES_KEY = "sonar.import_unknown_files"; - /** - * @since 5.1 - */ - String DEFAULT_ISSUE_ASSIGNEE = "sonar.issues.defaultAssigneeLogin"; - } diff --git a/sonar-testing-harness/pom.xml b/sonar-testing-harness/pom.xml index a0af4198337..e646ec13a93 100644 --- a/sonar-testing-harness/pom.xml +++ b/sonar-testing-harness/pom.xml @@ -4,7 +4,7 @@ <parent> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar</artifactId> - <version>5.2-SNAPSHOT</version> + <version>5.1-SNAPSHOT</version> </parent> <artifactId>sonar-testing-harness</artifactId> <packaging>jar</packaging> |