diff options
-rw-r--r-- | Rakefile | 35 | ||||
-rw-r--r-- | application.rb | 2 | ||||
-rw-r--r-- | lib/test_util.rb | 2 | ||||
-rw-r--r-- | lib/validation_db.rb | 8 | ||||
-rw-r--r-- | report/environment.rb | 18 | ||||
-rw-r--r-- | report/report_application.rb | 2 | ||||
-rw-r--r-- | report/report_format.rb | 2 | ||||
-rw-r--r-- | report/report_persistance.rb | 2 | ||||
-rw-r--r-- | report/report_test.rb | 2 | ||||
-rw-r--r-- | report/util.rb | 2 | ||||
-rw-r--r-- | report/xml_report.rb | 1 | ||||
-rw-r--r-- | test/test_examples_util.rb | 10 | ||||
-rw-r--r-- | validation/validation_application.rb | 14 | ||||
-rw-r--r-- | validation/validation_service.rb | 23 | ||||
-rw-r--r-- | validation/validation_test.rb | 9 |
15 files changed, 65 insertions, 67 deletions
@@ -1,23 +1,36 @@ require 'rubygems' require 'rake' -@gems = "sinatra emk-sinatra-url-for builder datamapper json_pure do_sqlite3 opentox-ruby-api-wrapper" +REPORT_GEMS = ['rubygems', 'logger', 'fileutils', 'sinatra', 'sinatra/url_for', 'rest_client', + 'yaml', 'opentox-ruby-api-wrapper', 'fileutils', 'mime/types', 'abbrev', + 'rexml/document', 'active_record', 'ar-extensions', 'ruby-plot'] +VALIDATION_GEMS = [ 'rubygems', 'sinatra', 'sinatra/url_for', 'opentox-ruby-api-wrapper', 'logger', 'active_record', 'ar-extensions' ] + + desc "Install required gems" -task :install do - puts `sudo gem install #{@gems}` +task :install_gems do + (REPORT_GEMS + VALIDATION_GEMS).uniq.each do |g| + begin + print "> require "+g+" .. " + require g + puts "ok" + rescue LoadError => ex + puts "NOT FOUND" + cmd = "sudo gem install "+g + puts cmd + IO.popen(cmd){ |f| puts f.gets } + end + end end -desc "Update required gems" -task :update do - puts `sudo gem update #{@gems}` -end -desc "Run tests" -task :test do - load 'test.rb' +desc "Installs gems and inits db" +task :init => [:install_gems, :migrate] do + #do nothing end + desc "load config" task :load_config do require 'yaml' @@ -57,7 +70,7 @@ task :migrate => :load_config do :password => @@config[:database][:password] ) ActiveRecord::Base.logger = Logger.new($stdout) - ActiveRecord::Migrator.migrate('db/migrate', ENV["VERSION"] ? ENV["VERSION"].to_i : nil ) + ActiveRecord::Migrator.migrate('db/migrate', ENV["VERSION"] ? ENV["VERSION"].to_i : 2 ) end diff --git a/application.rb b/application.rb index 236280c..c9250a4 100644 --- a/application.rb +++ b/application.rb @@ -1,5 +1,5 @@ require 'rubygems' -gem 'opentox-ruby-api-wrapper', '= 1.4.4.4' +gem 'opentox-ruby-api-wrapper', '= 1.5.6' [ 'sinatra', 'sinatra/url_for', 'opentox-ruby-api-wrapper', 'logger' ].each do |lib| require lib end diff --git a/lib/test_util.rb b/lib/test_util.rb index 1da27a5..ecab76c 100644 --- a/lib/test_util.rb +++ b/lib/test_util.rb @@ -24,7 +24,7 @@ module Lib case file.path when /yaml$/ - type = "text/x-yaml" + type = "application/x-yaml" when /owl$/ type = "application/rdf+xml" else diff --git a/lib/validation_db.rb b/lib/validation_db.rb index b7cafd8..aea036f 100644 --- a/lib/validation_db.rb +++ b/lib/validation_db.rb @@ -1,11 +1,9 @@ -[ 'rubygems', 'datamapper' ].each do |lib| - require lib -end +#[ 'rubygems', 'datamapper' ].each do |lib| +# require lib +#end require "lib/merge.rb" -require 'active_record' -require 'ar-extensions' unless ActiveRecord::Base.connected? ActiveRecord::Base.establish_connection( :adapter => @@config[:database][:adapter], diff --git a/report/environment.rb b/report/environment.rb index 154374f..7c9aa8b 100644 --- a/report/environment.rb +++ b/report/environment.rb @@ -1,19 +1,11 @@ -require 'rubygems' -require 'logger' -require 'fileutils' -require 'sinatra' -require 'sinatra/url_for' -require 'rest_client' -require 'yaml' -require 'opentox-ruby-api-wrapper' -require 'fileutils' -require 'mime/types' -require 'ruby-plot' +['rubygems', 'logger', 'fileutils', 'sinatra', 'sinatra/url_for', 'rest_client', + 'yaml', 'opentox-ruby-api-wrapper', 'fileutils', 'mime/types', 'abbrev', + 'rexml/document', 'active_record', 'ar-extensions', 'ruby-plot'].each do |g| + require g +end gem 'ruby-plot', '= 0.0.2' -require 'active_record' -require 'ar-extensions' unless ActiveRecord::Base.connected? ActiveRecord::Base.establish_connection( :adapter => @@config[:database][:adapter], diff --git a/report/report_application.rb b/report/report_application.rb index dc61e3a..27c44b6 100644 --- a/report/report_application.rb +++ b/report/report_application.rb @@ -64,7 +64,7 @@ get '/report/:type/:id' do format = Reports::ReportFormat.get_format(accept_header) content_type format #PENDING: get_report should return file or string, check for result.is_file instead of format - if format=="text/x-yaml" or format=="application/rdf+xml" + if format=="application/x-yaml" or format=="application/rdf+xml" report else result = body(File.new(report)) diff --git a/report/report_format.rb b/report/report_format.rb index 2eeb546..e61d9be 100644 --- a/report/report_format.rb +++ b/report/report_format.rb @@ -10,7 +10,7 @@ ENV['SAXON_JAR'] = "saxonhe9-2-0-3j/saxon9he.jar" unless ENV['SAXON_JAR'] # module Reports::ReportFormat - CONTENT_TYPES = ["text/x-yaml","text/html","application/rdf+xml", "text/xml","application/pdf"] + CONTENT_TYPES = ["application/x-yaml","text/html","application/rdf+xml", "text/xml","application/pdf"] # returns report-format, according to header value def self.get_format(accept_header_value) diff --git a/report/report_persistance.rb b/report/report_persistance.rb index ac430c4..a06dba8 100644 --- a/report/report_persistance.rb +++ b/report/report_persistance.rb @@ -247,7 +247,7 @@ module Reports case format when "application/rdf+xml" report.to_rdf - when "text/x-yaml" + when "application/x-yaml" report.to_yaml else super diff --git a/report/report_test.rb b/report/report_test.rb index 702ec34..ff4e3db 100644 --- a/report/report_test.rb +++ b/report/report_test.rb @@ -17,7 +17,7 @@ class Reports::ApplicationTest < Test::Unit::TestCase def test_nothing - get "/report/validation/1",nil,'HTTP_ACCEPT' => "application/rdf+xml"#"text/x-yaml" + get "/report/validation/1",nil,'HTTP_ACCEPT' => "application/rdf+xml"#"application/x-yaml" puts last_response.body.to_s #Reports::XMLReport.generate_demo_xml_report.write_to diff --git a/report/util.rb b/report/util.rb index 06a3232..db783b3 100644 --- a/report/util.rb +++ b/report/util.rb @@ -1,4 +1,4 @@ -require 'abbrev' + # graph-files are generated in the tmp-dir before they are stored ENV['TMP_DIR'] = File.join(FileUtils.pwd,"reports","tmp") unless ENV['TMP_DIR'] diff --git a/report/xml_report.rb b/report/xml_report.rb index 4b838a2..a621400 100644 --- a/report/xml_report.rb +++ b/report/xml_report.rb @@ -1,5 +1,4 @@ -require 'rexml/document' require "report/xml_report_util.rb" ENV['REPORT_DTD'] = "docbook-xml-4.5/docbookx.dtd" unless ENV['REPORT_DTD'] diff --git a/test/test_examples_util.rb b/test/test_examples_util.rb index 92cb526..582b814 100644 --- a/test/test_examples_util.rb +++ b/test/test_examples_util.rb @@ -5,7 +5,7 @@ module ValidationExamples @@dataset_uris = {} - def self.upload_dataset(file, dataset_service=@@config[:services]["opentox-dataset"], file_type="text/x-yaml") + def self.upload_dataset(file, dataset_service=@@config[:services]["opentox-dataset"], file_type="application/x-yaml") raise "File not found: "+file.path.to_s unless File.exist?(file.path) if @@dataset_uris[file.path.to_s]==nil data = File.read(file.path) @@ -209,11 +209,11 @@ module ValidationExamples def verify_yaml if @validation_uri =~ /crossvalidation/ - Util.verify_crossvalidation(Util.validation_get("crossvalidation/"+@validation_uri.split("/")[-1],'text/x-yaml')) - Util.validation_get("crossvalidation/"+@validation_uri.split("/")[-1]+"/statistics",'text/x-yaml') - Util.verify_validation(Util.validation_get("crossvalidation/"+@validation_uri.split("/")[-1]+"/statistics",'text/x-yaml')) + Util.verify_crossvalidation(Util.validation_get("crossvalidation/"+@validation_uri.split("/")[-1],'application/x-yaml')) + Util.validation_get("crossvalidation/"+@validation_uri.split("/")[-1]+"/statistics",'application/x-yaml') + Util.verify_validation(Util.validation_get("crossvalidation/"+@validation_uri.split("/")[-1]+"/statistics",'application/x-yaml')) else - Util.verify_validation(Util.validation_get(@validation_uri.split("/")[-1],'text/x-yaml')) + Util.verify_validation(Util.validation_get(@validation_uri.split("/")[-1],'application/x-yaml')) end end diff --git a/validation/validation_application.rb b/validation/validation_application.rb index 7328077..cadfa43 100644 --- a/validation/validation_application.rb +++ b/validation/validation_application.rb @@ -1,5 +1,5 @@ -[ 'rubygems', 'sinatra', 'sinatra/url_for', 'opentox-ruby-api-wrapper', 'logger' ].each do |lib| +[ 'rubygems', 'sinatra', 'sinatra/url_for', 'opentox-ruby-api-wrapper', 'logger', 'active_record', 'ar-extensions' ].each do |lib| require lib end @@ -33,8 +33,8 @@ get '/crossvalidation/:id' do when "application/rdf+xml" content_type "application/rdf+xml" result = crossvalidation.to_rdf - when /text\/x-yaml|\*\/\*|/ # matches 'text/x-yaml', '*/*', '' - content_type "text/x-yaml" + when /application\/x-yaml|\*\/\*|/ # matches 'text/x-yaml', '*/*', '' + content_type "application/x-yaml" result = crossvalidation.to_yaml else halt 400, "MIME type '"+request.env['HTTP_ACCEPT'].to_s+"' not supported." @@ -81,7 +81,7 @@ get '/crossvalidation/:id/statistics' do v.validation_uri = nil v.created_at = nil v.id = nil - content_type "text/x-yaml" + content_type "application/x-yaml" v.to_yaml end @@ -131,11 +131,11 @@ get '/:id' do when "application/rdf+xml" content_type "application/rdf+xml" result = validation.to_rdf - when /text\/x-yaml|\*\/\*|^$/ # matches 'text/x-yaml', '*/*', '' - content_type "text/x-yaml" + when /application\/x-yaml|\*\/\*|^$/ # matches 'application/x-yaml', '*/*', '' + content_type "application/x-yaml" result = validation.to_yaml else - halt 400, "MIME type '"+request.env['HTTP_ACCEPT'].to_s+"' not supported, valid Accept-Headers are \"application/rdf+xml\" and \"text/x-yaml\"." + halt 400, "MIME type '"+request.env['HTTP_ACCEPT'].to_s+"' not supported, valid Accept-Headers are \"application/rdf+xml\" and \"application/x-yaml\"." end result end diff --git a/validation/validation_service.rb b/validation/validation_service.rb index b2ad83b..96fd84a 100644 --- a/validation/validation_service.rb +++ b/validation/validation_service.rb @@ -348,23 +348,16 @@ module Validation " (shuffled with seed "+random_seed.to_s+")" compounds.shuffle!( random_seed ) - train_compounds = compounds[0..split] - test_compounds = compounds[(split+1)..-1] result = {} - {:training_dataset_uri => train_compounds, :test_dataset_uri => test_compounds}.each do |sym, compound_array| - - if sym == :training_dataset_uri - features = orig_dataset.features - title = "Training dataset split of "+orig_dataset.title.to_s - else - features = orig_dataset.features.dclone - [prediction_feature] - title = "Test dataset split of "+orig_dataset.title.to_s - end - source = $sinatra.url_for('/training_test_split',:full) - - result[sym] = orig_dataset.create_new_dataset( compound_array, features, title, source ) - end + result[:training_dataset_uri] = orig_dataset.create_new_dataset( compounds[0..split], + orig_dataset.features, + "Training dataset split of "+orig_dataset.title.to_s, + $sinatra.url_for('/training_test_split',:full) ) + result[:test_dataset_uri] = orig_dataset.create_new_dataset( compounds[(split+1)..-1], + orig_dataset.features.dclone - [prediction_feature], + "Test dataset split of "+orig_dataset.title.to_s, + $sinatra.url_for('/training_test_split',:full) ) $sinatra.halt 400, "Training dataset not found: '"+result[:training_dataset_uri].to_s+"'" unless OpenTox::Dataset.find result[:training_dataset_uri] $sinatra.halt 400, "Test dataset not found: '"+result[:test_dataset_uri].to_s+"'" unless OpenTox::Dataset.find result[:test_dataset_uri] diff --git a/validation/validation_test.rb b/validation/validation_test.rb index 3628482..ce53c99 100644 --- a/validation/validation_test.rb +++ b/validation/validation_test.rb @@ -15,7 +15,10 @@ class ValidationTest < Test::Unit::TestCase include Lib::TestUtil def test_it - $test_case = self + #$test_case = self + +# post "",:model_uri=>"http://localhost/model/1",:test_dataset_uri=>"http://localhost/dataset/3", +# :test_target_dataset_uri=>"http://localhost/dataset/1" #get "/crossvalidation/1",nil,'HTTP_ACCEPT' => "application/rdf+xml" #puts last_response.body @@ -23,13 +26,13 @@ class ValidationTest < Test::Unit::TestCase # post "/test_validation",:select=>"6d" #,:report=>"yes,please" # puts last_response.body - run_test("1b") #, "http://localhost/validation/321") + #run_test("1b") #, "http://localhost/validation/321") #run_test("3b", "http://localhost/validation/crossvalidation/1") #puts Nightly.build_nightly("1") #prepare_examples - #do_test_examples # USES CURL, DO NOT FORGET TO RESTART VALIDATION SERVICE + do_test_examples # USES CURL, DO NOT FORGET TO RESTART VALIDATION SERVICE end def app |