]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-2249 Display Violation message with new lines in web
authorsimonbrandhof <simon.brandhof@gmail.com>
Wed, 4 May 2011 09:17:02 +0000 (11:17 +0200)
committersimonbrandhof <simon.brandhof@gmail.com>
Wed, 4 May 2011 09:18:20 +0000 (11:18 +0200)
New method Api::Utils.split_newlines(input) in order to split a string by newlines, whatever the encoding of return carriage.

sonar-server/src/main/webapp/WEB-INF/app/helpers/resource_helper.rb
sonar-server/src/main/webapp/WEB-INF/app/models/api/utils.rb
sonar-server/src/main/webapp/WEB-INF/app/models/rule_failure.rb
sonar-server/src/main/webapp/WEB-INF/app/models/snapshot_source.rb
sonar-server/src/main/webapp/WEB-INF/app/views/resource/_violation.html.erb

index fc4131f6e29aaf395f52b926695bef6d6c0e9149..a45515959d554c7e68407d2e749cb757abe427ba 100644 (file)
@@ -19,7 +19,4 @@
 #
 module ResourceHelper
   
-  def violation_html_message(violation)
-    violation.message ? h(violation.message).split(/\r?\n|\r/).join('<br/>') : ''
-  end
 end
\ No newline at end of file
index 2d7ab0cfbfb4c09f806b2fd36f13f57fa2bdfb58..5aeb88e1d02176aaff0f791975c07d6eec82d2e6 100644 (file)
@@ -41,4 +41,10 @@ class Api::Utils
     markdown ? Java::OrgSonarServerUi::JRubyFacade.markdownToHtml(ERB::Util.html_escape(markdown)) : ''
   end
 
+  # splits a string into an array of lines
+  def self.split_newlines(input)
+    # Don't limit number of returned fields and don't suppress trailing empty fields by setting second parameter to negative value.
+    # See http://jira.codehaus.org/browse/SONAR-2282
+    input.split(/\r?\n|\r/, -1)
+  end
 end
index 9f529d73f80a22f02e06c08debc0f533c1d6f580..30615035a465d31bb7e312a5b26eeb0d1d49f7b5 100644 (file)
@@ -31,11 +31,18 @@ class RuleFailure < ActiveRecord::Base
           if message.blank?
             rule.name
           else
-            parts=message.split(/\r?\n|\r/, -1)
+            parts=Api::Utils.split_newlines(message)
             parts.size==0 ? rule.name : parts[0]
           end
         end
   end
+  
+  def html_message
+    @html_message ||=
+      begin
+        message ? Api::Utils.split_newlines(ERB::Util.html_escape(message)).join('<br/>') : ''
+      end
+  end
 
   def to_json(include_review=false)
     json = {}
index 4fa80501405502808e711b1e69b28fef084c8521..a6ed3e3c14c14c23818c7794bfa6ad8fa6a4e6a0 100644 (file)
@@ -67,7 +67,7 @@ class SnapshotSource < ActiveRecord::Base
   end
 
   def lines(encode)
-    SnapshotSource.split_newlines(encoded_data(encode))
+    Api::Utils.split_newlines(encoded_data(encode))
   end
   
   def syntax_highlighted_source
@@ -78,13 +78,7 @@ class SnapshotSource < ActiveRecord::Base
   end
   
   def syntax_highlighted_lines
-    SnapshotSource.split_newlines(syntax_highlighted_source)
+    Api::Utils.split_newlines(syntax_highlighted_source)
   end
 
-  private
-  def self.split_newlines(input)
-    # Don't limit number of returned fields and don't suppress trailing empty fields by setting second parameter to negative value.
-    # See http://jira.codehaus.org/browse/SONAR-2282
-    input.split(/\r?\n|\r/, -1)
-  end
 end
index 909f31cb089f36680bb3222b0fb4060a0a36e12b..3282a0fedee0ef8339f0ce1b1c1a07ae1faf9089 100644 (file)
@@ -66,7 +66,7 @@
   </div>
 
   <div class="discussionComment first">
-    <%= h(violation.message) -%>
+    <%= violation.html_message -%>
   </div>
 
   <%