From e5cb5d03a733775caa3fa4cdf01f76c58dc46edd Mon Sep 17 00:00:00 2001 From: mr Date: Mon, 10 Jan 2011 16:52:43 +0100 Subject: A&A --- application.rb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/application.rb b/application.rb index f6cfa14..23a7197 100644 --- a/application.rb +++ b/application.rb @@ -112,6 +112,7 @@ end # @return [text/uri-list] List of available datasets get '/?' do response['Content-Type'] = 'text/uri-list' + params.delete_if{|k,v| k=="subjectid"} Dataset.all(params).collect{|d| d.uri}.join("\n") + "\n" end @@ -137,7 +138,7 @@ get '/:id' do end end - dataset = OpenTox::Dataset.new + dataset = OpenTox::Dataset.new(nil, params[:subjectid]) dataset.load_yaml(Dataset.get(params[:id]).yaml) halt 404, "Dataset #{params[:id]} empty." if dataset.nil? # not sure how an empty dataset can be returned, but if this happens stale processes keep runing at 100% cpu @@ -307,10 +308,12 @@ delete '/:id' do uri = dataset.uri FileUtils.rm Dir["public/#{params[:id]}.*"] dataset.destroy! - if params[:subjectid] and !Dataset.get(params[:id]) and uri + subjectid = params[:subjectid] ? params[:subjectid] : nil + subjectid = request.env['HTTP_SUBJECTID'] if !subjectid and request.env['HTTP_SUBJECTID'] + if subjectid and !Dataset.get(params[:id]) and uri begin - aa = OpenTox::Authorization.delete_policies_from_uri(uri, params[:subjectid]) - LOGGER.debug "Policy deleted for Dataset URI: #{uri} with result: #{aa}" + res = OpenTox::Authorization.delete_policies_from_uri(uri, subjectid) + LOGGER.debug "Policy deleted for Dataset URI: #{uri} with result: #{res}" rescue LOGGER.warn "Policy delete error for Dataset URI: #{uri}" end -- cgit v1.2.3 From fe6be7ddb591cee17f3e10a9ccb962cfb34e3fb9 Mon Sep 17 00:00:00 2001 From: mr Date: Tue, 18 Jan 2011 11:06:26 +0100 Subject: get subjectid from api-wrapper helper --- application.rb | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/application.rb b/application.rb index 23a7197..3c21d3b 100644 --- a/application.rb +++ b/application.rb @@ -20,7 +20,7 @@ class Dataset data = request.env["rack.input"].read content_type = request.content_type content_type = "application/rdf+xml" if content_type.nil? - dataset = OpenTox::Dataset.new + dataset = OpenTox::Dataset.new(nil, params[:subjectid]) case content_type @@ -138,7 +138,7 @@ get '/:id' do end end - dataset = OpenTox::Dataset.new(nil, params[:subjectid]) + dataset = OpenTox::Dataset.new(nil, @subjectid) dataset.load_yaml(Dataset.get(params[:id]).yaml) halt 404, "Dataset #{params[:id]} empty." if dataset.nil? # not sure how an empty dataset can be returned, but if this happens stale processes keep runing at 100% cpu @@ -258,8 +258,7 @@ end post '/?' do @dataset = Dataset.create response['Content-Type'] = 'text/uri-list' - @dataset.subjectid = params[:subjectid] if params[:subjectid] - @dataset.subjectid = request.env['HTTP_SUBJECTID'] if !@dataset.subjectid and request.env['HTTP_SUBJECTID'] + @dataset.subjectid = @subjectid @dataset.update(:uri => url_for("/#{@dataset.id}", :full)) token_present = params.member?("subjectid") ? 1 : 0 @@ -308,11 +307,9 @@ delete '/:id' do uri = dataset.uri FileUtils.rm Dir["public/#{params[:id]}.*"] dataset.destroy! - subjectid = params[:subjectid] ? params[:subjectid] : nil - subjectid = request.env['HTTP_SUBJECTID'] if !subjectid and request.env['HTTP_SUBJECTID'] - if subjectid and !Dataset.get(params[:id]) and uri + if @subjectid and !Dataset.get(params[:id]) and uri begin - res = OpenTox::Authorization.delete_policies_from_uri(uri, subjectid) + res = OpenTox::Authorization.delete_policies_from_uri(uri, @subjectid) LOGGER.debug "Policy deleted for Dataset URI: #{uri} with result: #{res}" rescue LOGGER.warn "Policy delete error for Dataset URI: #{uri}" -- cgit v1.2.3