From ca418a726e1e6699a5dd9a19c1a0496f79bff2f6 Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Mon, 22 Apr 2013 09:13:50 +0200 Subject: [PATCH] SONAR-3755 abbreviate issue descriptions --- .../main/java/org/sonar/core/issue/DefaultIssue.java | 7 ++----- .../java/org/sonar/core/issue/DefaultIssueTest.java | 10 +++------- 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); } } -- 2.39.5