Package org.apache.ws.commons.schema

Examples of org.apache.ws.commons.schema.XmlSchemaElement


        XmlSchemaType existingType = schema.getTypeByName(faultTypeName);
        if (existingType != null) {
            return;
        }

        XmlSchemaElement el = new XmlSchemaElement(schema, true);
        el.setName(part.getElementQName().getLocalPart());
        part.setXmlSchema(el);
        schemaInfo.setElement(null);
       
        if (respectXmlTypeNS) {
            schema = faultBeanSchema; //create complexType in the new created schema for xmlType
        }
       
        XmlSchemaComplexType ct = new XmlSchemaComplexType(schema, true);
        ct.setName(faultTypeName);

        el.setSchemaTypeName(ct.getQName());

        XmlSchemaSequence seq = new XmlSchemaSequence();
        ct.setParticle(seq);
        String namespace = part.getElementQName().getNamespaceURI();
        XmlAccessType accessType = Utils.getXmlAccessType(cls);
//
        for (Field f : Utils.getFields(cls, accessType)) {
            //map field
            Type type = Utils.getFieldType(f);
            //we want to return the right type for collections so if we get null
            //from the return type we check if it's ParameterizedType and get the
            //generic return type.
            if ((type == null) && (f.getGenericType() instanceof ParameterizedType)) {
                type = f.getGenericType();
            }
            if (generateGenericType(type)) {
                buildGenericElements(schema, seq, f);
            } else {
                JAXBBeanInfo beanInfo = getBeanInfo(type);
                if (beanInfo != null) {
                    XmlElement xmlElementAnno = f.getAnnotation(XmlElement.class);
                    addElement(schema, seq, beanInfo, new QName(namespace, f.getName()), isArray(type), xmlElementAnno);
                }
            }
        }
        for (Method m : Utils.getGetters(cls, accessType)) {
            //map method
            Type type = Utils.getMethodReturnType(m);
            // we want to return the right type for collections so if we get null
            // from the return type we check if it's ParameterizedType and get the
            // generic return type.
            if ((type == null) && (m.getGenericReturnType() instanceof ParameterizedType)) {
                type = m.getGenericReturnType();
            }
           
            if (generateGenericType(type)) {
                buildGenericElements(schema, seq, m, type);
            } else {
                JAXBBeanInfo beanInfo = getBeanInfo(type);
                if (beanInfo != null) {
                    int idx = m.getName().startsWith("get") ? 3 : 2;
                    String name = m.getName().substring(idx);
                    name = Character.toLowerCase(name.charAt(0)) + name.substring(1);
                    XmlElement  xmlElementAnno =  m.getAnnotation(XmlElement.class);
                    addElement(schema, seq, beanInfo, new QName(namespace, name), isArray(type), xmlElementAnno);
                }
            }
        }
        // Create element in xsd:sequence for Exception.class
        if (Exception.class.isAssignableFrom(cls)) {
            JAXBBeanInfo beanInfo = getBeanInfo(java.lang.String.class);
            XmlSchemaElement exEle = new XmlSchemaElement(schema, false);
            exEle.setName("message");
            exEle.setSchemaTypeName(getTypeName(beanInfo));
            exEle.setMinOccurs(0);
            seq.getItems().add(exEle);
        }
       
        if (propertyOrder != null) {
            if (propertyOrder.length == seq.getItems().size()) {
View Full Code Here


        Class<?> genericsClass = f.getType();
        buildGenericSeq(schema, generics, genericsClass);  

        String name = Character.toLowerCase(f.getName().charAt(0)) + f.getName().substring(1);
        XmlSchemaElement newel = new XmlSchemaElement(schema, false);
        newel.setName(name);
        newel.setSchemaTypeName(generics.getQName());
        newel.setMinOccurs(0);
        if (!seq.getItems().contains(newel)) {
            seq.getItems().add(newel);
        }
    }
View Full Code Here

        buildGenericSeq(schema, generics, genericsClass)
         
        int idx = m.getName().startsWith("get") ? 3 : 2;
        String name = m.getName().substring(idx);
        name = Character.toLowerCase(name.charAt(0)) + name.substring(1);
        XmlSchemaElement newel = new XmlSchemaElement(schema, false);
        newel.setName(name);
        newel.setSchemaTypeName(generics.getQName());
        newel.setMinOccurs(0);
        if (!seq.getItems().contains(newel)) {
            seq.getItems().add(newel);
        }
    }
View Full Code Here

        XmlAccessType  accessType = Utils.getXmlAccessType(genericsClass);
       
        for (Field f : Utils.getFields(genericsClass, accessType)) {
            if (f.getGenericType() instanceof TypeVariable) {              
                String genericName = Character.toLowerCase(f.getName().charAt(0)) + f.getName().substring(1);
                XmlSchemaElement genericEle = new XmlSchemaElement(schema, false);
                genericEle.setName(genericName);
                genericEle.setMinOccurs(0);
                JAXBBeanInfo anyBean = getBeanInfo(context, f.getType());
                Iterator<QName> itr = anyBean.getTypeNames().iterator();
                if (!itr.hasNext()) {
                    return;
                }
                QName typeName = itr.next();
                genericEle.setSchemaTypeName(typeName);
                genericsSeq.getItems().add(genericEle);
            }
        }
              
        for (Method genericMethod : Utils.getGetters(genericsClass, accessType)) {
            if (genericMethod.getGenericReturnType() instanceof TypeVariable) {
                int idx = genericMethod.getName().startsWith("get") ? 3 : 2;
                String genericName = genericMethod.getName().substring(idx);
                genericName = Character.toLowerCase(genericName.charAt(0)) + genericName.substring(1);
                XmlSchemaElement genericEle = new XmlSchemaElement(schema, false);
                genericEle.setName(genericName);
                genericEle.setMinOccurs(0);
                JAXBBeanInfo anyBean = getBeanInfo(context, genericMethod.getReturnType());
                Iterator<QName> itr = anyBean.getTypeNames().iterator();
                if (!itr.hasNext()) {
                    return;
                }
                QName typeName = itr.next();
                genericEle.setSchemaTypeName(typeName);
                genericsSeq.getItems().add(genericEle);
            }
           
        }
    }
