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

Changeset 1971

Show
Ignore:
Timestamp:
09/17/07 13:41:33 (1 year ago)
Author:
nahi
Message:
  • cache the result of XSD::CodeGen?#{safeconstname|safevarname} while mapping.
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/soap/mapping/mapping.rb

    r1925 r1971  
    215215      end 
    216216      if lenient 
    217         const_str = XSD::CodeGen::GenSupport.safeconstname(const_str) 
     217        const_str = Mapping.safeconstname(const_str) 
    218218        if const.const_defined?(const_str) 
    219219          const = const.const_get(const_str) 
     
    320320      end 
    321321      iv = obj.instance_variables 
    322       name = XSD::CodeGen::GenSupport.safevarname(attr_name) 
     322      name = Mapping.safevarname(attr_name) 
    323323      if iv.include?("@#{name}") 
    324324        return obj.instance_variable_get("@#{name}") 
     
    342342      values.each do |attr_name, value| 
    343343        # untaint depends GenSupport.safevarname 
    344         name = XSD::CodeGen::GenSupport.safevarname(attr_name).untaint 
     344        name = Mapping.safevarname(attr_name).untaint 
    345345        setter = name + "=" 
    346346        if obj.respond_to?(setter) 
     
    371371  end 
    372372 
     373  def self.safeconstname(name) 
     374    Thread.current[:SOAPMapping][:SafeConstName][name] ||= 
     375      XSD::CodeGen::GenSupport.safeconstname(name) 
     376  end 
     377 
     378  def self.safevarname(name) 
     379    Thread.current[:SOAPMapping][:SafeVarName][name] ||= 
     380      XSD::CodeGen::GenSupport.safevarname(name) 
     381  end 
     382 
    373383  def self.root_type_hint 
    374384    Thread.current[:SOAPMapping][:RootTypeHint] 
     
    552562        data[:RootTypeHint] = opt[:root_type_hint] 
    553563        data[:SchemaDefinition] = {} 
     564        data[:SafeVarName] = {} 
     565        data[:SafeConstName] = {} 
    554566        yield 
    555567      end 
  • trunk/lib/soap/mapping/registry.rb

    r1970 r1971  
    221221  def find_schema_definition(name) 
    222222    return nil unless name 
    223     typestr = XSD::CodeGen::GenSupport.safeconstname(name) 
     223    typestr = Mapping.safeconstname(name) 
    224224    obj_class = Mapping.class_from_name(typestr) 
    225225    if obj_class 
  • trunk/lib/soap/mapping/wsdlencodedregistry.rb

    r1921 r1971  
    5959    begin 
    6060      unless obj_class 
    61         typestr = XSD::CodeGen::GenSupport.safeconstname(node.elename.name) 
     61        typestr = Mapping.safeconstname(node.elename.name) 
    6262        obj_class = Mapping.class_from_name(typestr) 
    6363      end