private void writeMembers(JDefinedClass cls, Collection<MemberInfo> members) { if (cls == null) return; for (MemberInfo memInfo : members) { JType type = getType(memInfo.getParamType()); JFieldVar field = cls.field(JMod.PRIVATE, type, memInfo.getParamName()); annotateParameterWithJaxbAnnotations(memInfo, field); } for (MemberInfo memInfo : members) { writeMember(cls, memInfo.getParamType(), memInfo.getParamName()); } }
@Override protected void postProcessWebService(WebService webService, TypeElement d) { super.postProcessWebService(webService, d); doPostProcessWebService(webService, d); }
@Override protected void processMethod(ExecutableElement method, WebMethod webMethod) { builder.log("WrapperGen - method: "+method); builder.log("method.getDeclaringType(): " + method.asType()); if (wrapped && soapStyle.equals(SOAPStyle.DOCUMENT)) { generateWrappers(method, webMethod); } generateExceptionBeans(method); }
boolean isWSDLException = isWSDLException(members, thrownDecl); String namespace = typeNamespace; String name = exceptionName; FaultInfo faultInfo; if (isWSDLException) { TypeMirror beanType = getFaultInfoMember(members).getParamType(); faultInfo = new FaultInfo(TypeMonikerFactory.getTypeMoniker(beanType), true); namespace = webFault.targetNamespace().length()>0 ? JDefinedClass cls = getCMClass(className, CLASS); faultInfo = new FaultInfo(className, false); if (duplicateName(className)) { builder.processError(WebserviceapMessages.WEBSERVICEAP_METHOD_EXCEPTION_BEAN_NAME_NOT_UNIQUE( typeElement.getQualifiedName(), thrownDecl.getQualifiedName())); addGeneratedFile(className); writeXmlElementDeclaration(cls, name, namespace); String xmlTypeName = (xmlType != null && !xmlType.name().equals("##default")) ? xmlType.name() : exceptionName; String xmlTypeNamespace = (xmlType != null && !xmlType.namespace().equals("##default")) ? xmlType.namespace() : typeNamespace; writeXmlTypeDeclaration(cls, xmlTypeName, xmlTypeNamespace, members); writeMembers(cls, members);
addGeneratedFile(requestClassName); builder.log("Class " + requestClassName + " exists. Not overwriting."); if (duplicateName(requestClassName) && canOverwriteRequest) { builder.processError(WebserviceapMessages.WEBSERVICEAP_METHOD_REQUEST_WRAPPER_BEAN_NAME_NOT_UNIQUE( typeElement.getQualifiedName(), method.toString())); builder.log("Class " + responseClassName + " exists. Not overwriting."); if (duplicateName(responseClassName) && canOverwriteResponse) { builder.processError(WebserviceapMessages.WEBSERVICEAP_METHOD_RESPONSE_WRAPPER_BEAN_NAME_NOT_UNIQUE( typeElement.getQualifiedName(), method.toString())); addGeneratedFile(responseClassName); reqCls = getCMClass(requestClassName, CLASS); resCls = getCMClass(responseClassName, CLASS); writeXmlElementDeclaration(reqCls, reqName,reqNamespace); writeXmlElementDeclaration(resCls, resName, resNamespace); writeXmlTypeDeclaration(reqCls, reqName, reqNamespace, reqMembers); writeXmlTypeDeclaration(resCls, resName, resNamespace, resMembers); writeMembers(reqCls, reqMembers); writeMembers(resCls, resMembers);
protected boolean isWSDLException(Collection<MemberInfo> members, TypeElement thrownDecl) { WebFault webFault = thrownDecl.getAnnotation(WebFault.class); return webFault != null && members.size() == 2 && getFaultInfoMember(members) != null; }
private boolean generateExceptionBeans(ExecutableElement method) { String beanPackage = packageName + PD_JAXWS_PACKAGE_PD.getValue(); if (packageName.length() == 0) beanPackage = JAXWS_PACKAGE_PD.getValue(); boolean beanGenerated = false; for (TypeMirror thrownType : method.getThrownTypes()) { TypeElement typeDecl = (TypeElement) ((DeclaredType) thrownType).asElement(); if (typeDecl == null) { builder.processError(WebserviceapMessages.WEBSERVICEAP_COULD_NOT_FIND_TYPEDECL( thrownType.toString(), context.getRound())); return false; } boolean tmp = generateExceptionBean(typeDecl, beanPackage); beanGenerated = beanGenerated || tmp; } return beanGenerated; }
WebService webService; WebServiceProvider webServiceProvider; WebServiceVisitor webServiceVisitor = new WebServiceWrapperGenerator(this, context); boolean processedEndpoint = false; Collection<TypeElement> classes = new ArrayList<TypeElement>();
boolean isWSDLException = isWSDLException(members, thrownDecl); String namespace = typeNamespace; String name = exceptionName; FaultInfo faultInfo; if (isWSDLException) { TypeMirror beanType = getFaultInfoMember(members).getParamType(); faultInfo = new FaultInfo(TypeMonikerFactory.getTypeMoniker(beanType), true); namespace = webFault.targetNamespace().length()>0 ? JDefinedClass cls = getCMClass(className, CLASS); faultInfo = new FaultInfo(className, false); if (duplicateName(className)) { builder.processError(WebserviceapMessages.WEBSERVICEAP_METHOD_EXCEPTION_BEAN_NAME_NOT_UNIQUE( typeElement.getQualifiedName(), thrownDecl.getQualifiedName())); addGeneratedFile(className); writeXmlElementDeclaration(cls, name, namespace); String xmlTypeName = (xmlType != null && !xmlType.name().equals("##default")) ? xmlType.name() : exceptionName; String xmlTypeNamespace = (xmlType != null && !xmlType.namespace().equals("##default")) ? xmlType.namespace() : typeNamespace; writeXmlTypeDeclaration(cls, xmlTypeName, xmlTypeNamespace, members); writeMembers(cls, members);
addGeneratedFile(requestClassName); builder.log("Class " + requestClassName + " exists. Not overwriting."); if (duplicateName(requestClassName) && canOverwriteRequest) { builder.processError(WebserviceapMessages.WEBSERVICEAP_METHOD_REQUEST_WRAPPER_BEAN_NAME_NOT_UNIQUE( typeElement.getQualifiedName(), method.toString())); builder.log("Class " + responseClassName + " exists. Not overwriting."); if (duplicateName(responseClassName) && canOverwriteResponse) { builder.processError(WebserviceapMessages.WEBSERVICEAP_METHOD_RESPONSE_WRAPPER_BEAN_NAME_NOT_UNIQUE( typeElement.getQualifiedName(), method.toString())); addGeneratedFile(responseClassName); reqCls = getCMClass(requestClassName, CLASS); resCls = getCMClass(responseClassName, CLASS); writeXmlElementDeclaration(reqCls, reqName,reqNamespace); writeXmlElementDeclaration(resCls, resName, resNamespace); writeXmlTypeDeclaration(reqCls, reqName, reqNamespace, reqMembers); writeXmlTypeDeclaration(resCls, resName, resNamespace, resMembers); writeMembers(reqCls, reqMembers); writeMembers(resCls, resMembers);
protected boolean isWSDLException(Collection<MemberInfo> members, TypeElement thrownDecl) { WebFault webFault = thrownDecl.getAnnotation(WebFault.class); return webFault != null && members.size() == 2 && getFaultInfoMember(members) != null; }
private boolean generateExceptionBeans(ExecutableElement method) { String beanPackage = packageName + PD_JAXWS_PACKAGE_PD.getValue(); if (packageName.length() == 0) beanPackage = JAXWS_PACKAGE_PD.getValue(); boolean beanGenerated = false; for (TypeMirror thrownType : method.getThrownTypes()) { TypeElement typeDecl = (TypeElement) ((DeclaredType) thrownType).asElement(); if (typeDecl == null) { builder.processError(WebserviceapMessages.WEBSERVICEAP_COULD_NOT_FIND_TYPEDECL( thrownType.toString(), context.getRound())); return false; } boolean tmp = generateExceptionBean(typeDecl, beanPackage); beanGenerated = beanGenerated || tmp; } return beanGenerated; }
WebService webService; WebServiceProvider webServiceProvider; WebServiceVisitor webServiceVisitor = new WebServiceWrapperGenerator(this, context); boolean processedEndpoint = false; Collection<TypeElement> classes = new ArrayList<TypeElement>();
boolean isWSDLException = isWSDLException(members, thrownDecl); String namespace = typeNamespace; String name = exceptionName; FaultInfo faultInfo; if (isWSDLException) { TypeMirror beanType = getFaultInfoMember(members).getParamType(); faultInfo = new FaultInfo(TypeMonikerFactory.getTypeMoniker(beanType), true); namespace = webFault.targetNamespace().length()>0 ? JDefinedClass cls = getCMClass(className, CLASS); faultInfo = new FaultInfo(className, false); if (duplicateName(className)) { builder.processError(WebserviceapMessages.WEBSERVICEAP_METHOD_EXCEPTION_BEAN_NAME_NOT_UNIQUE( typeElement.getQualifiedName(), thrownDecl.getQualifiedName())); addGeneratedFile(className); writeXmlElementDeclaration(cls, name, namespace); String xmlTypeName = (xmlType != null && !xmlType.name().equals("##default")) ? xmlType.name() : exceptionName; String xmlTypeNamespace = (xmlType != null && !xmlType.namespace().equals("##default")) ? xmlType.namespace() : typeNamespace; writeXmlTypeDeclaration(cls, xmlTypeName, xmlTypeNamespace, members); writeMembers(cls, members);
addGeneratedFile(requestClassName); builder.log("Class " + requestClassName + " exists. Not overwriting."); if (duplicateName(requestClassName) && canOverwriteRequest) { builder.processError(WebserviceapMessages.WEBSERVICEAP_METHOD_REQUEST_WRAPPER_BEAN_NAME_NOT_UNIQUE( typeElement.getQualifiedName(), method.toString())); builder.log("Class " + responseClassName + " exists. Not overwriting."); if (duplicateName(responseClassName) && canOverwriteResponse) { builder.processError(WebserviceapMessages.WEBSERVICEAP_METHOD_RESPONSE_WRAPPER_BEAN_NAME_NOT_UNIQUE( typeElement.getQualifiedName(), method.toString())); addGeneratedFile(responseClassName); reqCls = getCMClass(requestClassName, CLASS); resCls = getCMClass(responseClassName, CLASS); writeXmlElementDeclaration(reqCls, reqName,reqNamespace); writeXmlElementDeclaration(resCls, resName, resNamespace); writeXmlTypeDeclaration(reqCls, reqName, reqNamespace, reqMembers); writeXmlTypeDeclaration(resCls, resName, resNamespace, resMembers); writeMembers(reqCls, reqMembers); writeMembers(resCls, resMembers);
private void writeMembers(JDefinedClass cls, Collection<MemberInfo> members) { if (cls == null) return; for (MemberInfo memInfo : members) { JType type = getType(memInfo.getParamType()); JFieldVar field = cls.field(JMod.PRIVATE, type, memInfo.getParamName()); annotateParameterWithJaxbAnnotations(memInfo, field); } for (MemberInfo memInfo : members) { writeMember(cls, memInfo.getParamType(), memInfo.getParamName()); } }
@Override protected void processMethod(ExecutableElement method, WebMethod webMethod) { builder.log("WrapperGen - method: "+method); builder.log("method.getDeclaringType(): " + method.asType()); if (wrapped && soapStyle.equals(SOAPStyle.DOCUMENT)) { generateWrappers(method, webMethod); } generateExceptionBeans(method); }
@Override protected void postProcessWebService(WebService webService, TypeElement d) { super.postProcessWebService(webService, d); doPostProcessWebService(webService, d); }
protected boolean isWSDLException(Collection<MemberInfo> members, TypeElement thrownDecl) { WebFault webFault = thrownDecl.getAnnotation(WebFault.class); return webFault != null && members.size() == 2 && getFaultInfoMember(members) != null; }
private boolean generateExceptionBeans(ExecutableElement method) { String beanPackage = packageName + PD_JAXWS_PACKAGE_PD.getValue(); if (packageName.length() == 0) beanPackage = JAXWS_PACKAGE_PD.getValue(); boolean beanGenerated = false; for (TypeMirror thrownType : method.getThrownTypes()) { TypeElement typeDecl = (TypeElement) ((DeclaredType) thrownType).asElement(); if (typeDecl == null) { builder.processError(WebserviceapMessages.WEBSERVICEAP_COULD_NOT_FIND_TYPEDECL( thrownType.toString(), context.getRound())); return false; } boolean tmp = generateExceptionBean(typeDecl, beanPackage); beanGenerated = beanGenerated || tmp; } return beanGenerated; }