aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-core/src
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@gmail.com>2013-05-29 14:27:15 +0200
committerJulien Lancelot <julien.lancelot@gmail.com>2013-05-29 14:27:15 +0200
commit2538e39457098a5ceec1dc59f4f79eeadb6fb121 (patch)
treed5c43697c412feb4b239db40bf6e7c623a20523d /sonar-core/src
parent08a92cd8bf7b77522b8c769b69e4354d2949d2ca (diff)
downloadsonarqube-2538e39457098a5ceec1dc59f4f79eeadb6fb121.tar.gz
sonarqube-2538e39457098a5ceec1dc59f4f79eeadb6fb121.zip
SONAR-4290 Execute sort of ActionPlanStats the same way as ActionPlan
Diffstat (limited to 'sonar-core/src')
-rw-r--r--sonar-core/src/main/java/org/sonar/core/issue/ActionPlanStats.java102
-rw-r--r--sonar-core/src/main/java/org/sonar/core/issue/db/ActionPlanStatsDao.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/issue/db/ActionPlanStatsDto.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/issue/db/ActionPlanStatsMapper.java4
-rw-r--r--sonar-core/src/main/resources/org/sonar/core/issue/db/ActionPlanStatsMapper.xml1
-rw-r--r--sonar-core/src/test/java/org/sonar/core/issue/ActionPlanStatsTest.java10
6 files changed, 14 insertions, 111 deletions
diff --git a/sonar-core/src/main/java/org/sonar/core/issue/ActionPlanStats.java b/sonar-core/src/main/java/org/sonar/core/issue/ActionPlanStats.java
index 12805bce0ef..a9e67fda15e 100644
--- a/sonar-core/src/main/java/org/sonar/core/issue/ActionPlanStats.java
+++ b/sonar-core/src/main/java/org/sonar/core/issue/ActionPlanStats.java
@@ -22,24 +22,11 @@ package org.sonar.core.issue;
import org.sonar.api.issue.ActionPlan;
-import javax.annotation.CheckForNull;
-import javax.annotation.Nullable;
-
-import java.io.Serializable;
import java.util.Date;
import java.util.UUID;
-public class ActionPlanStats implements Serializable {
+public class ActionPlanStats extends DefaultActionPlan {
- private String key;
- private String name;
- private String projectKey;
- private String description;
- private String userLogin;
- private String status;
- private Date deadLine;
- private Date createdAt;
- private Date updatedAt;
private int totalIssues;
private int unresolvedIssues;
@@ -57,89 +44,6 @@ public class ActionPlanStats implements Serializable {
return actionPlan;
}
- public String key() {
- return key;
- }
-
- public ActionPlanStats setKey(String key) {
- this.key = key;
- return this;
- }
-
- public String name() {
- return name;
- }
-
- public ActionPlanStats setName(String name) {
- this.name = name;
- return this;
- }
-
- public String projectKey() {
- return projectKey;
- }
-
- public ActionPlanStats setProjectKey(String projectKey) {
- this.projectKey = projectKey;
- return this;
- }
-
- @CheckForNull
- public String description() {
- return description;
- }
-
- public ActionPlanStats setDescription(@Nullable String description) {
- this.description = description;
- return this;
- }
-
- public String userLogin() {
- return userLogin;
- }
-
- public ActionPlanStats setUserLogin(String userLogin) {
- this.userLogin = userLogin;
- return this;
- }
-
- public String status() {
- return status;
- }
-
- public ActionPlanStats setStatus(String status) {
- this.status = status;
- return this;
- }
-
- @CheckForNull
- public Date deadLine() {
- return deadLine != null ? new Date(deadLine.getTime()) : null;
- }
-
- public ActionPlanStats setDeadLine(@Nullable Date deadLine) {
- this.deadLine = deadLine != null ? new Date(deadLine.getTime()) : null;
- return this;
- }
-
- public Date createdAt() {
- return createdAt;
- }
-
- public ActionPlanStats setCreatedAt(Date creationDate) {
- this.createdAt = creationDate;
- return this;
- }
-
- public Date updatedAt() {
- return updatedAt;
- }
-
- public ActionPlanStats setUpdatedAt(Date updatedAt) {
- this.updatedAt = updatedAt;
- return this;
- }
-
public int totalIssues() {
return totalIssues;
}
@@ -163,10 +67,10 @@ public class ActionPlanStats implements Serializable {
}
public boolean isOpen(){
- return ActionPlan.STATUS_OPEN.equals(status);
+ return ActionPlan.STATUS_OPEN.equals(super.status());
}
public boolean overDue(){
- return status == ActionPlan.STATUS_OPEN && new Date().after(deadLine);
+ return super.status() == ActionPlan.STATUS_OPEN && new Date().after(super.deadLine());
}
}
diff --git a/sonar-core/src/main/java/org/sonar/core/issue/db/ActionPlanStatsDao.java b/sonar-core/src/main/java/org/sonar/core/issue/db/ActionPlanStatsDao.java
index 443b23f9f8a..fc9073220d2 100644
--- a/sonar-core/src/main/java/org/sonar/core/issue/db/ActionPlanStatsDao.java
+++ b/sonar-core/src/main/java/org/sonar/core/issue/db/ActionPlanStatsDao.java
@@ -25,7 +25,7 @@ import org.sonar.api.BatchComponent;
import org.sonar.api.ServerComponent;
import org.sonar.core.persistence.MyBatis;
-import java.util.Collection;
+import java.util.List;
/**
* @since 3.6
@@ -38,7 +38,7 @@ public class ActionPlanStatsDao implements BatchComponent, ServerComponent {
this.mybatis = mybatis;
}
- public Collection<ActionPlanStatsDto> findByProjectId(Long projectId) {
+ public List<ActionPlanStatsDto> findByProjectId(Long projectId) {
SqlSession session = mybatis.openSession();
try {
return session.getMapper(ActionPlanStatsMapper.class).findByProjectId(projectId);
diff --git a/sonar-core/src/main/java/org/sonar/core/issue/db/ActionPlanStatsDto.java b/sonar-core/src/main/java/org/sonar/core/issue/db/ActionPlanStatsDto.java
index e68d9def490..137bb4cd86f 100644
--- a/sonar-core/src/main/java/org/sonar/core/issue/db/ActionPlanStatsDto.java
+++ b/sonar-core/src/main/java/org/sonar/core/issue/db/ActionPlanStatsDto.java
@@ -172,7 +172,7 @@ public class ActionPlanStatsDto {
}
public ActionPlanStats toActionPlanStat() {
- return ActionPlanStats.create(name)
+ return ((ActionPlanStats) ActionPlanStats.create(name)
.setKey(kee)
.setProjectKey(projectKey)
.setDescription(description)
@@ -180,7 +180,7 @@ public class ActionPlanStatsDto {
.setDeadLine(deadLine)
.setUserLogin(userLogin)
.setCreatedAt(createdAt)
- .setUpdatedAt(updatedAt)
+ .setUpdatedAt(updatedAt))
.setTotalIssues(totalIssues)
.setUnresolvedIssues(unresolvedIssues);
}
diff --git a/sonar-core/src/main/java/org/sonar/core/issue/db/ActionPlanStatsMapper.java b/sonar-core/src/main/java/org/sonar/core/issue/db/ActionPlanStatsMapper.java
index 7fc910f6af4..f43e98cb6a5 100644
--- a/sonar-core/src/main/java/org/sonar/core/issue/db/ActionPlanStatsMapper.java
+++ b/sonar-core/src/main/java/org/sonar/core/issue/db/ActionPlanStatsMapper.java
@@ -22,7 +22,7 @@ package org.sonar.core.issue.db;
import org.apache.ibatis.annotations.Param;
-import java.util.Collection;
+import java.util.List;
/**
* @since 3.6
@@ -32,5 +32,5 @@ public interface ActionPlanStatsMapper {
/**
* @since3.6
*/
- Collection<ActionPlanStatsDto> findByProjectId(@Param("projectId") Long projectId);
+ List<ActionPlanStatsDto> findByProjectId(@Param("projectId") Long projectId);
}
diff --git a/sonar-core/src/main/resources/org/sonar/core/issue/db/ActionPlanStatsMapper.xml b/sonar-core/src/main/resources/org/sonar/core/issue/db/ActionPlanStatsMapper.xml
index 8919d819e67..a78884a9be0 100644
--- a/sonar-core/src/main/resources/org/sonar/core/issue/db/ActionPlanStatsMapper.xml
+++ b/sonar-core/src/main/resources/org/sonar/core/issue/db/ActionPlanStatsMapper.xml
@@ -28,7 +28,6 @@
and ap.project_id = #{projectId}
</where>
group by ap.id, ap.kee, ap.name, ap.description, ap.user_login, ap.project_id, ap.status, ap.deadline, ap.created_at, ap.updated_at, p.kee
- order by ap.deadline asc
</select>
</mapper> \ No newline at end of file
diff --git a/sonar-core/src/test/java/org/sonar/core/issue/ActionPlanStatsTest.java b/sonar-core/src/test/java/org/sonar/core/issue/ActionPlanStatsTest.java
index fc3873b1c3c..c345fbc99a5 100644
--- a/sonar-core/src/test/java/org/sonar/core/issue/ActionPlanStatsTest.java
+++ b/sonar-core/src/test/java/org/sonar/core/issue/ActionPlanStatsTest.java
@@ -35,10 +35,10 @@ public class ActionPlanStatsTest {
Date yesterday = DateUtils.addDays(new Date(), -1);
Date tomorrow = DateUtils.addDays(new Date(), 1);
- assertThat(ActionPlanStats.create("Short term").setStatus(ActionPlan.STATUS_OPEN).setDeadLine(tomorrow).overDue()).isFalse();
- assertThat(ActionPlanStats.create("Short term").setStatus(ActionPlan.STATUS_OPEN).setDeadLine(yesterday).overDue()).isTrue();
- assertThat(ActionPlanStats.create("Short term").setStatus(ActionPlan.STATUS_CLOSED).setDeadLine(tomorrow).overDue()).isFalse();
- assertThat(ActionPlanStats.create("Short term").setStatus(ActionPlan.STATUS_CLOSED).setDeadLine(yesterday).overDue()).isFalse();
- assertThat(ActionPlanStats.create("Short term").setStatus(ActionPlan.STATUS_CLOSED).overDue()).isFalse();
+ assertThat(((ActionPlanStats) ActionPlanStats.create("Short term").setStatus(ActionPlan.STATUS_OPEN).setDeadLine(tomorrow)).overDue()).isFalse();
+ assertThat(((ActionPlanStats) ActionPlanStats.create("Short term").setStatus(ActionPlan.STATUS_OPEN).setDeadLine(yesterday)).overDue()).isTrue();
+ assertThat(((ActionPlanStats) ActionPlanStats.create("Short term").setStatus(ActionPlan.STATUS_CLOSED).setDeadLine(tomorrow)).overDue()).isFalse();
+ assertThat(((ActionPlanStats) ActionPlanStats.create("Short term").setStatus(ActionPlan.STATUS_CLOSED).setDeadLine(yesterday)).overDue()).isFalse();
+ assertThat(((ActionPlanStats) ActionPlanStats.create("Short term").setStatus(ActionPlan.STATUS_CLOSED)).overDue()).isFalse();
}
}