summaryrefslogtreecommitdiff
path: root/report/report_persistance.rb
diff options
context:
space:
mode:
authormguetlein <martin.guetlein@gmail.com>2011-05-09 14:06:48 +0200
committermguetlein <martin.guetlein@gmail.com>2011-05-09 14:06:48 +0200
commite09012e01aa865900184bee186933b11f6fa1d3f (patch)
treeed0fcc50302f127492092d3bd795904828e8d005 /report/report_persistance.rb
parent02220bab22c0ea60394b71dfba536284ada17eb8 (diff)
fix search via param functionality for validation, add corresponding unit-tests
Diffstat (limited to 'report/report_persistance.rb')
-rwxr-xr-xreport/report_persistance.rb13
1 files changed, 3 insertions, 10 deletions
diff --git a/report/report_persistance.rb b/report/report_persistance.rb
index 9097fa3..113c81b 100755
--- a/report/report_persistance.rb
+++ b/report/report_persistance.rb
@@ -198,6 +198,8 @@ module Reports
attribute :algorithm_uris
index :report_type
+ index :validation_uris
+ index :crossvalidation_uris
attr_accessor :subjectid
@@ -250,16 +252,7 @@ module Reports
def list_reports(type, filter_params={})
LOGGER.debug "find reports for params: "+filter_params.inspect
- # unfortunately, datamapper does not allow searching in Objects
- # do filtering for list = Object params manually
- list_params = {}
- [:validation_uris, :crossvalidation_uris, :algorithm_uris, :model_uris].each do |l|
- list_params[l] = filter_params.delete(l) if filter_params.has_key?(l)
- end
- reports = ReportData.find( :report_type => type )
- list_params.each do |k,v|
- reports = reports.collect{|x| x}.delete_if{ |r| !r.send(k).include?(v) }
- end
+ reports = Lib::OhmUtil.find( ReportData, filter_params )
reports.collect{ |r| r.id }
end