mannie-taverna-t2flow 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  = Taverna[http://taverna.sourceforge.net] 2 Interaction Gem
2
2
 
3
- Author:: Emmanuel Tagarira
4
- Version:: 0.0.4
3
+ Authors:: Emmanuel Tagarira, David Withers
4
+ Version:: 0.0.5
5
5
  Contact:: mailto:emmanuel.tagarira@student.manchester.ac.uk
6
6
  URL:: http://taverna.sourceforge.net/
7
7
  Licence:: LGPL 3 (See LICENCE or http://www.gnu.org/licenses/lgpl.html)
@@ -0,0 +1,7 @@
1
+ = Version 0.0.5
2
+
3
+ == Bug fixes
4
+ - BioMart services now return a type value instead of nil when processor.type is invoked.
5
+
6
+ == Added Functionality
7
+ - Extraction of *some* inputs and outputs for service type processors.
data/lib/t2flow/parser.rb CHANGED
@@ -132,10 +132,21 @@ module T2Flow
132
132
  def add_processor(dataflow, element) # :nodoc:
133
133
  processor = Processor.new
134
134
 
135
+ temp_inputs = []
136
+ temp_outputs = []
137
+
135
138
  element.each do |elt|
136
139
  case elt.name
137
140
  when "name"
138
141
  processor.name = elt.content
142
+ when /inputports/i # ports from services
143
+ elt.each { |port|
144
+ port.each { |x| temp_inputs << x.content if x.name=="name" }
145
+ }
146
+ when /outputports/i # ports from services
147
+ elt.each { |port|
148
+ port.each { |x| temp_outputs << x.content if x.name=="name" }
149
+ }
139
150
  when "activities" # a processor can only have one kind of activity
140
151
  activity = elt.child
141
152
  activity.each do |node|
@@ -146,20 +157,21 @@ module T2Flow
146
157
  processor.dataflow_id = activity_node["ref"]
147
158
  processor.type = "workflow"
148
159
  else
149
- processor.type = activity_node.name.split(".")[-2]
150
-
160
+ processor.type = (activity_node.name =~ /martquery/i ?
161
+ "biomart" : activity_node.name.split(".")[-2])
162
+
151
163
  activity_node.each do |value_node|
152
164
  case value_node.name
153
165
  when "script"
154
166
  processor.script = value_node.content
155
- when "inputs"
167
+ when "inputs" # ALL ports present in beanshell
156
168
  value_node.each { |input|
157
169
  input.each { |x|
158
170
  processor.inputs = [] if processor.inputs.nil?
159
171
  processor.inputs << x.content if x.name == "name"
160
172
  }
161
173
  }
162
- when "outputs"
174
+ when "outputs" # ALL ports present in beanshell
163
175
  value_node.each { |output|
164
176
  output.each { |x|
165
177
  processor.outputs = [] if processor.outputs.nil?
@@ -174,6 +186,8 @@ module T2Flow
174
186
  end # case elt.name
175
187
  end # element.each
176
188
 
189
+ processor.inputs = temp_inputs if processor.inputs.nil? && !temp_inputs.empty?
190
+ processor.outputs = temp_outputs if processor.outputs.nil? && !temp_outputs.empty?
177
191
  dataflow.processors << processor
178
192
  end
179
193
 
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mannie-taverna-t2flow
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emmanuel Tagarira
8
+ - David Withers
8
9
  autorequire: t2flow
9
10
  bindir: bin
10
11
  cert_chain:
11
- date: 2009-08-21 00:00:00 -07:00
12
+ date: 2009-09-10 00:00:00 -07:00
12
13
  default_executable:
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
@@ -48,23 +49,24 @@ executables: []
48
49
  extensions: []
49
50
 
50
51
  extra_rdoc_files:
51
- - README
52
+ - README.rdoc
52
53
  - LICENCE
54
+ - Release_Notes.rdoc
53
55
  files:
54
56
  - lib/t2flow
55
57
  - lib/t2flow/dot.rb
56
58
  - lib/t2flow/model.rb
57
59
  - lib/t2flow/parser.rb
58
- - README
60
+ - README.rdoc
59
61
  - LICENCE
62
+ - Release_Notes.rdoc
60
63
  has_rdoc: true
61
64
  homepage: http://www.mygrid.org.uk/
62
- licenses:
63
65
  post_install_message:
64
66
  rdoc_options:
65
67
  - -N
66
68
  - --tab-width=2
67
- - --main=README
69
+ - --main=README.rdoc
68
70
  - --exclude='scufl.gemspec|test'
69
71
  require_paths:
70
72
  - lib
@@ -83,7 +85,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
83
85
  requirements: []
84
86
 
85
87
  rubyforge_project:
86
- rubygems_version: 1.3.5
88
+ rubygems_version: 1.2.0
87
89
  signing_key:
88
90
  specification_version: 1
89
91
  summary: Support for interacting with the Taverna 2 workflow system (T2Flow).