summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Rakefile35
-rw-r--r--application.rb2
-rw-r--r--lib/test_util.rb2
-rw-r--r--lib/validation_db.rb8
-rw-r--r--report/environment.rb18
-rw-r--r--report/report_application.rb2
-rw-r--r--report/report_format.rb2
-rw-r--r--report/report_persistance.rb2
-rw-r--r--report/report_test.rb2
-rw-r--r--report/util.rb2
-rw-r--r--report/xml_report.rb1
-rw-r--r--test/test_examples_util.rb10
-rw-r--r--validation/validation_application.rb14
-rw-r--r--validation/validation_service.rb23
-rw-r--r--validation/validation_test.rb9
15 files changed, 65 insertions, 67 deletions
diff --git a/Rakefile b/Rakefile
index 185f948..67862b0 100644
--- a/Rakefile
+++ b/Rakefile
@@ -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