lib/cpee/processtransformation/cpee.rb in cpee-1.3.134 vs lib/cpee/processtransformation/cpee.rb in cpee-1.3.136

- old
+ new

@@ -36,28 +36,32 @@ end def generate_for_list(list,res) list.each do |e| nam = e.class.name.gsub(/\w+:+/,'') - send("print_#{nam}".to_sym,e,res) + send("print_#{nam}".to_sym,e,res) + end end - end private :generate_for_list def print_Break(node,res) res.add('break') end def print_InfiniteLoop(node,res) s1 = res.add('loop', 'pre_test' => 'true') generate_for_list(node,s1) end - def print_Loop(node,res) - s1 = res.add('loop', 'pre_test' => node.condition.join(' && ')) + def print_Loop_default(node,res) + s1 = res.add('loop', 'pre_test' => node.condition.empty? ? 'true' : node.condition.join(' && ')) s1.attributes['language'] = node.condition_type unless node.condition_type.nil? generate_for_list(node,s1) + s1 end + private :print_Loop_default + def print_Loop(node,res); print_Loop_default(node,res); end + private :print_Loop def print_Node(node,res) if node.endpoints.empty? && !node.script.nil? && node.script.strip != '' n = res.add('d:manipulate', 'id' => "a#{node.niceid}") n.text = node.script @@ -81,20 +85,23 @@ end end end private :print_Node - def print_Parallel(node,res) + def print_Parallel_default(node,res) s1 = res.add('parallel','wait' => node.wait) node.sub.each do |branch| s2 = s1.add('parallel_branch') generate_for_list(branch,s2) end + s1 end + private :print_Parallel_default + def print_Parallel(node,res); print_Parallel_default(node,res); end private :print_Parallel - def print_Conditional(node,res) + def print_Conditional_default(node,res) s1 = res.add('d:choose', 'mode' => node.mode) node.sub.each do |branch| s2 = if branch.condition.any? a = s1.add('d:alternative','condition' => branch.condition.join(' or ')) a.attributes['language'] = branch.condition_type unless branch.condition_type.nil? @@ -105,11 +112,15 @@ generate_for_list(branch,s2) end if (x = s1.find('d:otherwise')).any? s1.add x end + s1 end + private :print_Conditional_default + def print_Conditional(node,res); print_Conditional_default(node,res); end private :print_Conditional + end end end