summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorrautenberg <rautenberg@in-silico.ch>2013-04-25 10:43:30 +0200
committerrautenberg <rautenberg@in-silico.ch>2013-04-25 10:43:30 +0200
commit4e5063039fd2207799e76b9afd97614c1091303b (patch)
treeae0818d79f5138fdee6166ea472992c08e5c6018 /lib
parent1d77184d371dcebe4c8f9953e0f631739e5d70b7 (diff)
add basic AA
Diffstat (limited to 'lib')
-rw-r--r--lib/authorization.rb6
-rw-r--r--lib/dataset.rb1
-rw-r--r--lib/opentox.rb5
3 files changed, 6 insertions, 6 deletions
diff --git a/lib/authorization.rb b/lib/authorization.rb
index 361e259..5a846c9 100644
--- a/lib/authorization.rb
+++ b/lib/authorization.rb
@@ -283,11 +283,7 @@ module OpenTox
# @return [Boolean] true if policy checked/created successfully (or no uri/subjectid given), false else
def self.check_policy(uri, subjectid)
return true unless uri and subjectid
- token_valid = OpenTox::Authorization.is_token_valid(subjectid)
- $logger.debug "OpenTox::Authorization.check_policy with uri: #{uri}, subjectid: #{subjectid} is valid: #{token_valid}"
- # check if subjectid is valid
- unless token_valid
- # abort if invalid
+ unless OpenTox::Authorization.is_token_valid(subjectid)
$logger.error "OpenTox::Authorization.check_policy, subjectid NOT valid: #{subjectid}"
return false
end
diff --git a/lib/dataset.rb b/lib/dataset.rb
index 402d2a1..22c606c 100644
--- a/lib/dataset.rb
+++ b/lib/dataset.rb
@@ -123,6 +123,7 @@ module OpenTox
# Adding data (@features and @compounds are also writable)
def upload filename, wait=true
+ Authorization.check_policy(@uri, @subjectid) if $aa[:uri]
uri = RestClientWrapper.put(@uri, {:file => File.new(filename)}, {:subjectid => @subjectid})
wait_for_task uri if URI.task?(uri) and wait
metadata true
diff --git a/lib/opentox.rb b/lib/opentox.rb
index 309a47d..80df507 100644
--- a/lib/opentox.rb
+++ b/lib/opentox.rb
@@ -100,6 +100,7 @@ module OpenTox
when 'application/rdf+xml'
body = self.to_rdfxml
end
+ Authorization.check_policy(@uri, @subjectid) if $aa[:uri]
uri = RestClientWrapper.post @uri.to_s, body, { :content_type => mime_type, :subjectid => @subjectid}
wait ? wait_for_task(uri) : uri
end
@@ -113,6 +114,7 @@ module OpenTox
when 'application/rdf+xml'
body = self.to_rdfxml
end
+ Authorization.check_policy(@uri, @subjectid) if $aa[:uri]
uri = RestClientWrapper.put @uri.to_s, body, { :content_type => mime_type, :subjectid => @subjectid}
wait ? wait_for_task(uri) : uri
end
@@ -120,6 +122,7 @@ module OpenTox
# Delete object at webservice
def delete
RestClientWrapper.delete(@uri.to_s,nil,{:subjectid => @subjectid})
+ Authorization.delete_policies_from_uri(@uri, @subjectid) if $aa[:uri]
end
def service_uri
@@ -191,7 +194,7 @@ module OpenTox
include OpenTox
def self.all subjectid=nil
- uris = RestClientWrapper.get(service_uri, {}, :accept => 'text/uri-list').split("\n").compact
+ uris = RestClientWrapper.get(service_uri, {}, :accept => 'text/uri-list', :subjectid => subjectid).split("\n").compact
uris.collect{|uri| self.new(uri, subjectid)}
end