summaryrefslogtreecommitdiff
path: root/report/report_service.rb
diff options
context:
space:
mode:
Diffstat (limited to 'report/report_service.rb')
-rw-r--r--report/report_service.rb10
1 files changed, 7 insertions, 3 deletions
diff --git a/report/report_service.rb b/report/report_service.rb
index 722c3d6..f299122 100644
--- a/report/report_service.rb
+++ b/report/report_service.rb
@@ -60,21 +60,25 @@ module Reports
# call-seq:
# create_report(type, validation_uris) => string
#
- def create_report(type, validation_uris, subjectid=nil, task=nil)
+ def create_report(type, validation_uris, identifier=nil, params={}, subjectid=nil, task=nil)
+ raise "params is no hash" unless params.is_a?(Hash)
LOGGER.info "create report of type '"+type.to_s+"'"
check_report_type(type)
# step1: load validations
raise OpenTox::BadRequestError.new("validation_uris missing") unless validation_uris
LOGGER.debug "validation_uri(s): '"+validation_uris.inspect+"'"
- validation_set = Reports::ValidationSet.new(validation_uris, subjectid)
+ LOGGER.debug "identifier: '"+identifier.inspect+"'"
+ raise "illegal num identifiers: "+identifier.size.to_s+" should be equal to num validation-uris ("+validation_uris.size.to_s+")" if
+ identifier and identifier.size!=validation_uris.size
+ validation_set = Reports::ValidationSet.new(validation_uris, identifier, subjectid)
raise OpenTox::BadRequestError.new("cannot get validations from validation_uris '"+validation_uris.inspect+"'") unless validation_set and validation_set.size > 0
LOGGER.debug "loaded "+validation_set.size.to_s+" validation/s"
task.progress(10) if task
#step 2: create report of type
- report_content = Reports::ReportFactory.create_report(type, validation_set,
+ report_content = Reports::ReportFactory.create_report(type, validation_set, params,
OpenTox::SubTask.create(task,10,90))
LOGGER.debug "report created"