mannie-taverna-t2flow 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -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).