diff options
author | simonbrandhof <simon.brandhof@gmail.com> | 2010-12-10 13:37:09 +0000 |
---|---|---|
committer | simonbrandhof <simon.brandhof@gmail.com> | 2010-12-10 13:37:09 +0000 |
commit | fe0b0a7a4ba6ecca89ee70452f22d9e9dcc1e924 (patch) | |
tree | 3eb400acc77b5173120a89acf28266c2f15ac038 /sonar-server/src | |
parent | a55b6d2875e0386cef1c95b6e638c8dd5d9939d0 (diff) | |
download | sonarqube-fe0b0a7a4ba6ecca89ee70452f22d9e9dcc1e924.tar.gz sonarqube-fe0b0a7a4ba6ecca89ee70452f22d9e9dcc1e924.zip |
SONAR-1956 improve filters in order to display variations
Diffstat (limited to 'sonar-server/src')
14 files changed, 148 insertions, 79 deletions
diff --git a/sonar-server/src/main/java/org/sonar/server/filters/Filter.java b/sonar-server/src/main/java/org/sonar/server/filters/Filter.java index 4b3a456a8a4..c2d92af8d5b 100644 --- a/sonar-server/src/main/java/org/sonar/server/filters/Filter.java +++ b/sonar-server/src/main/java/org/sonar/server/filters/Filter.java @@ -254,8 +254,8 @@ public class Filter { return this; } - public Filter createMeasureCriterionOnValue(Integer metricId, String operator, Double value) { - this.measureCriteria.add(new MeasureCriterion(metricId, operator, value)); + public Filter createMeasureCriterionOnValue(Integer metricId, String operator, Double value, Boolean variation) { + this.measureCriteria.add(new MeasureCriterion(metricId, operator, value, variation)); return this; } diff --git a/sonar-server/src/main/java/org/sonar/server/filters/MeasureCriterion.java b/sonar-server/src/main/java/org/sonar/server/filters/MeasureCriterion.java index eb3aa5e7d7a..4c2a9fd1506 100644 --- a/sonar-server/src/main/java/org/sonar/server/filters/MeasureCriterion.java +++ b/sonar-server/src/main/java/org/sonar/server/filters/MeasureCriterion.java @@ -19,7 +19,7 @@ */ package org.sonar.server.filters; -import org.apache.commons.lang.builder.ToStringBuilder; +import org.apache.commons.lang.builder.ReflectionToStringBuilder; import org.apache.commons.lang.builder.ToStringStyle; public class MeasureCriterion { @@ -27,11 +27,13 @@ public class MeasureCriterion { private Integer metricId; private String operator; private Double value; + private Boolean variation; - public MeasureCriterion(Integer metricId, String operator, Double value) { + public MeasureCriterion(Integer metricId, String operator, Double value, Boolean variation) { this.metricId = metricId; this.operator = operator; this.value = value; + this.variation = variation; } public Integer getMetricId() { @@ -58,12 +60,17 @@ public class MeasureCriterion { this.value = value; } + public Boolean getVariation() { + return variation; + } + + public MeasureCriterion setVariation(Boolean b) { + this.variation = b; + return this; + } + @Override public String toString() { - return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE) - .append("metricId", metricId) - .append("operator", operator) - .append("value", value) - .toString(); + return new ReflectionToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE).toString(); } } diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/filters_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/filters_controller.rb index 5315af9b5ef..69644b74a1f 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/filters_controller.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/filters_controller.rb @@ -86,8 +86,9 @@ class FiltersController < ApplicationController return access_denied end - @variation_index=params[:var].to_i - @data=execute_filter(@filter, current_user, params) + options=params + options[:user]=current_user + @filter_context=execute_filter(FilterContext.new(@filter, options)) render :action => 'new' end @@ -398,11 +399,14 @@ class FiltersController < ApplicationController params[:metric_ids]=[@size_metric, @color_metric] @filter.sorted_column=FilterColumn.new('family' => 'metric', :kee => @size_metric.key, :sort_direction => (@size_metric.direction>=0 ? 'ASC' : 'DESC')) - @data=execute_filter(@filter, current_user, params) - + + options=params + options[:user]=current_user + @filter_context=execute_filter(FilterContext.new(@filter, options)) + @width=(params[:width]||'800').to_i @height=(params[:height]||'500').to_i - @treemap=Sonar::Treemap.new(@data.measures_by_snapshot, @width, @height, @size_metric, @color_metric) + @treemap=Sonar::Treemap.new(@filter_context.measures_by_snapshot, @width, @height, @size_metric, @color_metric) render :action => "treemap", :layout => false end @@ -481,7 +485,9 @@ class FiltersController < ApplicationController if @active @filter=@active.filter unless @filter.ajax_loading? - @data=execute_filter(@filter, current_user, params) + options=params + options[:user]=current_user + @filter_context=execute_filter(FilterContext.new(@filter, options)) load_masterproject() if @filter.projects_homepage? end end diff --git a/sonar-server/src/main/webapp/WEB-INF/app/helpers/filters_helper.rb b/sonar-server/src/main/webapp/WEB-INF/app/helpers/filters_helper.rb index 3aefd4295f9..35bea1ad091 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/helpers/filters_helper.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/helpers/filters_helper.rb @@ -19,7 +19,8 @@ # module FiltersHelper - def execute_filter(filter, user=nil, options={}) + def execute_filter(filter_context) + filter=filter_context.filter java_filter=Java::OrgSonarServerFilters::Filter.new #----- FILTER ON RESOURCES @@ -33,7 +34,7 @@ module FiltersHelper end if filter.favourites - java_filter.setFavouriteIds((user ? user.favourite_ids : []).to_java(:Integer)) + java_filter.setFavouriteIds((filter_context.user ? user.favourite_ids : []).to_java(:Integer)) end date_criterion=filter.criterion('date') @@ -66,13 +67,13 @@ module FiltersHelper #----- FILTER ON MEASURES filter.measure_criteria.each do |c| - java_filter.createMeasureCriterionOnValue(c.metric.id, c.operator, c.value) + java_filter.createMeasureCriterionOnValue(c.metric.id, c.operator, c.value, c.variation) end #----- SORTED COLUMN - if options[:sort] - filter.sorted_column=options[:sort].to_i + if filter_context.sorted_column_id + filter.sorted_column=filter_context.sorted_column_id end if filter.sorted_column.on_name? java_filter.setSortedByName() @@ -90,25 +91,21 @@ module FiltersHelper #----- SORTING DIRECTION - if options[:asc] - filter.sorted_column.ascending=(options[:asc]=='true') + if filter_context.ascending_sort + filter.sorted_column.ascending=filter_context.ascending_sort end java_filter.setAscendingSort(filter.sorted_column.ascending?) #----- VARIATION - variation_index = (options[:var] ? options[:var].to_i : filter.variation_index) - java_filter.setSortedVariationIndex(variation_index) + java_filter.setSortedVariationIndex(filter_context.variation_index) #----- EXECUTION java_result=java_facade.execute_filter(java_filter) snapshot_ids=extract_snapshot_ids(java_result.getRows()) - - - options[:snapshot_ids]=snapshot_ids - options[:security_exclusions]=(snapshot_ids.size < java_result.size()) - FilterResult.new(filter, options) + has_security_exclusions=(snapshot_ids.size < java_result.size()) + filter_context.process_results(snapshot_ids, has_security_exclusions) end def column_title(column, filter) @@ -156,9 +153,30 @@ module FiltersHelper end end + def period_names + p1=Property.value('sonar.timemachine.variation1', nil, 'previous_analysis') + p2=Property.value('sonar.timemachine.variation2', nil, '5') + p3=Property.value('sonar.timemachine.variation3', nil, '30') + [period_name(p1), period_name(p2), period_name(p3)] + end private + def period_name(property) + if property=='previous_analysis' + "Since previous analysis" + elsif property =~ /^[\d]+(\.[\d]+){0,1}$/ + # is integer + "Previous #{property} days" + elsif property =~ /\d{4}-\d{2}-\d{2}/ + "Since #{property}" + elsif !property.blank? + "Since version #{property}" + else + nil + end + end + def extract_snapshot_ids(sql_rows) sids=[] project_ids=sql_rows.map{|r| r[2] ? to_integer(r[2]) : to_integer(r[1])}.compact.uniq diff --git a/sonar-server/src/main/webapp/WEB-INF/app/models/criterion.rb b/sonar-server/src/main/webapp/WEB-INF/app/models/criterion.rb index d04348a7978..68eb11767f6 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/models/criterion.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/models/criterion.rb @@ -79,7 +79,7 @@ class Criterion < ActiveRecord::Base def self.new_for_metric(options) metric=Metric.by_id(options['metric_id']) - new(:family => 'metric', :operator => options['operator'], :kee => (metric ? metric.name : nil), :value => options['value']) + new(:family => 'metric', :operator => options['operator'], :kee => (metric ? metric.name : nil), :value => options['value'], :variation => (options['type']=='variation')) end end diff --git a/sonar-server/src/main/webapp/WEB-INF/app/models/filter_result.rb b/sonar-server/src/main/webapp/WEB-INF/app/models/filter_context.rb index 0a165acaedf..aa4541566bc 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/models/filter_result.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/models/filter_context.rb @@ -17,19 +17,24 @@ # License along with {library}; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 # - class FilterResult - attr_accessor :page_size, :page_id, :security_exclusions, :filter, :variation_index + class FilterContext + attr_accessor :filter, :page_size, :page_id, :security_exclusions, :variation_index, :user, :sorted_column_id, :ascending_sort def initialize(filter, options={}) @filter = filter @page_size=options[:page_size] || @filter.page_size @page_id=(options[:page_id] ? options[:page_id].to_i : 1) - @sids=options[:snapshot_ids] - @page_sids=[] - @security_exclusions=options[:security_exclusions] + @sorted_column_id=(options[:sort].blank? ? nil : options[:sort].to_i) + @ascending_sort=(options[:asc].blank? ? nil : options[:asc]=='true') + @user=options[:user] + @variation_index = (options[:var] ? options[:var].to_i : filter.variation_index ) @metric_ids=(options[:metric_ids] || @filter.columns.map{|col| col.metric ? col.metric.id : nil}.compact.uniq) - @variation_index = (options[:var].blank? ? filter.variation_index : options[:var].to_i) + end + def process_results(snapshot_ids, security_exclusions) + @sids=snapshot_ids + @security_exclusions=security_exclusions + from=(@page_id-1) * @page_size to=(@page_id*@page_size)-1 to=@sids.size-1 if to>=@sids.size @@ -76,14 +81,16 @@ end end end + self end + def size @sids.size end def empty? - @page_sids.empty? + @page_sids.nil? || @page_sids.empty? end def page_count @@ -128,4 +135,30 @@ def variation? @variation_index && @variation_index>0 end + + + + private + + def extract_snapshot_ids(sql_rows) + sids=[] + project_ids=sql_rows.map{|r| r[2] ? to_integer(r[2]) : to_integer(r[1])}.compact.uniq + authorized_pids=select_authorized(:user, project_ids) + sql_rows.each do |row| + pid=(row[2] ? to_integer(row[2]) : to_integer(row[1])) + if authorized_pids.include?(pid) + sids<<to_integer(row[0]) + end + end + sids + end + + def to_integer(obj) + if obj.is_a?(Fixnum) + obj + else + # java.math.BigDecimal + obj.intValue() + end + end end
\ No newline at end of file diff --git a/sonar-server/src/main/webapp/WEB-INF/app/models/property.rb b/sonar-server/src/main/webapp/WEB-INF/app/models/property.rb index 978b98509a9..35088298227 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/models/property.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/models/property.rb @@ -35,7 +35,6 @@ class Property < ActiveRecord::Base hash end - def self.value(key, resource_id=nil, default_value=nil) prop=Property.find(:first, :conditions => {'prop_key' => key, 'resource_id' => resource_id, 'user_id' => nil}) prop ? prop.text_value : default_value diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/filters/_criterion.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/filters/_criterion.html.erb index c419bd58308..93067046dda 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/filters/_criterion.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/filters/_criterion.html.erb @@ -3,6 +3,7 @@ Form.Element.clear('metric-' + id); Form.Element.clear('op-' + id); Form.Element.clear('val-' + id); + Form.Element.clear('type-' + id); } </script> <select name="criteria[<%= id -%>][metric_id]" id="metric-<%= id -%>"> @@ -15,6 +16,10 @@ </optgroup> <% end %> </select> +<select name="criteria[<%= id -%>][type]" id="type-<%= id -%>"> + <option value="value" <%= 'selected' unless (criterion && criterion.variation) -%>>Value</option> + <option value="variation" <%= 'selected' if criterion && criterion.variation -%>>Variation</option> +</select> <select name="criteria[<%= id -%>][operator]" id="op-<%= id -%>"> <option value=""></option> <option value="<" <%= 'selected' if (criterion && criterion.operator=='<') -%>>Less than</option> diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/filters/_list.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/filters/_list.html.erb index b1a93540f36..d6016ab67d6 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/filters/_list.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/filters/_list.html.erb @@ -1,12 +1,12 @@ -<% filter=data.filter %> +<% filter=@filter_context.filter %> <div> -Periods: +Period: <form action="<%= url_for :overwrite_params => {:var => nil} -%>" style="display: inline" method="get"> <select name="var" onchange="submit()" class="small"> <option value="">None</option> - <option value="1" <%= 'selected' if data.variation_index==1 -%>>Period 1</option> - <option value="2" <%= 'selected' if data.variation_index==2 -%>>Period 2</option> - <option value="3" <%= 'selected' if data.variation_index==3 -%>>Period 3</option> + <% period_names.each_with_index do |name, index| %> + <option value="<%= index+1 -%>" <%= 'selected' if @filter_context.variation_index==index+1 -%>><%= name -%></value> + <% end %> </select> </form> @@ -36,15 +36,15 @@ Periods: <tfoot> <tr> <td colspan="<%= filter.columns.size + 1 -%>"> - <span id="results_count"><%= pluralize(data.size, 'result') %></span> + <span id="results_count"><%= pluralize(@filter_context.size, 'result') %></span> - <% if data.page_count>1 %> + <% if @filter_context.page_count>1 %> | - <%= link_to_if data.page_id>1, 'previous', {:overwrite_params => {:page_id => data.page_id-1}} %> - <% for index in 1..data.page_count %> - <%= link_to_unless index==data.page_id, index.to_s, {:overwrite_params => {:page_id => index}} %> + <%= link_to_if @filter_context.page_id>1, 'previous', {:overwrite_params => {:page_id => @filter_context.page_id-1}} %> + <% for index in 1..@filter_context.page_count %> + <%= link_to_unless index==@filter_context.page_id, index.to_s, {:overwrite_params => {:page_id => index}} %> <% end %> - <%= link_to_if data.page_id<data.page_count, 'next', {:overwrite_params => {:page_id => 1+data.page_id}} %> + <%= link_to_if @filter_context.page_id<@filter_context.page_count, 'next', {:overwrite_params => {:page_id => 1+@filter_context.page_id}} %> <% end %> <% if @filter.projects_homepage? %> @@ -69,26 +69,26 @@ Periods: <% end %> </tr> <% end %> - <% if data.empty? %> + <% if @filter_context.empty? %> <tr class="even"><td colspan="<%= 1+filter.columns.size -%>">No results.</td></tr> <% else %> <% - data.page_sorted_snapshot_ids.each do |snapshot_id| - snapshot=data.snapshot(snapshot_id) + @filter_context.page_sorted_snapshot_ids.each do |snapshot_id| + snapshot=@filter_context.snapshot(snapshot_id) %> <tr class="<%= cycle('even','odd') -%>"> <td><% if logged_in? %><%= link_to_favourite(snapshot.project) -%><% end %></td> <% filter.columns.each do |column| %> <td class="<%= column_align(column) -%>"> <% if column.on_metric? - measure = data.measure(snapshot, column.metric) + measure = @filter_context.measure(snapshot, column.metric) %> <% if column.variation %> - <%= format_variation(measure, :index => data.variation_index) -%> + <%= format_variation(measure, :index => @filter_context.variation_index) -%> <% else %> <%= format_measure(measure) -%> - <% if data.variation? %> - <%= format_variation(measure, :index => data.variation_index) -%> + <% if @filter_context.variation? %> + <%= format_variation(measure, :index => @filter_context.variation_index) -%> <% else %> <%= trend_icon(measure, :empty => true) -%> <% end %> @@ -100,7 +100,7 @@ Periods: <% elsif column.on_date? %><%= human_short_date(snapshot.created_at) %> <% elsif column.on_key? %><span class="small"><%= snapshot.project.kee -%></span> <% elsif column.on_links? - data.links(snapshot.project_id).each do |link| %> + @filter_context.links(snapshot.project_id).each do |link| %> <%= link_to(image_tag(link.icon, :alt => link.name), link.href, :class => 'nolink', :popup => true) unless link.custom? %> <% end end %> @@ -112,7 +112,7 @@ Periods: </tbody> </table> <br/> -<% if data.security_exclusions? %> +<% if @filter_context.security_exclusions? %> <p class="notes">Due to security settings, some results are not being displayed.</p> <% end %> </div>
\ No newline at end of file diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/filters/index.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/filters/index.html.erb index 0e39d5c80ad..901852cabe5 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/filters/index.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/filters/index.html.erb @@ -1,4 +1,4 @@ <%= render :partial => 'filters/tabs', :locals => {:selected_tab=> (@active && @active.filter ? @active.filter.id : nil) } %> <div class="tabs-panel"> -<%= render :partial => "filters/#{@filter.default_view}", :locals => {:data => @data, :edit_mode => false } if @filter %> +<%= render :partial => "filters/#{@filter.default_view}", :locals => {:edit_mode => false } if @filter %> </div>
\ No newline at end of file diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/filters/new.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/filters/new.html.erb index 5678afe6d69..9e4bda43fd5 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/filters/new.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/filters/new.html.erb @@ -104,9 +104,9 @@ table#columns td { <td> <select id="variation_index" name="variation_index"> <option value="">None</option> - <option value="1" <%= 'selected' if @filter.variation_index==1 -%>>Period 1</value> - <option value="2" <%= 'selected' if @filter.variation_index==2 -%>>Period 2</value> - <option value="3" <%= 'selected' if @filter.variation_index==3 -%>>Period 3</value> + <% period_names.each_with_index do |name, index| %> + <option value="<%= index+1 -%>" <%= 'selected' if @filter.variation_index==index+1 -%>><%= name -%></value> + <% end %> </select> </td> </tr> @@ -180,7 +180,7 @@ $('name').focus(); </script> <br/> -<% if @data %> +<% if @filter_context %> <h1>Display</h1> <div class="admin"> <table class="form" id="view-form"> @@ -200,6 +200,6 @@ $('name').focus(); </table> </div> <br/> - <%= render :partial => "filters/#{@filter.default_view}", :locals => {:data => @data, :edit_mode => true} %> + <%= render :partial => "filters/#{@filter.default_view}", :locals => {:edit_mode => true} %> <% end %> </div>
\ No newline at end of file diff --git a/sonar-server/src/main/webapp/WEB-INF/db/migrate/168_add_variations_to_filters.rb b/sonar-server/src/main/webapp/WEB-INF/db/migrate/168_add_variations_to_filters.rb index 34a703a19b7..f55f55cc1f7 100644 --- a/sonar-server/src/main/webapp/WEB-INF/db/migrate/168_add_variations_to_filters.rb +++ b/sonar-server/src/main/webapp/WEB-INF/db/migrate/168_add_variations_to_filters.rb @@ -26,6 +26,7 @@ class AddVariationsToFilters < ActiveRecord::Migration def self.up add_column :filters, :variation_index, :integer, :null => true add_column :filter_columns, :variation, :boolean, :null => true + add_column :criteria, :variation, :boolean, :null => true end end diff --git a/sonar-server/src/main/webapp/images/trend-up.png b/sonar-server/src/main/webapp/images/trend-up.png Binary files differindex 4c8be2ecb77..d7213ad67e2 100644 --- a/sonar-server/src/main/webapp/images/trend-up.png +++ b/sonar-server/src/main/webapp/images/trend-up.png diff --git a/sonar-server/src/test/java/org/sonar/server/filters/FilterExecutorTest.java b/sonar-server/src/test/java/org/sonar/server/filters/FilterExecutorTest.java index 72e2f1ca4e4..627561b4f4f 100644 --- a/sonar-server/src/test/java/org/sonar/server/filters/FilterExecutorTest.java +++ b/sonar-server/src/test/java/org/sonar/server/filters/FilterExecutorTest.java @@ -155,7 +155,7 @@ public class FilterExecutorTest extends AbstractDbUnitTestCase { FilterExecutor executor = new FilterExecutor(getSession()); Filter filter = new Filter() .setQualifiers(Sets.newHashSet(Resource.QUALIFIER_CLASS)) - .addMeasureCriterion(new MeasureCriterion(2, ">", 50.0)); + .addMeasureCriterion(new MeasureCriterion(2, ">", 50.0, false)); FilterResult result = executor.execute(filter); assertSnapshotIds(result, 5); @@ -167,8 +167,8 @@ public class FilterExecutorTest extends AbstractDbUnitTestCase { FilterExecutor executor = new FilterExecutor(getSession()); Filter filter = new Filter() .setQualifiers(Sets.newHashSet(Resource.QUALIFIER_CLASS)) - .addMeasureCriterion(new MeasureCriterion(2, ">", 50.0)) - .addMeasureCriterion(new MeasureCriterion(1, ">", 100.0)); + .addMeasureCriterion(new MeasureCriterion(2, ">", 50.0, false)) + .addMeasureCriterion(new MeasureCriterion(1, ">", 100.0, false)); FilterResult result = executor.execute(filter); assertSnapshotIds(result, 5); @@ -180,8 +180,8 @@ public class FilterExecutorTest extends AbstractDbUnitTestCase { FilterExecutor executor = new FilterExecutor(getSession()); Filter filter = new Filter() .setQualifiers(Sets.newHashSet(Resource.QUALIFIER_CLASS)) - .addMeasureCriterion(new MeasureCriterion(2, ">", 50.0)) - .addMeasureCriterion(new MeasureCriterion(1, "<", 100.0)); + .addMeasureCriterion(new MeasureCriterion(2, ">", 50.0, false)) + .addMeasureCriterion(new MeasureCriterion(1, "<", 100.0, false)); FilterResult result = executor.execute(filter); assertThat(result.size(), is(0)); @@ -193,8 +193,8 @@ public class FilterExecutorTest extends AbstractDbUnitTestCase { FilterExecutor executor = new FilterExecutor(getSession()); Filter filter = new Filter() .setQualifiers(Sets.newHashSet(Resource.QUALIFIER_CLASS)) - .addMeasureCriterion(new MeasureCriterion(2, ">", 5.0)) - .addMeasureCriterion(new MeasureCriterion(1, ">", 5.0)) + .addMeasureCriterion(new MeasureCriterion(2, ">", 5.0, false)) + .addMeasureCriterion(new MeasureCriterion(1, ">", 5.0, false)) .setSortedMetricId(2); // sort by coverage FilterResult result = executor.execute(filter); @@ -207,8 +207,8 @@ public class FilterExecutorTest extends AbstractDbUnitTestCase { FilterExecutor executor = new FilterExecutor(getSession()); Filter filter = new Filter() .setQualifiers(Sets.newHashSet(Resource.QUALIFIER_CLASS)) - .addMeasureCriterion(new MeasureCriterion(2, ">", 5.0)) // filter on coverage - .addMeasureCriterion(new MeasureCriterion(1, ">", 5.0)) // filter on lines + .addMeasureCriterion(new MeasureCriterion(2, ">", 5.0, false)) // filter on coverage + .addMeasureCriterion(new MeasureCriterion(1, ">", 5.0, false)) // filter on lines .setSortedMetricId(2) // sort by coverage .setAscendingSort(false); @@ -238,7 +238,7 @@ public class FilterExecutorTest extends AbstractDbUnitTestCase { FilterExecutor executor = new FilterExecutor(getSession()); Filter filter = new Filter() .setQualifiers(Sets.newHashSet(Resource.QUALIFIER_CLASS)) - .addMeasureCriterion(new MeasureCriterion(3, ">", 0.0)); // filter on duplicated lines + .addMeasureCriterion(new MeasureCriterion(3, ">", 0.0, false)); // filter on duplicated lines FilterResult result = executor.execute(filter); assertSnapshotIds(result, 6); @@ -250,8 +250,8 @@ public class FilterExecutorTest extends AbstractDbUnitTestCase { FilterExecutor executor = new FilterExecutor(getSession()); Filter filter = new Filter() .setQualifiers(Sets.newHashSet(Resource.QUALIFIER_CLASS)) - .addMeasureCriterion(new MeasureCriterion(1, ">", 0.0)) // filter on lines - .addMeasureCriterion(new MeasureCriterion(3, ">", 0.0)); // filter on duplicated lines + .addMeasureCriterion(new MeasureCriterion(1, ">", 0.0, false)) // filter on lines + .addMeasureCriterion(new MeasureCriterion(3, ">", 0.0, false)); // filter on duplicated lines FilterResult result = executor.execute(filter); assertSnapshotIds(result, 6); @@ -275,7 +275,7 @@ public class FilterExecutorTest extends AbstractDbUnitTestCase { FilterExecutor executor = new FilterExecutor(getSession()); Filter filter = new Filter() .setQualifiers(Sets.newHashSet(Resource.QUALIFIER_CLASS)) - .addMeasureCriterion(new MeasureCriterion(1, ">", 0.0)) // lines > 0 + .addMeasureCriterion(new MeasureCriterion(1, ">", 0.0, false)) // lines > 0 .setSortedMetricId(2); // sort by coverage FilterResult result = executor.execute(filter); @@ -288,8 +288,8 @@ public class FilterExecutorTest extends AbstractDbUnitTestCase { FilterExecutor executor = new FilterExecutor(getSession()); Filter filter = new Filter() .setQualifiers(Sets.newHashSet(Resource.QUALIFIER_CLASS)) - .addMeasureCriterion(new MeasureCriterion(1, ">", 400.0)) // lines > 400 - .addMeasureCriterion(new MeasureCriterion(1, "<", 600.0)); // lines > 400 + .addMeasureCriterion(new MeasureCriterion(1, ">", 400.0, false)) // lines > 400 + .addMeasureCriterion(new MeasureCriterion(1, "<", 600.0, false)); // lines > 400 FilterResult result = executor.execute(filter); assertSnapshotIds(result, 5); |