Changeset 1989
- Timestamp:
- 09/29/07 17:14:29 (1 year ago)
- Files:
-
- trunk/lib/wsdl/soap/classDefCreator.rb (modified) (6 diffs)
- trunk/test/wsdl/soap/wsdl2ruby/test_wsdl2ruby.rb (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lib/wsdl/soap/classDefCreator.rb
r1959 r1989 50 50 result << "\n\n" 51 51 end 52 if type 53 result << dump_classdef(type.name, type) 54 else 55 str = dump_group 56 unless str.empty? 57 result << "\n" unless result.empty? 58 result << str 59 end 60 str = dump_complextype 61 unless str.empty? 62 result << "\n" unless result.empty? 63 result << str 64 end 65 str = dump_simpletype 66 unless str.empty? 67 result << "\n" unless result.empty? 68 result << str 69 end 70 str = dump_element 71 unless str.empty? 72 result << "\n" unless result.empty? 73 result << str 74 end 75 str = dump_attribute 76 unless str.empty? 77 result << "\n" unless result.empty? 78 result << str 79 end 52 str = dump_group(type) 53 unless str.empty? 54 result << "\n" unless result.empty? 55 result << str 56 end 57 str = dump_complextype(type) 58 unless str.empty? 59 result << "\n" unless result.empty? 60 result << str 61 end 62 str = dump_simpletype(type) 63 unless str.empty? 64 result << "\n" unless result.empty? 65 result << str 66 end 67 str = dump_element(type) 68 unless str.empty? 69 result << "\n" unless result.empty? 70 result << str 71 end 72 str = dump_attribute(type) 73 unless str.empty? 74 result << "\n" unless result.empty? 75 result << str 80 76 end 81 77 if @modulepath … … 89 85 private 90 86 91 def dump_element 87 def dump_element(target = nil) 92 88 @elements.collect { |ele| 93 89 next if @complextypes[ele.name] 90 next if target and target != ele.name 94 91 c = create_elementdef(@modulepath, ele) 95 92 c ? c.dump : nil … … 97 94 end 98 95 99 def dump_attribute 96 def dump_attribute(target = nil) 100 97 @attributes.collect { |attribute| 98 next if target and target != attribute.name 101 99 if attribute.local_simpletype 102 100 c = create_simpletypedef(@modulepath, attribute.name, attribute.local_simpletype) … … 106 104 end 107 105 108 def dump_simpletype 106 def dump_simpletype(target = nil) 109 107 @simpletypes.collect { |type| 108 next if target and target != type.name 110 109 c = create_simpletypedef(@modulepath, type.name, type) 111 110 c ? c.dump : nil … … 113 112 end 114 113 115 def dump_complextype 114 def dump_complextype(target = nil) 116 115 definitions = sort_dependency(@complextypes).collect { |type| 116 next if target and target != type.name 117 117 c = create_complextypedef(@modulepath, type.name, type) 118 118 c ? c.dump : nil … … 120 120 end 121 121 122 def dump_group 122 def dump_group(target = nil) 123 123 definitions = @modelgroups.collect { |group| 124 124 # TODO: not dumped for now but may be useful in the future trunk/test/wsdl/soap/wsdl2ruby/test_wsdl2ruby.rb
r1794 r1989 53 53 end 54 54 55 EXPECTED_CLASSDEF = <<__RB__ 56 require 'xsd/qname' 57 58 module TEST 59 60 61 # {urn:example.com:simpletype-rpc-type}version_struct 62 # version - TEST::Version 63 # msg - SOAP::SOAPString 64 class Version_struct 65 attr_accessor :version 66 attr_accessor :msg 67 68 def initialize(version = nil, msg = nil) 69 @version = version 70 @msg = msg 71 end 72 end 73 74 75 end 76 __RB__ 77 78 def test_classdefcreator 79 wsdl = WSDL::Importer.import(pathname("rpc.wsdl")) 80 name_creator = WSDL::SOAP::ClassNameCreator.new 81 creator = WSDL::SOAP::ClassDefCreator.new(wsdl, name_creator, 'TEST') 82 classdef = creator.dump(XSD::QName.new('urn:example.com:simpletype-rpc-type', 'version_struct')) 83 assert_equal(EXPECTED_CLASSDEF, classdef) 84 end 85 55 86 private 56 87