Fix crash in collections.provenance when a script_parameter is a Fixnum.
authorTom Clegg <tom@curoverse.com>
Fri, 14 Feb 2014 04:48:40 +0000 (20:48 -0800)
committerTom Clegg <tom@curoverse.com>
Fri, 14 Feb 2014 04:48:40 +0000 (20:48 -0800)
services/api/app/controllers/arvados/v1/collections_controller.rb
services/api/test/fixtures/jobs.yml

index feed5cecb0ee4b0fb99275e02934f2a0c56e509b..dc95ea064dce392d9b908d13ff3495cbe652b34a 100644 (file)
@@ -61,21 +61,20 @@ class Arvados::V1::CollectionsController < ApplicationController
   end
 
   def script_param_edges(visited, sp)
-    if sp and not sp.empty?
-      case sp
-      when Hash
-        sp.each do |k, v|
-          script_param_edges(visited, v)
-        end
-      when Array
-        sp.each do |v|
-          script_param_edges(visited, v)
-        end
-      else
-        m = collection_uuid(sp)
-        if m
-          generate_provenance_edges(visited, m)
-        end
+    case sp
+    when Hash
+      sp.each do |k, v|
+        script_param_edges(visited, v)
+      end
+    when Array
+      sp.each do |v|
+        script_param_edges(visited, v)
+      end
+    when String
+      return if sp.empty?
+      m = collection_uuid(sp)
+      if m
+        generate_provenance_edges(visited, m)
       end
     end
   end
index 4adf985c6d0f1fc7bde38bc98cfa6e514e20c103..9780067b352adea69270e51778f3522f0d203cd8 100644 (file)
@@ -95,6 +95,7 @@ barbaz:
   script_version: 7def43a4d3f20789dda4700f703b5514cc3ed250
   script_parameters:
     input: fa7aeb5140e2848d39b416daeef4ffc5+45
+    an_integer: 1
   started_at: <%= 3.minute.ago.to_s(:db) %>
   finished_at: <%= 2.minute.ago.to_s(:db) %>
   running: false