aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/netex_import.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/netex_import.rb')
-rw-r--r--app/models/netex_import.rb31
1 files changed, 24 insertions, 7 deletions
diff --git a/app/models/netex_import.rb b/app/models/netex_import.rb
index 32939a741..a7a5bb9b8 100644
--- a/app/models/netex_import.rb
+++ b/app/models/netex_import.rb
@@ -1,19 +1,36 @@
require 'net/http'
class NetexImport < Import
+ before_destroy :destroy_non_ready_referential
+
after_commit :launch_java_import, on: :create
+ before_save def abort_unless_referential
+ self.status = 'aborted' unless referential
+ end
validates_presence_of :parent
def launch_java_import
return if self.class.finished_statuses.include?(status)
+ threaded_call_boiv_iev
+ end
- Thread.new do
- begin
- Net::HTTP.get(URI("#{Rails.configuration.iev_url}/boiv_iev/referentials/importer/new?id=#{id}"))
- rescue Exception => e
- logger.error "IEV server error : #{e.message}"
- logger.error e.backtrace.inspect
- end
+ private
+
+ def destroy_non_ready_referential
+ if referential && !referential.ready
+ referential.destroy
end
end
+
+ def threaded_call_boiv_iev
+ Thread.new(&method(:call_boiv_iev))
+ end
+
+ def call_boiv_iev
+ Net::HTTP.get(URI("#{Rails.configuration.iev_url}/boiv_iev/referentials/importer/new?id=#{id}"))
+ rescue Exception => e
+ logger.error "IEV server error : #{e.message}"
+ logger.error e.backtrace.inspect
+ end
+
end