aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@gmail.com>2013-04-22 09:13:50 +0200
committerSimon Brandhof <simon.brandhof@gmail.com>2013-04-22 09:13:50 +0200
commitca418a726e1e6699a5dd9a19c1a0496f79bff2f6 (patch)
treed83e6de4036438940bceb62990f9bfc11852cde8
parent3396cdad099113d7418142a68ec73de35d3e174c (diff)
downloadsonarqube-ca418a726e1e6699a5dd9a19c1a0496f79bff2f6.tar.gz
sonarqube-ca418a726e1e6699a5dd9a19c1a0496f79bff2f6.zip
SONAR-3755 abbreviate issue descriptions
-rw-r--r--sonar-core/src/main/java/org/sonar/core/issue/DefaultIssue.java7
-rw-r--r--sonar-core/src/test/java/org/sonar/core/issue/DefaultIssueTest.java10
2 files changed, 5 insertions, 12 deletions
diff --git a/sonar-core/src/main/java/org/sonar/core/issue/DefaultIssue.java b/sonar-core/src/main/java/org/sonar/core/issue/DefaultIssue.java
index 8e0103f08b6..6a7971cb59d 100644
--- a/sonar-core/src/main/java/org/sonar/core/issue/DefaultIssue.java
+++ b/sonar-core/src/main/java/org/sonar/core/issue/DefaultIssue.java
@@ -23,6 +23,7 @@ import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Maps;
+import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
import org.sonar.api.issue.Issue;
@@ -122,11 +123,7 @@ public class DefaultIssue implements Issue, Serializable {
}
public DefaultIssue setDescription(@Nullable String s) {
- if (s != null) {
- Preconditions.checkArgument(s.length() < Issue.DESCRIPTION_MAX_SIZE,
- "Description must not be longer than " + Issue.DESCRIPTION_MAX_SIZE + " characters (got " + s.length() + ")");
- }
- this.description = s;
+ this.description = StringUtils.abbreviate(s, DESCRIPTION_MAX_SIZE);
return this;
}
diff --git a/sonar-core/src/test/java/org/sonar/core/issue/DefaultIssueTest.java b/sonar-core/src/test/java/org/sonar/core/issue/DefaultIssueTest.java
index deb8837da88..ea9683ca24c 100644
--- a/sonar-core/src/test/java/org/sonar/core/issue/DefaultIssueTest.java
+++ b/sonar-core/src/test/java/org/sonar/core/issue/DefaultIssueTest.java
@@ -71,12 +71,8 @@ public class DefaultIssueTest {
}
@Test
- public void size_of_description_should_be_limited() {
- try {
- issue.setDescription(StringUtils.repeat("a", 5000));
- fail();
- } catch (IllegalArgumentException e) {
- assertThat(e).hasMessage("Description must not be longer than 4000 characters (got 5000)");
- }
+ public void size_of_description_should_be_abbreviated_if_too_long() {
+ issue.setDescription(StringUtils.repeat("a", 5000));
+ assertThat(issue.description()).hasSize(4000);
}
}