From dee8892491dcda0bfa68c413ee0fbbc0ddd33f12 Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Fri, 15 Feb 2013 12:23:52 +0100 Subject: error messages in tasks fixed --- lib/error.rb | 2 +- lib/opentox.rb | 5 +++-- lib/task.rb | 13 ++++++++----- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/lib/error.rb b/lib/error.rb index e58ed5d..3dd2950 100644 --- a/lib/error.rb +++ b/lib/error.rb @@ -31,7 +31,7 @@ class RuntimeError # rdf serialization methods for all formats e.g. to_rdfxml send :define_method, "to_#{format}".to_sym do RDF::Writer.for(format).buffer do |writer| - @rdf.each{|statement| writer << statement} + @rdf.each{|statement| writer << statement} if @rdf end end end diff --git a/lib/opentox.rb b/lib/opentox.rb index d1e09f6..221a8dd 100644 --- a/lib/opentox.rb +++ b/lib/opentox.rb @@ -122,8 +122,9 @@ module OpenTox t = OpenTox::Task.new uri t.wait unless t.completed? - method = RestClientWrapper.known_errors.select{|error| error[:code] == t.hasStatus.to_i}.first[:method] - Object.send(method,t.message,t.uri) + method = RestClientWrapper.known_errors.select{|error| error[:code] == t.code}.first[:method] + t.get + Object.send(method,t.error_report[RDF::OT.message],t.uri) end uri = t.resultURI end diff --git a/lib/task.rb b/lib/task.rb index 315dc18..3d427bc 100644 --- a/lib/task.rb +++ b/lib/task.rb @@ -92,27 +92,30 @@ module OpenTox while running? sleep dur dur = [[(Time.new - start_time)/20.0,0.3].max,300.0].min - time_out_error "max wait time exceeded ("+DEFAULT_TASK_MAX_DURATION.to_s+"sec), task: '"+@uri.to_s+"'" if (Time.new > due_to_time) + request_timeout_error "max wait time exceeded ("+DEFAULT_TASK_MAX_DURATION.to_s+"sec), task: '"+@uri.to_s+"'" if (Time.new > due_to_time) end end end + def code + RestClientWrapper.head(@uri).code.to_i + end + # get only header for status requests def running? - RestClientWrapper.head(@uri).code == 202 + code == 202 end def cancelled? - RestClientWrapper.head(@uri).code == 503 + code == 503 end def completed? - RestClientWrapper.head(@uri).code == 200 + code == 200 end def error? - code = RestClientWrapper.head(@uri).code code >= 400 and code != 503 end -- cgit v1.2.3