From: simonbrandhof Date: Fri, 5 Nov 2010 17:40:59 +0000 (+0000) Subject: fix layout of core widgets X-Git-Tag: 2.6~638 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=4dd938c67ce1682bf5dfd613956ba4b15c740986;p=sonarqube.git fix layout of core widgets --- diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/CorePlugin.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/CorePlugin.java index f599ea64c8f..6e082c1c692 100644 --- a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/CorePlugin.java +++ b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/CorePlugin.java @@ -149,9 +149,9 @@ public class CorePlugin implements Plugin { extensions.add(CodeCoverageWidget.class); extensions.add(CommentsDuplicationsWidget.class); extensions.add(DescriptionWidget.class); - extensions.add(DefaultExtendedAnalysisWidget.class); + extensions.add(ComplexityWidget.class); extensions.add(RulesWidget.class); - extensions.add(DefaultStaticAnalysisWidget.class); + extensions.add(SizeWidget.class); extensions.add(EventsWidget.class); extensions.add(CustomMeasuresWidget.class); diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/ComplexityWidget.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/ComplexityWidget.java new file mode 100644 index 00000000000..90dba687ae3 --- /dev/null +++ b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/ComplexityWidget.java @@ -0,0 +1,40 @@ +/* + * Sonar, open source software quality management tool. + * Copyright (C) 2009 SonarSource SA + * mailto:contact AT sonarsource DOT com + * + * Sonar is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * Sonar is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with Sonar; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 + */ +package org.sonar.plugins.core.widgets; + +import org.sonar.api.web.AbstractRubyTemplate; +import org.sonar.api.web.Description; +import org.sonar.api.web.RubyRailsWidget; + +@Description("Reports on complexity, average complexity and complexity distribution.") +public class ComplexityWidget extends AbstractRubyTemplate implements RubyRailsWidget { + public String getId() { + return "complexity"; + } + + public String getTitle() { + return "Complexity"; + } + + @Override + protected String getTemplatePath() { + return "/org/sonar/plugins/core/widgets/complexity.html.erb"; + } +} \ No newline at end of file diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/DefaultExtendedAnalysisWidget.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/DefaultExtendedAnalysisWidget.java deleted file mode 100644 index 509f51c5b14..00000000000 --- a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/DefaultExtendedAnalysisWidget.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Sonar, open source software quality management tool. - * Copyright (C) 2009 SonarSource SA - * mailto:contact AT sonarsource DOT com - * - * Sonar is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * Sonar is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with Sonar; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 - */ -package org.sonar.plugins.core.widgets; - -import org.sonar.api.web.AbstractRubyTemplate; -import org.sonar.api.web.Description; -import org.sonar.api.web.RubyRailsWidget; - -@Description("Reports on complexity, average complexity and complexity distribution.") -public class DefaultExtendedAnalysisWidget extends AbstractRubyTemplate implements RubyRailsWidget { - public String getId() { - return "extended_analysis"; - } - - public String getTitle() { - return "Complexity"; - } - - @Override - protected String getTemplatePath() { - return "/org/sonar/plugins/core/widgets/_extended_analysis.html.erb"; - } -} \ No newline at end of file diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/DefaultStaticAnalysisWidget.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/DefaultStaticAnalysisWidget.java deleted file mode 100644 index 69ddfc62b0b..00000000000 --- a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/DefaultStaticAnalysisWidget.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Sonar, open source software quality management tool. - * Copyright (C) 2009 SonarSource SA - * mailto:contact AT sonarsource DOT com - * - * Sonar is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * Sonar is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with Sonar; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 - */ -package org.sonar.plugins.core.widgets; - -import org.sonar.api.web.AbstractRubyTemplate; -import org.sonar.api.web.Description; -import org.sonar.api.web.RubyRailsWidget; - -@Description("Reports general metrics on the size of the project.") -public class DefaultStaticAnalysisWidget extends AbstractRubyTemplate implements RubyRailsWidget { - public String getId() { - return "static_analysis"; - } - - public String getTitle() { - return "Size metrics"; - } - - @Override - protected String getTemplatePath() { - return "/org/sonar/plugins/core/widgets/_static_analysis.html.erb"; - } -} diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/SizeWidget.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/SizeWidget.java new file mode 100644 index 00000000000..3c6a5c42055 --- /dev/null +++ b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/SizeWidget.java @@ -0,0 +1,40 @@ +/* + * Sonar, open source software quality management tool. + * Copyright (C) 2009 SonarSource SA + * mailto:contact AT sonarsource DOT com + * + * Sonar is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * Sonar is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with Sonar; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 + */ +package org.sonar.plugins.core.widgets; + +import org.sonar.api.web.AbstractRubyTemplate; +import org.sonar.api.web.Description; +import org.sonar.api.web.RubyRailsWidget; + +@Description("Reports general metrics on the size of the project.") +public class SizeWidget extends AbstractRubyTemplate implements RubyRailsWidget { + public String getId() { + return "size"; + } + + public String getTitle() { + return "Size metrics"; + } + + @Override + protected String getTemplatePath() { + return "/org/sonar/plugins/core/widgets/size.html.erb"; + } +} diff --git a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/_extended_analysis.html.erb b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/_extended_analysis.html.erb deleted file mode 100644 index 86c1eec3b0f..00000000000 --- a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/_extended_analysis.html.erb +++ /dev/null @@ -1,109 +0,0 @@ - -<% - file_complexity=measure('file_complexity') - function_complexity=measure('function_complexity') - class_complexity=measure('class_complexity') - paragraph_complexity=measure('paragraph_complexity') - - if file_complexity || function_complexity || class_complexity || paragraph_complexity -complexity=measure('complexity') -%> -
-

Complexity

- <% if function_complexity %> -

- <%= format_measure(function_complexity, :suffix => '', :url => url_for_drilldown(function_complexity)) -%> <%= tendency_icon(function_complexity, false) -%>/ method -

- <% end %> - <% if paragraph_complexity %> -

- <%= format_measure(paragraph_complexity, :suffix => '', :url => url_for_drilldown(paragraph_complexity)) -%> <%= tendency_icon(paragraph_complexity, false) -%>/ paragraph -

- <% end %> - <% if class_complexity %> -

- <%= format_measure(class_complexity, :suffix => '', :url => url_for_drilldown(class_complexity)) -%> <%= tendency_icon(class_complexity, false) -%>/ class -

- <% end %> - <% if file_complexity %> -

- <%= format_measure(file_complexity, :suffix => '', :url => url_for_drilldown(file_complexity)) -%> <%= tendency_icon(file_complexity, false) -%>/ file -

- <% end %> - <% if complexity %> -

- Total: <%= format_measure(complexity, :url => url_for_drilldown(complexity)) -%> <%= tendency_icon(complexity) -%> -

- <% end %> -
- - -<% - function_distribution=measure('function_complexity_distribution') - paragraph_distribution=measure('paragraph_complexity_distribution') - class_distribution=measure('class_complexity_distribution') - file_distribution=measure('file_complexity_distribution') - distributions=[function_distribution,paragraph_distribution,class_distribution,file_distribution].compact - selected_distribution=nil - if distributions.size>0 - selected_distribution=distributions.first - end - if selected_distribution -%> -
- - - <% distributions.each do |distribution_measure| %> - <%= render :partial => 'project/widgets/complexity_chart', :locals => { :metric => distribution_measure.metric.key, :title => distribution_measure.metric.description, :visible => (selected_distribution==distribution_measure) } %> - <% end %> - -
- <% - count_dist=0 - if function_distribution - count_dist+=1 - %> -> -<% -end -if paragraph_distribution - count_dist+=1 -%> -> <%= '
' if count_dist==2 %> -<% -end -if class_distribution - count_dist+=1 -%> -> <%= '
' if count_dist==2 %> -<% -end -if file_distribution - count_dist+=1 -%> -> -<% end %> - -
- -
-<% end %> - -
-<% end %> - diff --git a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/_static_analysis.html.erb b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/_static_analysis.html.erb deleted file mode 100644 index f8baf7ad4d3..00000000000 --- a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/_static_analysis.html.erb +++ /dev/null @@ -1,63 +0,0 @@ -<% -if measure('lines') || measure('ncloc') - files=measure('files') - statements=measure('statements') -%> - - - - - - -
-
-

Lines of code

- <% if measure('ncloc') %> -

- <%= format_measure('ncloc', :suffix => '', :url => url_for_drilldown('ncloc')) -%> <%= tendency_icon('ncloc', false) -%>

- <% - generated_ncloc=measure('generated_ncloc') - if generated_ncloc && generated_ncloc.value>0 - %> -

+<%= format_measure(generated_ncloc, :suffix => ' generated', :url => url_for_drilldown(generated_ncloc)) -%> <%= tendency_icon(generated_ncloc) -%>

- <% end %> -

<%= format_measure('lines', :suffix => ' lines', :url => url_for_drilldown('lines')) -%> <%= tendency_icon('lines') -%>

- <% else%> -

<%= format_measure('lines', :suffix => '', :url => url_for_drilldown('lines')) -%> <%= tendency_icon('lines', false) -%>

- <% end %> - <% - generated_lines=measure('generated_lines') - if generated_lines && generated_lines.value>0 - %> -

incl. <%= format_measure(generated_lines, :suffix => ' generated', :url => url_for_drilldown(generated_lines)) -%> <%= tendency_icon(generated_lines) -%>

- <% end %> - <% if statements %> -

- <%= format_measure(statements, :suffix => ' statements', :url => url_for_drilldown(statements)) -%> <%= tendency_icon(statements) -%> -

- <% end %> - <% if files && measure('classes') %> -

<%= format_measure(files, :suffix => ' files', :url => url_for_drilldown(files)) -%> <%= tendency_icon(files) -%>

- <% end %> -
-
-
- <% if measure('classes') %> -

Classes

-

<%= format_measure('classes', :url => url_for_drilldown('classes')) -%> <%= tendency_icon('classes') -%>

-

<%= format_measure('packages', :suffix => ' packages', :url => url_for_drilldown('packages')) -%> <%= tendency_icon('packages') -%>

- <% else %> -

Files

-

<%= format_measure('files', :url => url_for_drilldown('files')) -%> <%= tendency_icon('files') -%>

-

<%= format_measure('directories', :suffix => ' directories', :url => url_for_drilldown('directories')) -%> <%= tendency_icon('directories') -%>

- <% end %> -

<%= format_measure('functions', :suffix => ' methods', :url => url_for_drilldown('functions')) -%> <%= tendency_icon('functions') -%>

- <% if (measure('accessors')) %> -

<%= format_measure('accessors', :prefix => '+', :suffix => ' accessors', :url => url_for_drilldown('accessors')) -%> <%= tendency_icon('accessors') -%>

- <% end %> - <% if measure('paragraphs') %> -

<%= format_measure('paragraphs', :suffix => ' paragraphs', :url => url_for_drilldown('paragraphs')) -%> <%= tendency_icon('paragraphs') -%>

- <% end %> -
-
-<% end %> \ No newline at end of file diff --git a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/code_coverage.html.erb b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/code_coverage.html.erb index 422c131f96b..53f08f4d849 100644 --- a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/code_coverage.html.erb +++ b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/code_coverage.html.erb @@ -2,29 +2,30 @@ code_coverage_measure=measure(Metric::COVERAGE) tests_measure=measure(Metric::TESTS) if code_coverage_measure || tests_measure %> -
-
-
-

Code coverage

-

<%= format_measure(code_coverage_measure, :suffix => '', :url => url_for_drilldown(Metric::COVERAGE), :default => '-') %> <%= tendency_icon(code_coverage_measure, false) %>

- <% line_coverage=measure(Metric::LINE_COVERAGE) - if line_coverage %> -

<%= format_measure(line_coverage, :suffix => ' line coverage', :url => url_for_drilldown(Metric::UNCOVERED_LINES, :highlight => Metric::LINE_COVERAGE)) %> <%= tendency_icon(line_coverage) %>

- <% end %> - <% branch_coverage=measure(Metric::BRANCH_COVERAGE) - if branch_coverage %> -

<%= format_measure(branch_coverage, :suffix => ' branch coverage', :url => url_for_drilldown(Metric::UNCOVERED_CONDITIONS, :highlight => Metric::BRANCH_COVERAGE)) %> <%= tendency_icon(branch_coverage) %>

- <% end %> -

<%= format_measure(tests_measure, :suffix => ' tests', :url => url_for_drilldown(Metric::TESTS)) %> <%= tendency_icon(tests_measure) %>

- <% skipped_measure=measure(Metric::SKIPPED_TESTS) - if skipped_measure && skipped_measure.value>0 - %> -

+<%= format_measure(skipped_measure, :suffix => ' skipped', :url => url_for_drilldown(Metric::SKIPPED_TESTS)) %> <%= tendency_icon(skipped_measure) %>

- <% end %> -

<%= format_measure(Metric::TEST_EXECUTION_TIME, :suffix => '', :url => url_for_drilldown(Metric::TEST_EXECUTION_TIME)) %> <%= tendency_icon(measure(Metric::TEST_EXECUTION_TIME)) %>

-
-
-
+ + + + + +
+
+

Code coverage

+

<%= format_measure(code_coverage_measure, :suffix => '', :url => url_for_drilldown(Metric::COVERAGE), :default => '-') %> <%= tendency_icon(code_coverage_measure, false) %>

+ <% line_coverage=measure(Metric::LINE_COVERAGE) + if line_coverage %> +

<%= format_measure(line_coverage, :suffix => ' line coverage', :url => url_for_drilldown(Metric::UNCOVERED_LINES, :highlight => Metric::LINE_COVERAGE)) %> <%= tendency_icon(line_coverage) %>

+ <% end %> + <% branch_coverage=measure(Metric::BRANCH_COVERAGE) + if branch_coverage %> +

<%= format_measure(branch_coverage, :suffix => ' branch coverage', :url => url_for_drilldown(Metric::UNCOVERED_CONDITIONS, :highlight => Metric::BRANCH_COVERAGE)) %> <%= tendency_icon(branch_coverage) %>

+ <% end %> +

<%= format_measure(tests_measure, :suffix => ' tests', :url => url_for_drilldown(Metric::TESTS)) %> <%= tendency_icon(tests_measure) %>

+ <% skipped_measure=measure(Metric::SKIPPED_TESTS) + if skipped_measure && skipped_measure.value>0 + %> +

+<%= format_measure(skipped_measure, :suffix => ' skipped', :url => url_for_drilldown(Metric::SKIPPED_TESTS)) %> <%= tendency_icon(skipped_measure) %>

+ <% end %> +

<%= format_measure(Metric::TEST_EXECUTION_TIME, :suffix => '', :url => url_for_drilldown(Metric::TEST_EXECUTION_TIME)) %> <%= tendency_icon(measure(Metric::TEST_EXECUTION_TIME)) %>

+
+
<% success_percentage=measure(Metric::TEST_SUCCESS_DENSITY) if success_percentage @@ -40,6 +41,7 @@ if code_coverage_measure || tests_measure %>

<% end %> - - +
<% end %> diff --git a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/comments_duplications.html.erb b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/comments_duplications.html.erb index 28f28552123..078822eb556 100644 --- a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/comments_duplications.html.erb +++ b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/comments_duplications.html.erb @@ -1,7 +1,7 @@ <% if measure(Metric::LINES) || measure(Metric::NCLOC) %> - - -
+ <% if (measure(Metric::COMMENT_LINES)) %>

Comments

@@ -19,8 +19,7 @@
<% end %>
+ <% if (measure(Metric::DUPLICATED_LINES_DENSITY)) %>

Duplications

diff --git a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/complexity.html.erb b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/complexity.html.erb new file mode 100644 index 00000000000..43bc5683a5d --- /dev/null +++ b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/complexity.html.erb @@ -0,0 +1,116 @@ + +<% + file_complexity=measure('file_complexity') + function_complexity=measure('function_complexity') + class_complexity=measure('class_complexity') + paragraph_complexity=measure('paragraph_complexity') + + if file_complexity || function_complexity || class_complexity || paragraph_complexity +complexity=measure('complexity') +%> + + + + + + + +
+
+

Complexity

+ <% if function_complexity %> +

+ <%= format_measure(function_complexity, :suffix => '', :url => url_for_drilldown(function_complexity)) -%> <%= tendency_icon(function_complexity, false) -%>/ method +

+ <% end %> + <% if paragraph_complexity %> +

+ <%= format_measure(paragraph_complexity, :suffix => '', :url => url_for_drilldown(paragraph_complexity)) -%> <%= tendency_icon(paragraph_complexity, false) -%>/ paragraph +

+ <% end %> + <% if class_complexity %> +

+ <%= format_measure(class_complexity, :suffix => '', :url => url_for_drilldown(class_complexity)) -%> <%= tendency_icon(class_complexity, false) -%>/ class +

+ <% end %> + <% if file_complexity %> +

+ <%= format_measure(file_complexity, :suffix => '', :url => url_for_drilldown(file_complexity)) -%> <%= tendency_icon(file_complexity, false) -%>/ file +

+ <% end %> + <% if complexity %> +

+ Total: <%= format_measure(complexity, :url => url_for_drilldown(complexity)) -%> <%= tendency_icon(complexity) -%> +

+ <% end %> +
+
+<% + function_distribution=measure('function_complexity_distribution') + paragraph_distribution=measure('paragraph_complexity_distribution') + class_distribution=measure('class_complexity_distribution') + file_distribution=measure('file_complexity_distribution') + distributions=[function_distribution,paragraph_distribution,class_distribution,file_distribution].compact + selected_distribution=nil + if distributions.size>0 + selected_distribution=distributions.first + end + if selected_distribution +%> +
+ + + <% distributions.each do |distribution_measure| %> + <%= render :partial => 'project/widgets/complexity_chart', :locals => { :metric => distribution_measure.metric.key, :title => distribution_measure.metric.description, :visible => (selected_distribution==distribution_measure) } %> + <% end %> + +
+ <% + count_dist=0 + if function_distribution + count_dist+=1 + %> +> +<% +end +if paragraph_distribution + count_dist+=1 +%> +> <%= '
' if count_dist==2 %> +<% +end +if class_distribution + count_dist+=1 +%> +> <%= '
' if count_dist==2 %> +<% +end +if file_distribution + count_dist+=1 +%> +> +<% end %> + +
+ +
+<% end %> +
+
+<% end %> + diff --git a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/rules.html.erb b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/rules.html.erb index dbcad0d1d5c..84b09712b35 100644 --- a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/rules.html.erb +++ b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/rules.html.erb @@ -1,8 +1,7 @@ <% if measure(Metric::LINES) %> -
- - -
+

Rules compliance

@@ -51,8 +50,7 @@
+

Violations

@@ -130,6 +128,4 @@
- -
<% end %> \ No newline at end of file diff --git a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/size.html.erb b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/size.html.erb new file mode 100644 index 00000000000..f8baf7ad4d3 --- /dev/null +++ b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/size.html.erb @@ -0,0 +1,63 @@ +<% +if measure('lines') || measure('ncloc') + files=measure('files') + statements=measure('statements') +%> + + + + + + +
+
+

Lines of code

+ <% if measure('ncloc') %> +

+ <%= format_measure('ncloc', :suffix => '', :url => url_for_drilldown('ncloc')) -%> <%= tendency_icon('ncloc', false) -%>

+ <% + generated_ncloc=measure('generated_ncloc') + if generated_ncloc && generated_ncloc.value>0 + %> +

+<%= format_measure(generated_ncloc, :suffix => ' generated', :url => url_for_drilldown(generated_ncloc)) -%> <%= tendency_icon(generated_ncloc) -%>

+ <% end %> +

<%= format_measure('lines', :suffix => ' lines', :url => url_for_drilldown('lines')) -%> <%= tendency_icon('lines') -%>

+ <% else%> +

<%= format_measure('lines', :suffix => '', :url => url_for_drilldown('lines')) -%> <%= tendency_icon('lines', false) -%>

+ <% end %> + <% + generated_lines=measure('generated_lines') + if generated_lines && generated_lines.value>0 + %> +

incl. <%= format_measure(generated_lines, :suffix => ' generated', :url => url_for_drilldown(generated_lines)) -%> <%= tendency_icon(generated_lines) -%>

+ <% end %> + <% if statements %> +

+ <%= format_measure(statements, :suffix => ' statements', :url => url_for_drilldown(statements)) -%> <%= tendency_icon(statements) -%> +

+ <% end %> + <% if files && measure('classes') %> +

<%= format_measure(files, :suffix => ' files', :url => url_for_drilldown(files)) -%> <%= tendency_icon(files) -%>

+ <% end %> +
+
+
+ <% if measure('classes') %> +

Classes

+

<%= format_measure('classes', :url => url_for_drilldown('classes')) -%> <%= tendency_icon('classes') -%>

+

<%= format_measure('packages', :suffix => ' packages', :url => url_for_drilldown('packages')) -%> <%= tendency_icon('packages') -%>

+ <% else %> +

Files

+

<%= format_measure('files', :url => url_for_drilldown('files')) -%> <%= tendency_icon('files') -%>

+

<%= format_measure('directories', :suffix => ' directories', :url => url_for_drilldown('directories')) -%> <%= tendency_icon('directories') -%>

+ <% end %> +

<%= format_measure('functions', :suffix => ' methods', :url => url_for_drilldown('functions')) -%> <%= tendency_icon('functions') -%>

+ <% if (measure('accessors')) %> +

<%= format_measure('accessors', :prefix => '+', :suffix => ' accessors', :url => url_for_drilldown('accessors')) -%> <%= tendency_icon('accessors') -%>

+ <% end %> + <% if measure('paragraphs') %> +

<%= format_measure('paragraphs', :suffix => ' paragraphs', :url => url_for_drilldown('paragraphs')) -%> <%= tendency_icon('paragraphs') -%>

+ <% end %> +
+
+<% end %> \ No newline at end of file diff --git a/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/widgets/FileDesignWidget.java b/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/widgets/FileDesignWidget.java index c4009c9dd7b..06643cad191 100644 --- a/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/widgets/FileDesignWidget.java +++ b/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/widgets/FileDesignWidget.java @@ -26,7 +26,7 @@ import org.sonar.api.web.*; @Description("Reports on files dependency cycles and tangle index.") public final class FileDesignWidget extends AbstractRubyTemplate implements RubyRailsWidget { public String getId() { - return "file-design"; + return "file_design"; } public String getTitle() { diff --git a/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/widgets/PackageDesignWidget.java b/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/widgets/PackageDesignWidget.java index be27d6a7130..6c9ba0d1346 100644 --- a/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/widgets/PackageDesignWidget.java +++ b/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/widgets/PackageDesignWidget.java @@ -26,7 +26,7 @@ import org.sonar.api.web.*; @Description("Reports on package dependency cycles and tangle index.") public final class PackageDesignWidget extends AbstractRubyTemplate implements RubyRailsWidget { public String getId() { - return "package-design"; + return "package_design"; } public String getTitle() { diff --git a/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/widgets/file_design.html.erb b/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/widgets/file_design.html.erb index 70041753975..e91e9857a9f 100644 --- a/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/widgets/file_design.html.erb +++ b/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/widgets/file_design.html.erb @@ -7,7 +7,7 @@ - - - - +
+

File tangle index

<%= format_measure(file_tangle_index, :suffix => '', :default => '-', :url => url_for_drilldown('file_tangle_index')) %> <%= tendency_icon(file_tangle_index, false) %>

@@ -16,7 +16,7 @@ <% end %>
+ <% if file_feedback_edges %>

Suspect file dependencies

diff --git a/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/widgets/package_design.html.erb b/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/widgets/package_design.html.erb index 59136259ee1..3904ba97bef 100644 --- a/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/widgets/package_design.html.erb +++ b/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/widgets/package_design.html.erb @@ -11,7 +11,7 @@ package_feedback_edges=measure('package_feedback_edges') package_tangles=measure('package_tangles') %> -
+

Package tangle index

<%= format_measure(package_tangle_index, :suffix => '', :default => '-', :url => url_for_drilldown('package_tangle_index')) %> <%= tendency_icon(package_tangle_index, false) %>

@@ -20,7 +20,7 @@ <% end %>
+ <% if package_feedback_edges || package_tangles %>

Dependencies to cut

diff --git a/sonar-server/src/main/webapp/WEB-INF/db/migrate/151_create_dashboards.rb b/sonar-server/src/main/webapp/WEB-INF/db/migrate/151_create_dashboards.rb index 0ec89239ecf..f1c3fcbe8f6 100755 --- a/sonar-server/src/main/webapp/WEB-INF/db/migrate/151_create_dashboards.rb +++ b/sonar-server/src/main/webapp/WEB-INF/db/migrate/151_create_dashboards.rb @@ -66,17 +66,17 @@ class CreateDashboards < ActiveRecord::Migration def self.create_dashboard dashboard=::Dashboard.new(:name => 'Dashboard', :shared => true, :description => 'Default dashboard', :column_layout => Dashboard::DEFAULT_LAYOUT) - dashboard.widgets.build(:widget_key => 'static_analysis', :name => 'Static analysis', :column_index => 1, :row_index => 1, :configured => true) + dashboard.widgets.build(:widget_key => 'size', :name => 'Size metrics', :column_index => 1, :row_index => 1, :configured => true) dashboard.widgets.build(:widget_key => 'comments_duplications', :name => 'Comments duplications', :column_index => 1, :row_index => 2, :configured => true) - dashboard.widgets.build(:widget_key => 'extended_analysis', :name => 'Extended analysis', :column_index => 1, :row_index => 3, :configured => true) + dashboard.widgets.build(:widget_key => 'complexity', :name => 'Complexity', :column_index => 1, :row_index => 3, :configured => true) dashboard.widgets.build(:widget_key => 'code_coverage', :name => 'Code coverage', :column_index => 1, :row_index => 4, :configured => true) dashboard.widgets.build(:widget_key => 'events', :name => 'Events', :column_index => 1, :row_index => 5, :configured => true) dashboard.widgets.build(:widget_key => 'description', :name => 'Description', :column_index => 1, :row_index => 6, :configured => true) dashboard.widgets.build(:widget_key => 'rules', :name => 'Rules', :column_index => 2, :row_index => 1, :configured => true) dashboard.widgets.build(:widget_key => 'alerts', :name => 'Alerts', :column_index => 2, :row_index => 2, :configured => true) dashboard.widgets.build(:widget_key => 'custom_measures', :name => 'Custom measures', :column_index => 2, :row_index => 3, :configured => true) - dashboard.widgets.build(:widget_key => 'file-design', :name => 'File design', :column_index => 2, :row_index => 4, :configured => true) - dashboard.widgets.build(:widget_key => 'package-design', :name => 'Package design', :column_index => 2, :row_index => 5, :configured => true) + dashboard.widgets.build(:widget_key => 'file_design', :name => 'File design', :column_index => 2, :row_index => 4, :configured => true) + dashboard.widgets.build(:widget_key => 'package_design', :name => 'Package design', :column_index => 2, :row_index => 5, :configured => true) dashboard.widgets.build(:widget_key => 'ckjm', :name => 'CKJM', :column_index => 2, :row_index => 6, :configured => true) dashboard.save diff --git a/tests/integration/tests/src/it/selenium/i18n/french-france.html b/tests/integration/tests/src/it/selenium/i18n/french-france.html index 100c3949b9a..39531c083d2 100644 --- a/tests/integration/tests/src/it/selenium/i18n/french-france.html +++ b/tests/integration/tests/src/it/selenium/i18n/french-france.html @@ -12,7 +12,7 @@
open/dashboard/index/org.sonar.tests:reference&locale=fr-FR/dashboard/index/org.sonar.tests:reference?locale=fr-FR