diff options
author | Jenkins CI <ci@sonarsource.com> | 2015-03-05 11:40:59 +0100 |
---|---|---|
committer | Jenkins CI <ci@sonarsource.com> | 2015-03-05 11:40:59 +0100 |
commit | 7e2f105666f4fc4acb59200114a950e789aa35c9 (patch) | |
tree | b233b2f33d658f0341ca43323edf42bdf620c964 /server | |
parent | 3c72e0846eca5fda4600f5f1068a6c8f786d7f0e (diff) | |
parent | c2681dbce1c7a81d41dd7f28b4f93cb031d09994 (diff) | |
download | sonarqube-7e2f105666f4fc4acb59200114a950e789aa35c9.tar.gz sonarqube-7e2f105666f4fc4acb59200114a950e789aa35c9.zip |
Automatic merge from master
* origin/master:
SONAR-5884 update coverage tooltips
Fix quality flaws
Fix indexing of issues -> mix functional and technical dates
SONAR-4624 Add "won't fix" in the Administer Issues permission
SONAR-6055 Embed latest Java 3.0 plugin and stop embedding Findbugs Plugin
Diffstat (limited to 'server')
12 files changed, 34 insertions, 19 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/activity/Activity.java b/server/sonar-server/src/main/java/org/sonar/server/activity/Activity.java index f0a50a40c5e..ff9a5a2d145 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/activity/Activity.java +++ b/server/sonar-server/src/main/java/org/sonar/server/activity/Activity.java @@ -19,6 +19,7 @@ */ package org.sonar.server.activity; +import javax.annotation.CheckForNull; import javax.annotation.Nullable; import java.util.LinkedHashMap; @@ -51,6 +52,7 @@ public class Activity { this.action = action; } + @CheckForNull public String getMessage() { return message; } diff --git a/server/sonar-server/src/main/java/org/sonar/server/activity/index/ActivityDoc.java b/server/sonar-server/src/main/java/org/sonar/server/activity/index/ActivityDoc.java index 46e122bae51..c0472856ada 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/activity/index/ActivityDoc.java +++ b/server/sonar-server/src/main/java/org/sonar/server/activity/index/ActivityDoc.java @@ -67,7 +67,7 @@ public class ActivityDoc extends BaseDoc { } public String getType() { - return ((String) getField(ActivityIndexDefinition.FIELD_TYPE)); + return (String) getField(ActivityIndexDefinition.FIELD_TYPE); } public void setType(String s) { @@ -83,9 +83,8 @@ public class ActivityDoc extends BaseDoc { setField(ActivityIndexDefinition.FIELD_ACTION, s); } - @CheckForNull public Map<String, String> getDetails() { - return this.getNullableField(ActivityIndexDefinition.FIELD_DETAILS); + return this.getField(ActivityIndexDefinition.FIELD_DETAILS); } public void setDetails(Map<String, String> details) { @@ -101,6 +100,7 @@ public class ActivityDoc extends BaseDoc { setField(ActivityIndexDefinition.FIELD_MESSAGE, s); } + @Override public String toString() { return ReflectionToStringBuilder.toString(this); } diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/step/ParseReportStep.java b/server/sonar-server/src/main/java/org/sonar/server/computation/step/ParseReportStep.java index a72ec16fce2..c9a8c173b23 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/step/ParseReportStep.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/step/ParseReportStep.java @@ -26,6 +26,8 @@ import org.sonar.batch.protocol.output.BatchReportReader; import org.sonar.server.computation.ComputationContext; import org.sonar.server.computation.issue.IssueComputation; +import java.util.List; + public class ParseReportStep implements ComputationStep { private final IssueComputation issueComputation; @@ -50,12 +52,10 @@ public class ParseReportStep implements ComputationStep { private void recursivelyProcessComponent(ComputationContext context, int componentRef) { BatchReportReader reportReader = context.getReportReader(); BatchReport.Component component = reportReader.readComponent(componentRef); - if (component != null) { - Iterable<BatchReport.Issue> issues = reportReader.readComponentIssues(componentRef); - issueComputation.processComponentIssues(context, component.getUuid(), issues); - for (Integer childRef : component.getChildRefsList()) { - recursivelyProcessComponent(context, childRef); - } + List<BatchReport.Issue> issues = reportReader.readComponentIssues(componentRef); + issueComputation.processComponentIssues(context, component.getUuid(), issues); + for (Integer childRef : component.getChildRefsList()) { + recursivelyProcessComponent(context, childRef); } } diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueDoc.java b/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueDoc.java index fdfedca9850..efbe0b67abe 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueDoc.java +++ b/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueDoc.java @@ -311,6 +311,10 @@ public class IssueDoc extends BaseDoc implements Issue { return this; } + public Date getTechnicalUpdateDate() { + return getFieldAsDate(IssueIndexDefinition.FIELD_ISSUE_TECHNICAL_UPDATED_AT); + } + public IssueDoc setTechnicalUpdateDate(@Nullable Date d) { setField(IssueIndexDefinition.FIELD_ISSUE_TECHNICAL_UPDATED_AT, d); return this; diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueIndexer.java b/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueIndexer.java index 011bcc1d7de..84420be5d48 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueIndexer.java +++ b/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueIndexer.java @@ -82,7 +82,7 @@ public class IssueIndexer extends BaseIndexer { bulk.add(newUpsertRequest(issue)); // it's more efficient to sort programmatically than in SQL on some databases (MySQL for instance) - maxDate = Math.max(maxDate, issue.updateDate().getTime()); + maxDate = Math.max(maxDate, issue.getTechnicalUpdateDate().getTime()); } bulk.stop(); return maxDate; diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileActivityQuery.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileActivityQuery.java index 5cce6da31fe..fd41cdd86b4 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileActivityQuery.java +++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileActivityQuery.java @@ -42,7 +42,9 @@ public class QProfileActivityQuery extends ActivityQuery { } public QProfileActivityQuery setQprofileKey(@Nullable String qprofileKey) { - addDataOrFilter("profileKey", qprofileKey); + if (qprofileKey != null) { + addDataOrFilter("profileKey", qprofileKey); + } return this; } } 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 e1181ad42b0..b2e8f78452a 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 @@ -32,7 +32,7 @@ import org.sonar.api.utils.ZipUtils; import org.sonar.api.utils.internal.JUnitTempFolder; import org.sonar.api.utils.log.LogTester; import org.sonar.api.utils.log.LoggerLevel; -import org.sonar.batch.protocol.output.BatchOutputWriter; +import org.sonar.batch.protocol.output.BatchReportWriter; import org.sonar.batch.protocol.output.BatchReport; import org.sonar.core.computation.db.AnalysisReportDto; import org.sonar.core.persistence.DbTester; @@ -162,7 +162,7 @@ public class ComputationServiceTest { private File generateZip() throws IOException { File dir = tempFolder.newDir(); - BatchOutputWriter writer = new BatchOutputWriter(dir); + BatchReportWriter writer = new BatchReportWriter(dir); writer.writeMetadata(BatchReport.Metadata.newBuilder() .setRootComponentRef(1) .setProjectKey("PROJECT_KEY") 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 43efce0022e..d12664859de 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 @@ -28,7 +28,7 @@ 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; -import org.sonar.batch.protocol.output.BatchOutputWriter; +import org.sonar.batch.protocol.output.BatchReportWriter; import org.sonar.batch.protocol.output.BatchReport; import org.sonar.batch.protocol.output.BatchReportReader; import org.sonar.core.component.ComponentDto; @@ -82,7 +82,7 @@ public class ParseReportStepTest extends BaseStepTest { private File generateReport() throws IOException { File dir = temp.newFolder(); // project and 2 files - BatchOutputWriter writer = new BatchOutputWriter(dir); + BatchReportWriter writer = new BatchReportWriter(dir); writer.writeMetadata(BatchReport.Metadata.newBuilder() .setRootComponentRef(1) .setProjectKey("PROJECT_KEY") diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/index/IssueIndexerTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/index/IssueIndexerTest.java index f32df80aa98..03c7bbb8fc3 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/issue/index/IssueIndexerTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/issue/index/IssueIndexerTest.java @@ -84,6 +84,12 @@ public class IssueIndexerTest { assertThat(doc.severity()).isEqualTo("BLOCKER"); assertThat(doc.ruleKey()).isEqualTo(RuleKey.of("squid", "AvoidCycles")); + // functional date + assertThat(doc.updateDate().getTime()).isEqualTo(1368828000000L); + + // technical date + assertThat(doc.getTechnicalUpdateDate().getTime()).isEqualTo(1550000000000L); + // delete project indexer.deleteProject("THE_PROJECT", true); diff --git a/server/sonar-server/src/test/resources/org/sonar/server/issue/index/IssueIndexerTest/index.xml b/server/sonar-server/src/test/resources/org/sonar/server/issue/index/IssueIndexerTest/index.xml index 4b946cdf306..d7e82dde47c 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/issue/index/IssueIndexerTest/index.xml +++ b/server/sonar-server/src/test/resources/org/sonar/server/issue/index/IssueIndexerTest/index.xml @@ -27,8 +27,8 @@ reporter="[null]" issue_attributes="JIRA=http://jira.com" action_plan_key="[null]" - created_at="1000000000" - updated_at="2000000000" + created_at="1500000000000" + updated_at="1550000000000" issue_creation_date="1115848800000" issue_update_date="1368828000000" issue_close_date="[null]" diff --git a/server/sonar-web/src/main/hbs/source-viewer/source-viewer-coverage-popup.hbs b/server/sonar-web/src/main/hbs/source-viewer/source-viewer-coverage-popup.hbs index cea9ae48f3c..df7cfc0388a 100644 --- a/server/sonar-web/src/main/hbs/source-viewer/source-viewer-coverage-popup.hbs +++ b/server/sonar-web/src/main/hbs/source-viewer/source-viewer-coverage-popup.hbs @@ -1,12 +1,12 @@ <div class="bubble-popup-container"> <div class="bubble-popup-title"> {{#if row.lineHits}} - {{t 'source_viewer.covered'}} + {{t 'source_viewer' tests 'covered'}} {{#if row.conditions}} ({{default row.coveredConditions 0}} of {{row.conditions}} {{t 'source_viewer.conditions'}}) {{/if}} {{else}} - {{t 'source_viewer.not_covered'}} + {{t 'source_viewer' tests 'not_covered'}} {{#if row.conditions}} ({{row.conditions}} {{t 'source_viewer.conditions'}}) {{/if}} diff --git a/server/sonar-web/src/main/js/source-viewer/popups/coverage-popup.js b/server/sonar-web/src/main/js/source-viewer/popups/coverage-popup.js index 593b9f1d1d1..96afb6ff4ed 100644 --- a/server/sonar-web/src/main/js/source-viewer/popups/coverage-popup.js +++ b/server/sonar-web/src/main/js/source-viewer/popups/coverage-popup.js @@ -60,6 +60,7 @@ define([ }); return { testFiles: testFiles, + tests: this.options.tests, row: row }; } |