aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-core
diff options
context:
space:
mode:
authorTeryk Bellahsene <teryk.bellahsene@sonarsource.com>2014-10-16 18:54:04 +0200
committerTeryk Bellahsene <teryk.bellahsene@sonarsource.com>2014-10-17 08:03:13 +0200
commit355f95210c925739cfbbe0ca311154ac32c8ae24 (patch)
treeb7bee97b1ac05c8b0383ac7e265aafd24c3f295c /sonar-core
parent84616cfd5adbc2836343585bf5641fe3938acb4d (diff)
downloadsonarqube-355f95210c925739cfbbe0ca311154ac32c8ae24.tar.gz
sonarqube-355f95210c925739cfbbe0ca311154ac32c8ae24.zip
SONAR-5694: Keep history of analysis reports
Diffstat (limited to 'sonar-core')
-rw-r--r--sonar-core/src/main/java/org/sonar/core/activity/Activity.java8
-rw-r--r--sonar-core/src/main/java/org/sonar/core/computation/db/AnalysisReportDto.java23
2 files changed, 26 insertions, 5 deletions
diff --git a/sonar-core/src/main/java/org/sonar/core/activity/Activity.java b/sonar-core/src/main/java/org/sonar/core/activity/Activity.java
index 994aebbd339..c5ede01df71 100644
--- a/sonar-core/src/main/java/org/sonar/core/activity/Activity.java
+++ b/sonar-core/src/main/java/org/sonar/core/activity/Activity.java
@@ -27,10 +27,6 @@ import java.util.Map;
*/
public interface Activity {
- public static enum Type {
- NONE, QPROFILE, SERVER
- }
-
Type type();
String action();
@@ -43,4 +39,8 @@ public interface Activity {
String message();
+ public static enum Type {
+ NONE, QPROFILE, SERVER, ANALYSIS_REPORT
+ }
+
}
diff --git a/sonar-core/src/main/java/org/sonar/core/computation/db/AnalysisReportDto.java b/sonar-core/src/main/java/org/sonar/core/computation/db/AnalysisReportDto.java
index 6675a054b56..9cd661a08fa 100644
--- a/sonar-core/src/main/java/org/sonar/core/computation/db/AnalysisReportDto.java
+++ b/sonar-core/src/main/java/org/sonar/core/computation/db/AnalysisReportDto.java
@@ -20,10 +20,14 @@
package org.sonar.core.computation.db;
import com.google.common.annotations.VisibleForTesting;
+import com.google.common.base.Objects;
import org.sonar.core.persistence.Dto;
import javax.annotation.Nullable;
+import static org.sonar.core.computation.db.AnalysisReportDto.Status.FAILED;
+import static org.sonar.core.computation.db.AnalysisReportDto.Status.SUCCESS;
+
public class AnalysisReportDto extends Dto<String> {
private Long id;
@@ -62,6 +66,14 @@ public class AnalysisReportDto extends Dto<String> {
return this;
}
+ public void fail() {
+ this.status = FAILED;
+ }
+
+ public void succeed() {
+ this.status = SUCCESS;
+ }
+
public String getData() {
return data;
}
@@ -82,6 +94,11 @@ public class AnalysisReportDto extends Dto<String> {
@Override
public String toString() {
+ Objects.toStringHelper(this)
+ .add("id", getId())
+ .add("projectKey", getProjectKey())
+ .add("projectName", getProjectName())
+ .add("status", getStatus());
return String.format("analysis report {id:%s;project:'%s'}", getId(), getProjectKey());
}
@@ -95,6 +112,10 @@ public class AnalysisReportDto extends Dto<String> {
}
public enum Status {
- PENDING, WORKING
+ PENDING, WORKING, SUCCESS, FAILED;
+
+ public boolean isInFinalState() {
+ return SUCCESS.equals(this) || FAILED.equals(this);
+ }
}
}