X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/c16a97576716f81c721bcd0c889309cb75e3eb9a..324dc9f33d95cdeacf23c0570607900be945d20f:/apps/workbench/app/controllers/pipeline_instances_controller.rb diff --git a/apps/workbench/app/controllers/pipeline_instances_controller.rb b/apps/workbench/app/controllers/pipeline_instances_controller.rb index b7339c07de..42cb2e9d44 100644 --- a/apps/workbench/app/controllers/pipeline_instances_controller.rb +++ b/apps/workbench/app/controllers/pipeline_instances_controller.rb @@ -13,7 +13,7 @@ class PipelineInstancesController < ApplicationController collections = [] p.components.each do |k, v| - j = v[:job] + j = v[:job] || next uuid = j[:uuid].intern provenance[uuid] = j @@ -31,7 +31,7 @@ class PipelineInstancesController < ApplicationController pips[uuid] |= n end - Collection.where(uuid: collections).each do |c| + Collection.where(uuid: collections.compact).each do |c| uuid = c.uuid.intern provenance[uuid] = c pips[uuid] = 0 unless pips[uuid] != nil @@ -60,6 +60,7 @@ class PipelineInstancesController < ApplicationController :combine_jobs => :script_and_version, :script_version_nodes => true, :pips => pips } + super end def compare @@ -94,6 +95,7 @@ class PipelineInstancesController < ApplicationController highscore = {} # attr => how common "normal" is score = {} # attr => { value => how common } row[:components].each do |pj| + next if pj.nil? pj.each do |k,v| vstr = for_comparison v score[k] ||= {} @@ -112,6 +114,7 @@ class PipelineInstancesController < ApplicationController # Add a hash in component[:is_normal]: { attr => is_the_value_normal? } row[:components].each do |pj| + next if pj.nil? pj[:is_normal] = {} pj.each do |k,v| pj[:is_normal][k] = (normal.has_key?(k) && normal[k] == for_comparison(v)) @@ -121,6 +124,8 @@ class PipelineInstancesController < ApplicationController provenance, pips = graph(@objects) + @pipelines = @objects + @prov_svg = ProvenanceHelper::create_provenance_graph provenance, "provenance_svg", { :all_script_parameters => true, :combine_jobs => :script_and_version, @@ -129,9 +134,13 @@ class PipelineInstancesController < ApplicationController end def show_pane_list - %w(components graph attributes links json api) + %w(Components Graph Attributes Metadata JSON API) end + def compare_pane_list + %w(Compare Graph) + end + protected def for_comparison v if v.is_a? Hash or v.is_a? Array