Class: WsdlMapper::SvcGeneration::OperationS8rGenerator
- Inherits:
-
OperationGeneratorBase
show all
- Includes:
- Dom
- Defined in:
- lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb
Constant Summary
- SOAP_ENV_NS =
'http://schemas.xmlsoap.org/soap/envelope/'
- SOAP_BODY =
Name.get SOAP_ENV_NS, 'Body'
Name.get SOAP_ENV_NS, 'Header'
Instance Method Summary
(collapse)
-
- (Object) build_simple(f, type, obj_name, attr_name, element_name)
-
- (Object) call_wrapper(f, op, suffix = '', &block)
-
- (Boolean) encoded?(in_out)
-
- (Object) generate_body(f, port, op, body_parts, in_out)
-
- (Object) generate_doc_encoded_body(f, body_parts)
-
- (Object) generate_doc_literal_body(f, body_parts)
-
- (Object) generate_doc_literal_elements_body(f, body_parts)
-
- (Object) generate_doc_literal_elements_body_part(f, part)
-
- (Object) generate_doc_literal_type_body(f, part)
-
- (Object) generate_each_header(f, headers)
-
- (Object) generate_encoded_body_part(f, part)
-
- (Object) generate_encoded_header(f, header, part)
-
- (Object) generate_literal_element_header(f, header, part)
-
- (Object) generate_literal_header(f, header, part)
-
- (Object) generate_literal_type_header(f, header, part)
-
- (Object) generate_op_input_s8r(service, port, op, result)
-
- (Object) generate_op_output_s8r(service, port, op, result)
-
- (Object) generate_op_s8r_body(f, port, op, in_out)
-
- (Object) generate_op_s8r_class(f, port, op, name, in_out, base)
-
- (Object) generate_op_s8r_header(f, port, op, in_out)
-
- (Object) generate_operation_s8r(service, port, op, result)
-
- (Object) generate_rpc_encoded_body(f, op, in_out, body_parts)
-
- (Object) generate_rpc_literal_body(f, op, in_out, body_parts)
-
- (Object) generate_rpc_literal_element_body_part(f, part)
-
- (Object) generate_rpc_literal_type_body_part(f, part)
-
- (Object) get_and_build(f, type_name, obj_name, attr_name, element_name)
-
- (Object) get_and_build_body(f, part, element)
-
- (Object) get_and_build_header(f, header, element)
-
- (Object) input_s8r_base
-
- (Object) output_s8r_base
-
- (Object) part_wrapper(f, part, &block)
-
- (Boolean) rpc?(port)
-
- (Object) soap_body_wrapper(f, &block)
-
- (Object) soap_header_wrapper(f, &block)
#initialize
#append_file_for, #file, #file_for, #generate_name, #get_formatter, #get_module_names, #get_type_name, #initialize, #type_file_for
Instance Method Details
- (Object) build_simple(f, type, obj_name, attr_name, element_name)
240
241
242
243
244
245
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 240
def build_simple(f, type, obj_name, attr_name, element_name)
root_type = type.root.name.name
f.block "x.simple(#{generate_name(type.name)}, #{element_name})", ['x'] do
f.call 'x.text_builtin', "#{obj_name}.#{attr_name}", root_type.inspect
end
end
|
- (Object) call_wrapper(f, op, suffix = '', &block)
125
126
127
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 125
def call_wrapper(f, op, suffix = '', &block)
f.block "x.complex(nil, #{generate_name(op.name, suffix)}, [])", ['x'], &block
end
|
- (Boolean) encoded?(in_out)
145
146
147
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 145
def encoded?(in_out)
in_out.body.use == 'encoded'
end
|
- (Object) generate_body(f, port, op, body_parts, in_out)
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 129
def generate_body(f, port, op, body_parts, in_out)
if rpc?(port)
if encoded?(in_out)
generate_rpc_encoded_body f, op, in_out, body_parts
else generate_rpc_literal_body f, op, in_out, body_parts
end
else if encoded?(in_out)
generate_doc_encoded_body f, body_parts
else generate_doc_literal_body f, body_parts
end
end
end
|
- (Object) generate_doc_encoded_body(f, body_parts)
181
182
183
184
185
186
187
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 181
def generate_doc_encoded_body(f, body_parts)
soap_body_wrapper f do
body_parts.each do |part|
generate_encoded_body_part f, part
end
end
end
|
- (Object) generate_doc_literal_body(f, body_parts)
153
154
155
156
157
158
159
160
161
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 153
def generate_doc_literal_body(f, body_parts)
with_type = body_parts.first.part.element.nil?
if with_type
generate_doc_literal_type_body f, body_parts.first
else
generate_doc_literal_elements_body f, body_parts
end
end
|
- (Object) generate_doc_literal_elements_body(f, body_parts)
169
170
171
172
173
174
175
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 169
def generate_doc_literal_elements_body(f, body_parts)
soap_body_wrapper f do
body_parts.each do |part|
generate_doc_literal_elements_body_part f, part
end
end
end
|
- (Object) generate_doc_literal_elements_body_part(f, part)
177
178
179
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 177
def generate_doc_literal_elements_body_part(f, part)
get_and_build_body f, part, part.part.element.name
end
|
- (Object) generate_doc_literal_type_body(f, part)
163
164
165
166
167
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 163
def generate_doc_literal_type_body(f, part)
soap_body_wrapper f do
get_and_build_body f, part, part.part.name
end
end
|
62
63
64
65
66
67
68
69
70
71
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 62
def (f, )
.each do ||
part = ..part
if ..use == 'encoded'
f, , part
else f, , part
end
end
end
|
- (Object) generate_encoded_body_part(f, part)
223
224
225
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 223
def generate_encoded_body_part(f, part)
get_and_build_body f, part, part.part.name
end
|
93
94
95
96
97
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 93
def (f, , part)
f do
get_and_build_header f, , part.name
end
end
|
87
88
89
90
91
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 87
def (f, , part)
f do
get_and_build_header f, , part.element.name
end
end
|
73
74
75
76
77
78
79
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 73
def (f, , part)
if part.element
f, , part
else
f, , part
end
end
|
81
82
83
84
85
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 81
def (f, , part)
f do
get_and_build_header f, , part.name
end
end
|
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 18
def generate_op_input_s8r(service, port, op, result)
modules = get_module_names service.name
name = service_namer.get_input_s8r_name service.type, port.type, op.type
type_file_for name, result do |f|
f.requires input_s8r_base.require_path
f.in_modules modules do
in_classes f, service.name.class_name, port.name.class_name, op.name.class_name do
generate_op_s8r_class f, port, op, name, op.type.input, input_s8r_base
end
end
end
end
|
- (Object) generate_op_output_s8r(service, port, op, result)
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 33
def generate_op_output_s8r(service, port, op, result)
modules = get_module_names service.name
name = service_namer.get_output_s8r_name service.type, port.type, op.type
type_file_for name, result do |f|
f.requires output_s8r_base.require_path
f.in_modules modules do
in_classes f, service.name.class_name, port.name.class_name, op.name.class_name do
generate_op_s8r_class f, port, op, name, op.type.output, output_s8r_base
end
end
end
end
|
- (Object) generate_op_s8r_body(f, port, op, in_out)
106
107
108
109
110
111
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 106
def generate_op_s8r_body(f, port, op, in_out)
body_parts = get_body_parts in_out
f.in_def :build_body, 'x', 'body' do
generate_body f, port, op, body_parts, in_out
end
end
|
- (Object) generate_op_s8r_class(f, port, op, name, in_out, base)
48
49
50
51
52
53
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 48
def generate_op_s8r_class(f, port, op, name, in_out, base)
f.in_sub_class name.class_name, base.name do
f, port, op, in_out
generate_op_s8r_body f, port, op, in_out
end
end
|
55
56
57
58
59
60
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 55
def (f, port, op, in_out)
= in_out
f.in_def :build_header, 'x', 'header' do
f,
end
end
|
- (Object) generate_operation_s8r(service, port, op, result)
13
14
15
16
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 13
def generate_operation_s8r(service, port, op, result)
generate_op_input_s8r service, port, op, result
generate_op_output_s8r service, port, op, result
end
|
- (Object) generate_rpc_encoded_body(f, op, in_out, body_parts)
212
213
214
215
216
217
218
219
220
221
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 212
def generate_rpc_encoded_body(f, op, in_out, body_parts)
soap_body_wrapper f do
suffix = in_out == op.type.output ? 'Response' : ''
call_wrapper f, op.type, suffix do
body_parts.each do |part|
generate_encoded_body_part f, part
end
end
end
end
|
- (Object) generate_rpc_literal_body(f, op, in_out, body_parts)
189
190
191
192
193
194
195
196
197
198
199
200
201
202
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 189
def generate_rpc_literal_body(f, op, in_out, body_parts)
soap_body_wrapper f do
suffix = in_out == op.type.output ? 'Response' : ''
call_wrapper f, op.type, suffix do
body_parts.each do |part|
if part.part.element
generate_rpc_literal_element_body_part f, part
else
generate_rpc_literal_type_body_part f, part
end
end
end
end
end
|
- (Object) generate_rpc_literal_element_body_part(f, part)
208
209
210
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 208
def generate_rpc_literal_element_body_part(f, part)
get_and_build_body f, part, part.part.element.name
end
|
- (Object) generate_rpc_literal_type_body_part(f, part)
204
205
206
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 204
def generate_rpc_literal_type_body_part(f, part)
get_and_build_body f, part, part.part.name
end
|
- (Object) get_and_build(f, type_name, obj_name, attr_name, element_name)
247
248
249
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 247
def get_and_build(f, type_name, obj_name, attr_name, element_name)
f.statement "x.get(#{type_name}).build(x, #{obj_name}.#{attr_name}, #{element_name})"
end
|
- (Object) get_and_build_body(f, part, element)
227
228
229
230
231
232
233
234
235
236
237
238
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 227
def get_and_build_body(f, part, element)
attr_name = part.property_name.attr_name
element_name = generate_name element
type_name = get_type_name part.type
if WsdlMapper::Dom::BuiltinType.builtin?(type_name.name)
build_simple f, part.type, 'body', attr_name, element_name
else
type_name = namer.get_type_name(get_type_name(part.type)).name.inspect
get_and_build f, type_name, 'body', attr_name, element_name
end
end
|
- (Object) get_and_build_header(f, header, element)
99
100
101
102
103
104
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 99
def get_and_build_header(f, , element)
type_name = namer.get_type_name(get_type_name(.type)).name.inspect
attr_name = .property_name.attr_name
element_name = generate_name element
get_and_build f, type_name, 'header', attr_name, element_name
end
|
251
252
253
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 251
def input_s8r_base
@input_s8r_base ||= @generator.runtime_base 'InputS8r', 'input_s8r'
end
|
- (Object) output_s8r_base
255
256
257
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 255
def output_s8r_base
@output_s8r_base ||= @generator.runtime_base 'OutputS8r', 'output_s8r'
end
|
- (Object) part_wrapper(f, part, &block)
121
122
123
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 121
def part_wrapper(f, part, &block)
f.block "x.complex(nil, #{generate_name(part.name)}, [])", ['x'], &block
end
|
- (Boolean) rpc?(port)
149
150
151
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 149
def rpc?(port)
port.type.binding.style == 'rpc'
end
|
- (Object) soap_body_wrapper(f, &block)
117
118
119
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 117
def soap_body_wrapper(f, &block)
f.block "x.complex(nil, #{generate_name(SOAP_BODY)}, [])", ['x'], &block
end
|
113
114
115
|
# File 'lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb', line 113
def (f, &block)
f.block "x.complex(nil, #{generate_name(SOAP_HEADER)}, [])", ['x'], &block
end
|