Package org.apache.cxf.tools.common.model

Examples of org.apache.cxf.tools.common.model.JavaField


        ResponseWrapper responseWrapper = new ResponseWrapper();

        MessageInfo message = opInfo.getUnwrappedOperation().getOutput();
        Method method = (Method)opInfo.getProperty("operation.method");

        JavaField field  = responseWrapper.buildFields(method, message).get(0);
        assertEquals("_return", field.getParaName());
        assertEquals("String[]", field.getType());

        // Test int[]

        opInfo = getOperation(testingClass, "sayIntArray");
        assertNotNull(opInfo);

        message = opInfo.getUnwrappedOperation().getOutput();
        method = (Method) opInfo.getProperty("operation.method");

        field = responseWrapper.buildFields(method, message).get(0);
        assertEquals("_return", field.getParaName());
        assertEquals("int[]", field.getType());

        // Test TestDataBean[]
       
        opInfo = getOperation(testingClass, "sayTestDataBeanArray");
        assertNotNull(opInfo);

        message = opInfo.getUnwrappedOperation().getOutput();
        method = (Method) opInfo.getProperty("operation.method");

        field = responseWrapper.buildFields(method, message).get(0);
        assertEquals("_return", field.getParaName());
        assertEquals("org.apache.cxf.tools.fortest.withannotation.doc.TestDataBean[]", field.getType());
    }
View Full Code Here


        MessageInfo message = opInfo.getUnwrappedOperation().getInput();
        Method method = (Method)opInfo.getProperty("operation.method");

        List<JavaField> fields = requestWrapper.buildFields(method, message);
        assertEquals(1, fields.size());
        JavaField field = fields.get(0);
        assertEquals("arg0", field.getName());
        assertEquals("String[]", field.getType());

        // Test int[]

        opInfo = getOperation(testingClass, "sayIntArray");
        assertNotNull(opInfo);

        message = opInfo.getUnwrappedOperation().getInput();
        method = (Method) opInfo.getProperty("operation.method");

        fields = requestWrapper.buildFields(method, message);
        assertEquals(1, fields.size());
        field = fields.get(0);
        assertEquals("arg0", field.getName());
        assertEquals("int[]", field.getType());

        // Test TestDataBean[]
       
        opInfo = getOperation(testingClass, "sayTestDataBeanArray");
        assertNotNull(opInfo);

        message = opInfo.getUnwrappedOperation().getInput();
        method = (Method) opInfo.getProperty("operation.method");

        fields = requestWrapper.buildFields(method, message);
        assertEquals(1, fields.size());
        field = fields.get(0);
        assertEquals("arg0", field.getName());
        assertEquals("org.apache.cxf.tools.fortest.withannotation.doc.TestDataBean[]", field.getType());
    }
View Full Code Here

        assertEquals("DBServiceFaultBean", beanClass.getName());
        assertEquals("org.apache.cxf.tools.fortest.cxf523.jaxws", beanClass.getPackageName());

        assertEquals(1, beanClass.getFields().size());

        JavaField field = beanClass.getFields().get(0);
        assertEquals("message", field.getName());
        assertEquals("java.lang.String", field.getType());

        QName qname = beanClass.getElementName();
        assertEquals("DBServiceFault", qname.getLocalPart());
        assertEquals("http://cxf523.fortest.tools.cxf.apache.org/", qname.getNamespaceURI());
    }
View Full Code Here

            //REVISIT - custom JAXB package names
            String fPackageName = method.getInterface().getPackageName();


            JavaField fField = new JavaField(fName, fType, fNamespace);
            fField.setQName(ProcessorUtil.getElementName(part));

            if (!method.getInterface().getPackageName().equals(fPackageName)) {
                fField.setClassName(ProcessorUtil.getFullClzName(part, context, false));
            }
            if (!fType.equals(ProcessorUtil.resolvePartType(part))) {
                fField.setClassName(ProcessorUtil.getType(part, context, true));
            }

            expClass.addField(fField);
        }
        model.addExceptionClass(packageName + "." + name, expClass);
