Welcome to the "trac"-ing site of soap4r!
[soap4r] [httpclient] [openpgp4u] [pkcs1] [logger] [csv] [vtr]

Changeset 1988

Show
Ignore:
Timestamp:
09/29/07 17:05:52 (1 year ago)
Author:
nahi
Message:
  • WSDL::SOAP::ClassDefCreator? contained references to undefined method (dump_classdef). added tests and fixed. closes #437.
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/1_5/lib/wsdl/soap/classDefCreator.rb

    r1959 r1988  
    5050      result << "\n\n" 
    5151    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 
    8076    end 
    8177    if @modulepath 
     
    8985private 
    9086 
    91   def dump_element 
     87  def dump_element(target = nil) 
    9288    @elements.collect { |ele| 
    9389      next if @complextypes[ele.name] 
     90      next if target and target != ele.name 
    9491      c = create_elementdef(@modulepath, ele) 
    9592      c ? c.dump : nil 
     
    9794  end 
    9895 
    99   def dump_attribute 
     96  def dump_attribute(target = nil) 
    10097    @attributes.collect { |attribute| 
     98      next if target and target != attribute.name 
    10199      if attribute.local_simpletype 
    102100        c = create_simpletypedef(@modulepath, attribute.name, attribute.local_simpletype) 
     
    106104  end 
    107105 
    108   def dump_simpletype 
     106  def dump_simpletype(target = nil) 
    109107    @simpletypes.collect { |type| 
     108      next if target and target != type.name 
    110109      c = create_simpletypedef(@modulepath, type.name, type) 
    111110      c ? c.dump : nil 
     
    113112  end 
    114113 
    115   def dump_complextype 
     114  def dump_complextype(target = nil) 
    116115    definitions = sort_dependency(@complextypes).collect { |type| 
     116      next if target and target != type.name 
    117117      c = create_complextypedef(@modulepath, type.name, type) 
    118118      c ? c.dump : nil 
     
    120120  end 
    121121 
    122   def dump_group 
     122  def dump_group(target = nil) 
    123123    definitions = @modelgroups.collect { |group| 
    124124      # TODO: not dumped for now but may be useful in the future 
  • branches/1_5/test/wsdl/soap/wsdl2ruby/test_wsdl2ruby.rb

    r1794 r1988  
    5353  end 
    5454 
     55  EXPECTED_CLASSDEF = <<__RB__ 
     56require 'xsd/qname' 
     57 
     58module TEST 
     59 
     60 
     61# {urn:example.com:simpletype-rpc-type}version_struct 
     62#   version - TEST::Version 
     63#   msg - SOAP::SOAPString 
     64class 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 
     72end 
     73 
     74 
     75end 
     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 
    5586private 
    5687