@SuppressWarnings("unchecked")
<T> void createMethodResultToOperationResultMapping(CtMethod<T> m, Operation operation, String resultName, XSDTypeDefinition xsdType, javax.jws.soap.SOAPBinding.Style style, javax.jws.soap.SOAPBinding.Use use, javax.jws.soap.SOAPBinding.ParameterStyle parameterStyle){
if (style == javax.jws.soap.SOAPBinding.Style.DOCUMENT && use == javax.jws.soap.SOAPBinding.Use.LITERAL){
if (parameterStyle == javax.jws.soap.SOAPBinding.ParameterStyle.WRAPPED){
if (wsdlDocLitWrapResultMap.get(operation) == null){
Part part = (Part)operation.getOutput().getMessage().getPart("parameters");
XSDElementDeclaration parentElement = part.getElementDeclaration();
XSDComplexTypeDefinition complexType = (XSDComplexTypeDefinition)parentElement.getType();
XSDParticle parentParticle = (XSDParticle)complexType.getContent();
XSDModelGroup parentModelGroup = (XSDModelGroup)parentParticle.getContent();
XSDElementDeclaration el = XSDFactory.eINSTANCE.createXSDElementDeclaration();
el.setName(resultName);
el.setTypeDefinition(xsdType);
XSDParticle localElementParticle = XSDFactory.eINSTANCE.createXSDParticle();
localElementParticle.setContent(el);
parentModelGroup.getContents().add(localElementParticle);
wsdlDocLitWrapResultMap.put(operation, el);
XSDSchema schema = xsdType.getSchema();
if (schema != null && !schema.getTargetNamespace().equals(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001)){
Vector<XSDSchema> dependencies = wsdlDependencies.get(operation.getEnclosingDefinition());
if (!dependencies.contains(schema))
dependencies.add(schema);
}
}
} else {
}
} else if (style == javax.jws.soap.SOAPBinding.Style.RPC && use == javax.jws.soap.SOAPBinding.Use.LITERAL){
if (wsdlRpcLitResultMap.get(m) == null){
Part part = WSDLFactory.eINSTANCE.createPart();
part.setName(resultName);
part.setTypeDefinition(xsdType);
operation.getOutput().getMessage().addPart(part);
wsdlRpcLitResultMap.put(m, part);
}
}
}