View Full Code Here

    protected List<JavaField> buildFields(final Method method, final MessageInfo message) {
        List<JavaField> fields = new ArrayList<JavaField>();

        final Class<?> returnType = method.getReturnType();
        JavaField field = new JavaField();
        if (CollectionUtils.isEmpty(message.getMessageParts())) {
            return fields;
        }
        MessagePartInfo part = message.getMessageParts().get(0);
       
        field.setName(part.getName().getLocalPart());
        field.setTargetNamespace(part.getName().getNamespaceURI());
              
        if (method.getAnnotation(WebResult.class) == null
            && method.getAnnotation(javax.xml.ws.ResponseWrapper.class) == null
            || method.getAnnotation(WebResult.class) != null
            && method.getAnnotation(WebResult.class).targetNamespace().equals("")) {
            field.setTargetNamespace("");  
        }
       
        boolean hasReturnType = false;

        if (!returnType.isAssignableFrom(void.class)) {
            hasReturnType = true;
            String type = getTypeString(method.getGenericReturnType());
            List<Annotation> jaxbAnns = WrapperUtil.getJaxbAnnotations(method);
            field.setType(type);
            field.setJaxbAnnotations(jaxbAnns.toArray(new Annotation[jaxbAnns.size()]));
        }
        fields.add(field);

        final Type[] paramClasses = method.getGenericParameterTypes();
        for (MessagePartInfo mpi : message.getMessageParts()) {
            int idx = hasReturnType ? mpi.getIndex() - 1 : mpi.getIndex();
            if (idx >= 0) {
                String name = mpi.getName().getLocalPart();
                Type t = paramClasses[idx];
                String type = getTypeString(t);
                JavaField jf = new JavaField(name, type, "");
                List<Annotation> jaxbAnns = WrapperUtil.getJaxbAnnotations(method, idx - 1);
                jf.setJaxbAnnotations(jaxbAnns.toArray(new Annotation[jaxbAnns.size()]));
                if (t instanceof ParameterizedType) {
                    ParameterizedType pt = (ParameterizedType)t;
                    Class<?> c = (Class<?>)pt.getRawType();
                    if (Holder.class.isAssignableFrom(c)) {
                        Annotation[][] paramAnnotations = method.getParameterAnnotations();
                        WebParam wParam = getWebParamAnnotation(paramAnnotations[idx]);
                        if (wParam != null && !StringUtils.isEmpty(wParam.targetNamespace())) {
                            jf.setTargetNamespace(wParam.targetNamespace());
                        }
                    }                  
                }
                fields.add(jf);
            }
View Full Code Here

            int idx = mpi.getIndex();
            String name = mpi.getName().getLocalPart();
            Type t = paramClasses[idx];
            String type = getTypeString(t);

            JavaField field = new JavaField(name, type, "");

            if (paramAnnotations != null
                && paramAnnotations.length == paramClasses.length) {
                WebParam wParam = getWebParamAnnotation(paramAnnotations[idx]);
                if (wParam != null && !StringUtils.isEmpty(wParam.targetNamespace())) {
                    field.setTargetNamespace(wParam.targetNamespace());
                } else {
                    field.setTargetNamespace("");
                }
            }

            List<Annotation> jaxbAnns = WrapperUtil.getJaxbAnnotations(method, idx);
            field.setJaxbAnnotations(jaxbAnns.toArray(new Annotation[jaxbAnns.size()]));
            fields.add(field);
        }

        return fields;
    }
View Full Code Here

import org.apache.cxf.tools.common.model.JavaField;

public class WrapperBeanFieldAnnotator implements Annotator {

    public void annotate(final JavaAnnotatable field) {
        JavaField jField = null;
        if (field instanceof JavaField) {
            jField = (JavaField) field;
        } else {
            throw new RuntimeException("WrapperBeanFiledAnnotator expect JavaField as input");
        }
        String rawName = jField.getRawName();
        boolean hasEl = false;
        for (Annotation ann : jField.getJaxbAnnotaions()) {
            if (ann instanceof XmlMimeType) {
                JAnnotation mimeAnno = new JAnnotation(XmlMimeType.class);
                mimeAnno.addElement(new JAnnotationElement("value", ((XmlMimeType)ann).value()));
                jField.addAnnotation(mimeAnno);
            } else if (ann instanceof XmlJavaTypeAdapter) {          
                JAnnotation jaxbAnn = new JAnnotation(XmlJavaTypeAdapter.class);
                jaxbAnn.addElement(new JAnnotationElement("value", ((XmlJavaTypeAdapter)ann).value()));
                jaxbAnn.addElement(new JAnnotationElement("type", ((XmlJavaTypeAdapter)ann).type()));
                jField.addAnnotation(jaxbAnn);
            } else if (ann instanceof XmlAttachmentRef) {
                JAnnotation jaxbAnn = new JAnnotation(XmlAttachmentRef.class);
                jField.addAnnotation(jaxbAnn);
            } else if (ann instanceof XmlList) {
                JAnnotation jaxbAnn = new JAnnotation(XmlList.class);
                jField.addAnnotation(jaxbAnn);
            } else if (ann instanceof XmlElement) {
                hasEl = true;
                XmlElement el = (XmlElement)ann;
                JAnnotation xmlElementAnnotation = new JAnnotation(XmlElement.class);
                xmlElementAnnotation.addElement(new JAnnotationElement("name", el.name()));
                if (!StringUtils.isEmpty(el.namespace())) {
                    xmlElementAnnotation.addElement(new JAnnotationElement("namespace",
                                                                           el.namespace()));
                }
                if (el.nillable()) {
                    xmlElementAnnotation.addElement(new JAnnotationElement("nillable",
                                                                           el.nillable(), true));
                }
                if (el.required()) {
                    xmlElementAnnotation.addElement(new JAnnotationElement("required",
                                                                           el.required(), true));
                }
                if (!StringUtils.isEmpty(el.defaultValue())) {
                    xmlElementAnnotation.addElement(new JAnnotationElement("defaultValue",
                                                                           el.defaultValue()));
                }
                jField.addAnnotation(xmlElementAnnotation);
            }
        }
        if (!hasEl) {
            JAnnotation xmlElementAnnotation = new JAnnotation(XmlElement.class);
            xmlElementAnnotation.addElement(new JAnnotationElement("name", rawName));
            if (!StringUtils.isEmpty(jField.getTargetNamespace())) {
                xmlElementAnnotation.addElement(new JAnnotationElement("namespace",
                                                                              jField.getTargetNamespace()));
            }

            jField.addAnnotation(xmlElementAnnotation);
        }
    }
View Full Code Here

    private void buildBeanFields(final Class<?> exceptionClass, final JavaClass jClass) {
        Map<String, JavaField> fields = new TreeMap<String, JavaField>();
       
        for (Method method : exceptionClass.getMethods()) {
            if (isIncludedGetter(method)) {
                JavaField field = new JavaField(getFieldName(method),
                                                method.getReturnType().getName(),
                                                "");
                field.setOwner(jClass);
                fields.put(field.getName(), field);
            }
        }
        for (Map.Entry<String, JavaField> ent : fields.entrySet()) {
            jClass.addField(ent.getValue());
            jClass.appendGetter(ent.getValue());
View Full Code Here

TOP

Related Classes of org.apache.cxf.tools.common.model.JavaField

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.