diff options
Diffstat (limited to 'report/report_service.rb')
-rw-r--r-- | report/report_service.rb | 10 |
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" |