Class: T2Flow::Model

Inherits:
Object
  • Object
show all
Defined in:
lib/t2flow/model.rb

Overview

The model for a given Taverna 2 workflow.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeModel

Creates an empty model for a Taverna 2 workflow.



14
15
16
# File 'lib/t2flow/model.rb', line 14

def initialize
  @dataflows = []
end

Instance Attribute Details

#dataflowsObject

The list of all the dataflows that make up the workflow.



8
9
10
# File 'lib/t2flow/model.rb', line 8

def dataflows
  @dataflows
end

#dependenciesObject

The list of any dependencies that have been found inside the workflow.



11
12
13
# File 'lib/t2flow/model.rb', line 11

def dependencies
  @dependencies
end

Instance Method Details

#annotationsObject

Retrieve the annotations within the workflow. In the event that the workflow is nested, retrieve the top-level annotations.



43
44
45
# File 'lib/t2flow/model.rb', line 43

def annotations
  @dataflows[0].annotations
end

#beanshellsObject

Retrieve ALL the processors containing beanshells within the workflow.



30
31
32
33
34
35
36
37
38
# File 'lib/t2flow/model.rb', line 30

def beanshells
  beanshells = []
  @dataflows.each { |dataflow| 
    dataflow.beanshells.each { |bean|
      beanshells << bean
    }
  }
  return beanshells
end

#dataflow(df_id) ⇒ Object

Retrieve the dataflow with the given ID



24
25
26
27
# File 'lib/t2flow/model.rb', line 24

def dataflow(df_id)
  df = @dataflows.select { |x| x.dataflow_id == df_id }
  return df[0]
end

#dataflow_idObject

Retrieve the unique dataflow ID for the top level dataflow.



58
59
60
# File 'lib/t2flow/model.rb', line 58

def dataflow_id
  @dataflows[0].dataflow_id
end

#sinksObject

Retrieve the sinks/outputs to the workflow



53
54
55
# File 'lib/t2flow/model.rb', line 53

def sinks
  @dataflows[0].sinks
end

#sourcesObject

Retrieve the sources/inputs to the workflow



48
49
50
# File 'lib/t2flow/model.rb', line 48

def sources
  @dataflows[0].sources
end

#top_levelObject

Retrieve the top-level dataflow ie the MAIN (containing) dataflow



19
20
21
# File 'lib/t2flow/model.rb', line 19

def top_level
  @dataflows[0]
end