View Full Code Here

    }

    protected void addElement(XmlSchema schema,
                              XmlSchemaSequence seq, JAXBBeanInfo beanInfo,
                              QName name, boolean isArray, XmlElement xmlElementAnno) {
        XmlSchemaElement el = new XmlSchemaElement(schema, false);
        if (isArray) {
            el.setMinOccurs(0);
            el.setMaxOccurs(Long.MAX_VALUE);
        } else {
            if (xmlElementAnno == null) {
                el.setMinOccurs(0);
                el.setNillable(false);
            } else {
                el.setNillable(xmlElementAnno.nillable());
                int minOccurs = xmlElementAnno.required() ? 1 : 0;
                el.setMinOccurs(minOccurs);
            }
        }

        if (beanInfo.isElement()) {
            QName ename = new QName(beanInfo.getElementNamespaceURI(null),
                                   beanInfo.getElementLocalName(null));
            XmlSchemaElement el2 = schemas.getElementByQName(ename);
            el.setNillable(false);
            el.getRef().setTargetQName(el2.getQName());
        } else {
            if (xmlElementAnno != null && !StringUtils.isEmpty(xmlElementAnno.name())) {
                el.setName(xmlElementAnno.name());
            } else {
                el.setName(name.getLocalPart());
View Full Code Here

   
    private void sortItems(final XmlSchemaSequence seq, final String[] propertyOrder) {
        final List<String> propList = Arrays.asList(propertyOrder);
        Collections.sort(seq.getItems(), new Comparator<XmlSchemaSequenceMember>() {
            public int compare(XmlSchemaSequenceMember o1, XmlSchemaSequenceMember o2) {
                XmlSchemaElement element1 = (XmlSchemaElement)o1;
                XmlSchemaElement element2 = (XmlSchemaElement)o2;
                int index1 = propList.indexOf(element1.getName());
                int index2 = propList.indexOf(element2.getName());
                return index1 - index2;
            }
       
        });
    }
View Full Code Here

    }
    //sort to Alphabetical order
    private void sort(final XmlSchemaSequence seq) {
        Collections.sort(seq.getItems(), new Comparator<XmlSchemaSequenceMember>() {
            public int compare(XmlSchemaSequenceMember o1, XmlSchemaSequenceMember o2) {
                XmlSchemaElement element1 = (XmlSchemaElement)o1;
                XmlSchemaElement element2 = (XmlSchemaElement)o2;
                return element1.getName().compareTo(element2.getName());
            }
       
        });
    }
View Full Code Here

        boolean itemFound = false;
        boolean itemNotNillableFound = false;
        for (int x = 0; x < seq.getItems().size(); x++) {
            XmlSchemaSequenceMember o = seq.getItems().get(x);
            if (o instanceof XmlSchemaElement) {
                XmlSchemaElement oe = (XmlSchemaElement) o;
                if ("item".equals(oe.getName())) {
                    itemFound = true;
                    assertTrue(oe.isNillable());
                    assertEquals(0, oe.getMinOccurs());
                } else if ("itemNotNillable".equals(oe.getName())) {
                    itemNotNillableFound = true;
                    assertFalse(oe.isNillable());
                }
            }
        }
        assertTrue(itemFound);
        assertTrue(itemNotNillableFound);
View Full Code Here

        XmlSchemaSequence seq = (XmlSchemaSequence)btype.getParticle();
        boolean int1ok = false;
        for (int x = 0; x < seq.getItems().size(); x++) {
            XmlSchemaSequenceMember o = seq.getItems().get(x);
            if (o instanceof XmlSchemaElement) {
                XmlSchemaElement oe = (XmlSchemaElement) o;
                if ("int1".equals(oe.getName())) {
                    int1ok = true;
                    assertFalse(oe.isNillable());
                    assertEquals(1, oe.getMinOccurs());
                }
            }
        }
        assertTrue(int1ok);
    }
View Full Code Here

        boolean charok = false;

        for (int x = 0; x < seq.getItems().size(); x++) {
            XmlSchemaSequenceMember o = seq.getItems().get(x);
            if (o instanceof XmlSchemaElement) {
                XmlSchemaElement oe = (XmlSchemaElement) o;
                if ("character".equals(oe.getName())) {
                    charok = true;
                    assertNotNull(oe.getSchemaTypeName());
                    assertTrue(oe.isNillable());
                    assertEquals(CharacterAsStringType.CHARACTER_AS_STRING_TYPE_QNAME,
                                 oe.getSchemaTypeName());
                }
            }
        }
        assertTrue(charok);
    }
View Full Code Here

TOP

Related Classes of org.apache.ws.commons.schema.XmlSchemaElement

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.