[ARVADOS] updated: c41beef3142e9c3e15385b2ad76c2a0088ca6a20

git at public.curoverse.com git at public.curoverse.com
Thu Feb 13 14:17:05 EST 2014


Summary of changes:
 apps/workbench/app/helpers/provenance_helper.rb |   95 +++++++++++------------
 1 files changed, 47 insertions(+), 48 deletions(-)

       via  c41beef3142e9c3e15385b2ad76c2a0088ca6a20 (commit)
      from  ed79eef62219259ef98dcdc8886d1a7132531075 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit c41beef3142e9c3e15385b2ad76c2a0088ca6a20
Author: Tom Clegg <tom at curoverse.com>
Date:   Thu Feb 13 11:16:53 2014 -0800

    Fix crash when a script_parameter value is a Fixnum. fixes #2167

diff --git a/apps/workbench/app/helpers/provenance_helper.rb b/apps/workbench/app/helpers/provenance_helper.rb
index ae4d251..6d6ae55 100644
--- a/apps/workbench/app/helpers/provenance_helper.rb
+++ b/apps/workbench/app/helpers/provenance_helper.rb
@@ -111,46 +111,45 @@ module ProvenanceHelper
 
     def script_param_edges(job, prefix, sp)
       gr = ""
-      if sp and not sp.empty?
-        case sp
-        when Hash
-          sp.each do |k, v|
-            if prefix.size > 0
-              k = prefix + "::" + k.to_s
-            end
-            gr += script_param_edges(job, k.to_s, v)
-          end
-        when Array
-          i = 0
-          node = ""
-          sp.each do |v|
-            if GenerateGraph::collection_uuid(v)
-              gr += script_param_edges(job, "#{prefix}[#{i}]", v)
-            elsif @opts[:all_script_parameters]
-              node += "', '" unless node == ""
-              node = "['" if node == ""
-              node += "#{v}"
-            end
-            i += 1
-          end
-          unless node == ""
-            node += "']"
-            #puts node
-            #id = "#{job[:uuid]}_#{prefix}"
-            gr += "\"#{node}\" [label=\"#{node}\"];\n"
-            gr += edge(job_uuid(job), node, {:label => prefix})        
+      case sp
+      when Hash
+        sp.each do |k, v|
+          if prefix.size > 0
+            k = prefix + "::" + k.to_s
           end
-        else
-          m = GenerateGraph::collection_uuid(sp)
-          #puts "#{m} pdata is #{@pdata[m.intern]}"
-          if m and (@pdata[m.intern] or (not @opts[:pdata_only]))
-            gr += edge(job_uuid(job), m, {:label => prefix})
-            gr += generate_provenance_edges(m)
+          gr += script_param_edges(job, k.to_s, v)
+        end
+      when Array
+        i = 0
+        node = ""
+        sp.each do |v|
+          if GenerateGraph::collection_uuid(v)
+            gr += script_param_edges(job, "#{prefix}[#{i}]", v)
           elsif @opts[:all_script_parameters]
-            #id = "#{job[:uuid]}_#{prefix}"
-            gr += "\"#{sp}\" [label=\"#{sp}\"];\n"
-            gr += edge(job_uuid(job), sp, {:label => prefix})
+            node += "', '" unless node == ""
+            node = "['" if node == ""
+            node += "#{v}"
           end
+          i += 1
+        end
+        unless node == ""
+          node += "']"
+          #puts node
+          #id = "#{job[:uuid]}_#{prefix}"
+          gr += "\"#{node}\" [label=\"#{node}\"];\n"
+          gr += edge(job_uuid(job), node, {:label => prefix})        
+        end
+      when String
+        return '' if sp.empty?
+        m = GenerateGraph::collection_uuid(sp)
+        #puts "#{m} pdata is #{@pdata[m.intern]}"
+        if m and (@pdata[m.intern] or (not @opts[:pdata_only]))
+          gr += edge(job_uuid(job), m, {:label => prefix})
+          gr += generate_provenance_edges(m)
+        elsif @opts[:all_script_parameters]
+          #id = "#{job[:uuid]}_#{prefix}"
+          gr += "\"#{sp}\" [label=\"#{sp}\"];\n"
+          gr += edge(job_uuid(job), sp, {:label => prefix})
         end
       end
       gr
@@ -309,17 +308,17 @@ edge [fontsize=10];
 
   def self.find_collections(sp)
     c = []
-    if sp and not sp.empty?
-      case sp
-      when Hash
-        sp.each do |k, v|
-          c.concat(find_collections(v))
-        end
-      when Array
-        sp.each do |v|
-          c.concat(find_collections(v))
-        end
-      else
+    case sp
+    when Hash
+      sp.each do |k, v|
+        c.concat(find_collections(v))
+      end
+    when Array
+      sp.each do |v|
+        c.concat(find_collections(v))
+      end
+    when String
+      if !sp.empty?
         m = GenerateGraph::collection_uuid(sp)
         if m
           c << m

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list