From a37d7216c7e287ef53be6d9d9391b6d264c2393b Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Wed, 4 Jun 2014 12:03:44 +0200 Subject: [PATCH] Add Request#paramAsDateTime() --- .../main/java/org/sonar/api/server/ws/Request.java | 14 +++++++++----- .../java/org/sonar/api/server/ws/RequestTest.java | 7 ++++++- .../sonar/server/issue/ws/IssueSearchAction.java | 6 +++--- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/server/ws/Request.java b/sonar-plugin-api/src/main/java/org/sonar/api/server/ws/Request.java index f4c0a40d3f4..87101ff78b1 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/server/ws/Request.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/server/ws/Request.java @@ -25,7 +25,6 @@ import org.apache.commons.lang.StringUtils; import org.sonar.api.utils.DateUtils; import javax.annotation.CheckForNull; - import java.util.Date; import java.util.List; @@ -185,14 +184,19 @@ public abstract class Request { return result; } + @CheckForNull + public Date paramAsDateTime(String key) { + String s = param(key); + if (s != null) { + return DateUtils.parseDateTime(s); + } + return null; + } + @CheckForNull public Date paramAsDate(String key) { String s = param(key); if (s != null) { - Date date = DateUtils.parseDateTimeQuietly(s); - if (date != null) { - return date; - } return DateUtils.parseDate(s); } return null; diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/server/ws/RequestTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/server/ws/RequestTest.java index a4b34acd653..58994058c11 100644 --- a/sonar-plugin-api/src/test/java/org/sonar/api/server/ws/RequestTest.java +++ b/sonar-plugin-api/src/test/java/org/sonar/api/server/ws/RequestTest.java @@ -74,6 +74,7 @@ public class RequestTest { action.createParam("a_number"); action.createParam("a_enum"); action.createParam("a_date"); + action.createParam("a_datetime"); action.createParam("a_required_string").setRequired(true); action.createParam("a_required_boolean").setRequired(true); @@ -183,7 +184,11 @@ public class RequestTest { @Test public void param_as_date() throws Exception { assertThat(request.setParam("a_date", "2014-05-27").paramAsDate("a_date")).isEqualTo(DateUtils.parseDate("2014-05-27")); - assertThat(request.setParam("a_date", "2014-05-27T15:50:45+0100").paramAsDate("a_date")).isEqualTo(DateUtils.parseDateTime("2014-05-27T15:50:45+0100")); + } + + @Test + public void param_as_datetime() throws Exception { + assertThat(request.setParam("a_datetime", "2014-05-27T15:50:45+0100").paramAsDateTime("a_datetime")).isEqualTo(DateUtils.parseDateTime("2014-05-27T15:50:45+0100")); } @Test diff --git a/sonar-server/src/main/java/org/sonar/server/issue/ws/IssueSearchAction.java b/sonar-server/src/main/java/org/sonar/server/issue/ws/IssueSearchAction.java index 2aafbe27e7d..fa4d10a024b 100644 --- a/sonar-server/src/main/java/org/sonar/server/issue/ws/IssueSearchAction.java +++ b/sonar-server/src/main/java/org/sonar/server/issue/ws/IssueSearchAction.java @@ -435,9 +435,9 @@ public class IssueSearchAction implements RequestHandler { .assigned(request.paramAsBoolean(IssueFilterParameters.ASSIGNED)) .planned(request.paramAsBoolean(IssueFilterParameters.PLANNED)) .hideRules(request.paramAsBoolean(IssueFilterParameters.HIDE_RULES)) - .createdAt(request.paramAsDate(IssueFilterParameters.CREATED_AT)) - .createdAfter(request.paramAsDate(IssueFilterParameters.CREATED_AFTER)) - .createdBefore(request.paramAsDate(IssueFilterParameters.CREATED_BEFORE)) + .createdAt(request.paramAsDateTime(IssueFilterParameters.CREATED_AT)) + .createdAfter(request.paramAsDateTime(IssueFilterParameters.CREATED_AFTER)) + .createdBefore(request.paramAsDateTime(IssueFilterParameters.CREATED_BEFORE)) .pageSize(request.paramAsInt(IssueFilterParameters.PAGE_SIZE)) .pageIndex(request.paramAsInt(IssueFilterParameters.PAGE_INDEX)); String sort = request.param(IssueFilterParameters.SORT); -- 2.39.5