From d724cd5432162a38e51422d4877cc4ba5bd52dec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20G=C3=BCtlein?= Date: Wed, 17 Feb 2010 09:58:27 +0100 Subject: file and uri length 255, copy paste error fixed, auto migrate when delete all --- application.rb | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/application.rb b/application.rb index 8464e89..ec54d97 100644 --- a/application.rb +++ b/application.rb @@ -5,8 +5,8 @@ require 'opentox-ruby-api-wrapper' class Dataset include DataMapper::Resource property :id, Serial - property :uri, String, :length => 100 - property :file, String + property :uri, String, :length => 255 + property :file, String, :length => 255 #property :owl, Text, :length => 1000000 property :created_at, DateTime @@ -42,7 +42,7 @@ get '/:id/?' do when /rdf/ # redland sends text/rdf instead of application/rdf+xml dataset.owl when /yaml/ - OpenTox::Dataset.find(uri).to_yaml + OpenTox::Dataset.find(dataset.uri).to_yaml else halt 400, "Unsupported MIME type '#{accept}'" end @@ -80,7 +80,7 @@ post '/?' do LOGGER.debug "Saving dataset #{uri}." begin dataset.owl = d.rdf - dataset.uri = uri + dataset.uri = uri dataset.save task.completed(uri) rescue => e @@ -93,6 +93,10 @@ post '/?' do task.pid = pid #status 303 # rest client tries to redirect task.uri + + + + end delete '/:id/?' do @@ -107,13 +111,15 @@ delete '/:id/?' do end delete '/?' do + Dataset.all.each do |d| begin File.delete d.file rescue LOGGER.error "Cannot delete dataset file '#{d.file}'" end - d.destroy! + #d.destroy! end + Dataset.auto_migrate! "All datasets deleted." end -- cgit v1.2.3 From 2d58fd80281ddc6a9c061867f3e6930a71df0ffd Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Fri, 19 Mar 2010 16:24:41 +0100 Subject: owl parsing implemented --- application.rb | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/application.rb b/application.rb index 2e56233..bd0cea6 100644 --- a/application.rb +++ b/application.rb @@ -18,12 +18,14 @@ class Dataset def to_owl data = YAML.load(yaml) - owl = OpenTox::Owl.new 'Dataset', uri + owl = OpenTox::Owl.create 'Dataset', uri ['title', 'source'].each do |method| eval "owl.#{method} = data.#{method}" end - data.data.each do |compound,features| - owl.add_data_entries compound,features + if data.data + data.data.each do |compound,features| + owl.add_data_entries compound,features + end end owl.rdf end @@ -57,8 +59,7 @@ get '/:id' do begin dataset = Dataset.get(params[:id]) rescue => e - LOGGER.error e.message - LOGGER.warn e.backtrace + raise e.message + e.backtrace halt 404, "Dataset #{params[:id]} not found." end case accept -- cgit v1.2.3 From a7235bb51c2044c2a65c464fbbd1a55929fdfa30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20G=C3=BCtlein?= Date: Thu, 25 Mar 2010 19:13:28 +0100 Subject: make sure datamapper-saving works --- application.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application.rb b/application.rb index c83ba7f..e0a6abc 100644 --- a/application.rb +++ b/application.rb @@ -110,7 +110,7 @@ post '/?' do begin #dataset.owl = d.rdf #dataset.uri = uri - dataset.save + raise "saving failed: "+dataset.errors.inspect unless dataset.save rescue => e LOGGER.error e.message LOGGER.info e.backtrace -- cgit v1.2.3