ResourceUtils.isEntity(resource) &&
metric.isOptimizedBestValue() == Boolean.TRUE &&
metric.getBestValue() != null &&
- metric.getBestValue().equals(measure.getValue()) &&
+ Double.compare(metric.getBestValue(), measure.getValue())==0 &&
!measure.hasOptionalData());
}
public final static int DIRECTION_NONE = 0;
public enum ValueType {
- INT, FLOAT, PERCENT, BOOL, STRING, MILLISEC, DATA, LEVEL, DISTRIB
+ INT, FLOAT, PERCENT, BOOL, STRING, MILLISEC, DATA, LEVEL, DISTRIB, RATING
}
public enum Level {
|| ValueType.FLOAT.equals(type)
|| ValueType.PERCENT.equals(type)
|| ValueType.BOOL.equals(type)
- || ValueType.MILLISEC.equals(type);
+ || ValueType.MILLISEC.equals(type)
+ || ValueType.RATING.equals(type);
}
/**
end
html="<a href='#{url}' style='#{alert_link ? "cursor : default" : ""}' class='#{link_class}' rel='#{link_rel}' title='#{link_rel}'>#{html}</a>"
end
- no_tendency_img=true if (measure.metric.val_type==Metric::VALUE_TYPE_LEVEL || measure.metric.val_type==Metric::VALUE_TYPE_BOOLEAN)
+ no_tendency_img=true if (measure.metric.val_type==Metric::VALUE_TYPE_LEVEL || measure.metric.val_type==Metric::VALUE_TYPE_BOOLEAN || measure.metric.val_type==Metric::VALUE_TYPE_RATING)
html="#{html} #{tendency_icon(measure, small, no_tendency_img)} #{suffix}"
end
html
end
@measures=ProjectMeasure.find(:all,
- :select => 'project_measures.id,project_measures.metric_id,project_measures.value,project_measures.snapshot_id',
+ :select => 'project_measures.id,project_measures.metric_id,project_measures.value,project_measures.text_value,project_measures.snapshot_id',
:joins => :snapshot,
:conditions => [conditions,values],
:order => order,
VALUE_TYPE_MILLISEC = 'MILLISEC'
VALUE_TYPE_LEVEL = 'LEVEL'
VALUE_TYPE_DISTRIB = 'DISTRIB'
+ VALUE_TYPE_RATING = 'RATING'
TYPE_LEVEL_OK = 'OK'
TYPE_LEVEL_WARN = 'WARN'
end
def numeric?
- val_type==VALUE_TYPE_INT || val_type==VALUE_TYPE_FLOAT || val_type==VALUE_TYPE_PERCENT || val_type==VALUE_TYPE_MILLISEC
+ val_type==VALUE_TYPE_INT || val_type==VALUE_TYPE_FLOAT || val_type==VALUE_TYPE_PERCENT || val_type==VALUE_TYPE_MILLISEC || val_type==VALUE_TYPE_RATING
end
def data?
text_value
when Metric::VALUE_TYPE_STRING
text_value
+ when Metric::VALUE_TYPE_RATING
+ text_value || value.to_i.to_s
else
value().to_s
end