+ # def cr_edges cr, edge_opts={}
+ # gr = ""
+
+ # gr += describe_node(cr[:uuid], {href: {controller: 'container_requests',
+ # id: cr[:uuid]},
+ # label: cr[:name],
+ # shape: 'oval'})
+ # # Connect child CRs
+ # children = @opts[:cr_children_of].andand[cr[:uuid]]
+ # if children
+ # children.each do |child|
+ # gr += edge(child[:uuid], cr[:uuid], {label: 'child'})
+ # end
+ # end
+ # # Output collection node
+ # if cr[:output_uuid] and @opts[:output_collections][cr[:output_uuid]]
+ # c = @opts[:output_collections][cr[:output_uuid]]
+ # gr += describe_node(c[:portable_data_hash],
+ # {
+ # label: c[:name],
+ # col_uuid: c[:uuid],
+ # })
+ # gr += edge(cr[:uuid],
+ # c[:portable_data_hash],
+ # {label: 'output'})
+ # end
+ # # Input collection nodes
+ # output_pdhs = @opts[:output_collections].values.collect{|oc|
+ # oc[:portable_data_hash]}
+ # ProvenanceHelper::cr_input_pdhs(cr).each do |pdh|
+ # if not output_pdhs.include?(pdh)
+ # # Search for collections on the same project first
+ # cols = @opts[:input_collections][pdh].andand.select{|ic|
+ # ic[:owner_uuid] == cr[:owner_uuid]}
+ # if not cols or cols.empty?
+ # # Search for any collection with this PDH
+ # cols = @opts[:input_collections][pdh]
+ # end
+ # if cols
+ # names = cols.collect{|x| x[:name]}.uniq
+ # else
+ # names = ['(collection not found)']
+ # end
+ # input_name = names.first
+ # if names.length > 1
+ # input_name += " + #{names.length - 1} more"
+ # end
+ # gr += describe_node(pdh, {label: input_name})
+ # end
+ # gr += edge(pdh, cr[:uuid], {label: 'input'})
+ # end
+
+ # gr
+ # end
+
+ def cr_edges cont, edge_opts={}
+ uuid = cont[:uuid]