From b4a0e0780618be728f1c8f55c04f0f5bcb2feddf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20So=CC=88semann?= Date: Tue, 17 May 2016 16:55:16 +0200 Subject: [PATCH] Remove line breaks and multi-spaces before passing rule violation description to JSON --- .../sourceforge/pmd/renderers/CodeClimateRenderer.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/renderers/CodeClimateRenderer.java b/pmd-core/src/main/java/net/sourceforge/pmd/renderers/CodeClimateRenderer.java index 5e65c1fba8..1c9410ae5e 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/renderers/CodeClimateRenderer.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/renderers/CodeClimateRenderer.java @@ -58,7 +58,7 @@ public class CodeClimateRenderer extends AbstractIncrementingRenderer { CodeClimateIssue issue = new CodeClimateIssue(); issue.check_name = rule.getName(); - issue.description = rv.getDescription(); + issue.description = getCleanedDescription(rv); issue.content = new CodeClimateIssue.Content(rule.getDescription()); issue.location = getLocation(rv); @@ -107,4 +107,11 @@ public class CodeClimateRenderer extends AbstractIncrementingRenderer { rv.getEndLine()); return result; } + + private String getCleanedDescription(RuleViolation rv) { + String result = rv.getDescription().trim(); + result = result.replaceAll("\\s+", " "); + result = result.replaceAll("\\s*[\\r\\n]+\\s*", ""); + return result; + } }