summaryrefslogtreecommitdiff
path: root/lib/dataset.rb
diff options
context:
space:
mode:
authormr <mr@mrautenberg.de>2010-12-09 10:46:13 +0100
committermr <mr@mrautenberg.de>2010-12-09 10:46:13 +0100
commitc4504c72ffb2920de65399a2dc0a2c29fe04a52d (patch)
treebadc015e7f3f66ddd2f0fdef9d1e05d7d80a5341 /lib/dataset.rb
parentbb99bb49636db1d3f07b6f540dc8624a677ade2f (diff)
A&A implementation
Diffstat (limited to 'lib/dataset.rb')
-rw-r--r--lib/dataset.rb12
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/dataset.rb b/lib/dataset.rb
index c5704ae..bbd8b8b 100644
--- a/lib/dataset.rb
+++ b/lib/dataset.rb
@@ -6,6 +6,7 @@ module OpenTox
include OpenTox
attr_reader :features, :compounds, :data_entries, :metadata
+ attr_accessor :token_id
# Create dataset with optional URI. Does not load data into the dataset - you will need to execute one of the load_* methods to pull data from a service or to insert it from other representations.
# @example Create an empty dataset
@@ -14,8 +15,9 @@ module OpenTox
# dataset = OpenTox::Dataset.new("http:://webservices.in-silico/ch/dataset/1")
# @param [optional, String] uri Dataset URI
# @return [OpenTox::Dataset] Dataset object
- def initialize(uri=nil)
+ def initialize(uri=nil,token_id=nil)
super uri
+ @token_id = token_id
@features = {}
@compounds = []
@data_entries = {}
@@ -26,8 +28,9 @@ module OpenTox
# dataset = OpenTox::Dataset.create
# @param [optional, String] uri Dataset URI
# @return [OpenTox::Dataset] Dataset object
- def self.create(uri=CONFIG[:services]["opentox-dataset"])
+ def self.create(uri=CONFIG[:services]["opentox-dataset"], token_id=nil)
dataset = Dataset.new
+ dataset.token_id = token_id if token_id
dataset.save
dataset
end
@@ -252,7 +255,7 @@ module OpenTox
@compounds.uniq!
if @uri
if (CONFIG[:yaml_hosts].include?(URI.parse(@uri).host))
- RestClientWrapper.post(@uri,{:content_type => "application/x-yaml"},self.to_yaml)
+ RestClientWrapper.post(@uri,{:content_type => "application/x-yaml", :token_id => @token_id},self.to_yaml)
else
File.open("ot-post-file.rdf","w+") { |f| f.write(self.to_rdfxml); @path = f.path }
task_uri = RestClient.post(@uri, {:file => File.new(@path)},{:accept => "text/uri-list"}).to_s.chomp
@@ -262,7 +265,7 @@ module OpenTox
end
else
# create dataset if uri is empty
- self.uri = RestClientWrapper.post(CONFIG[:services]["opentox-dataset"],{}).to_s.chomp
+ self.uri = RestClientWrapper.post(CONFIG[:services]["opentox-dataset"],{:token_id => @token_id}).to_s.chomp
end
@uri
end
@@ -279,6 +282,7 @@ module OpenTox
@data_entries = dataset.data_entries
@compounds = dataset.compounds
@features = dataset.features
+ @token_id = dataset.token_id
if @uri
self.uri = @uri
else