Working on javascript magic to resize svg div so scrolling works nicely. Seems to...
[arvados.git] / apps / workbench / app / controllers / pipeline_instances_controller.rb
1 class PipelineInstancesController < ApplicationController
2
3   def show
4     pipelines = [@object]
5
6     if params[:compare]
7       PipelineInstance.where(uuid: params[:compare]).each do |p| pipelines << p end
8     end
9
10     count = {}    
11     provenance = {}
12     pips = {}
13     n = 1
14
15     pipelines.each do |p|
16       collections = []
17
18       p.components.each do |k, v|
19         j = v[:job]
20
21         uuid = j[:uuid].intern
22         provenance[uuid] = j
23         pips[uuid] = 0 unless pips[uuid] != nil
24         pips[uuid] |= n
25
26         collections << j[:output]
27         ProvenanceHelper::find_collections(j[:script_parameters]).each do |k|
28           collections << k
29         end
30
31         uuid = j[:script_version].intern
32         provenance[uuid] = {:uuid => uuid}
33         pips[uuid] = 0 unless pips[uuid] != nil
34         pips[uuid] |= n
35       end
36
37       Collection.where(uuid: collections).each do |c|
38         uuid = c.uuid.intern
39         provenance[uuid] = c
40         pips[uuid] = 0 unless pips[uuid] != nil
41         pips[uuid] |= n
42       end
43       
44       n = n << 1
45     end
46
47     #puts pips
48
49     @prov_svg = ProvenanceHelper::create_provenance_graph provenance, "provenance_svg", {
50       :all_script_parameters => true, 
51       :combine_jobs => :script_and_version,
52       :script_version_nodes => true,
53       :pips => pips }
54   end
55
56 end