Search in sources :

Example 11 with XmlSchemaType

use of org.apache.ws.commons.schema.XmlSchemaType in project tdi-studio-se by Talend.

the class ComponentBuilderTest method testBuildParameterFromTypes.

@Test
public void testBuildParameterFromTypes() throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException, NoSuchMethodException, InvocationTargetException, WSDLException {
    ParameterInfo parameter = new ParameterInfo();
    String name = "parameter";
    String nameSpace = "http://parameter";
    parameter.setName(name);
    parameter.setNameSpace(nameSpace);
    ComponentBuilder cb = new ComponentBuilder();
    Field field = cb.getClass().getDeclaredField("allXmlSchemaType");
    field.setAccessible(true);
    List<XmlSchemaType> allXmlSchemaType = (List<XmlSchemaType>) field.get(cb);
    XmlSchema first = new XmlSchema();
    first.setId("first");
    XmlSchemaSimpleType xsst = new XmlSchemaSimpleType(first);
    xsst.setId("first");
    xsst.setName("first");
    xsst.setSourceURI("http://first");
    XmlSchema two = new XmlSchema();
    two.setId("two");
    two.setTargetNamespace(nameSpace);
    String nameSpaceTwo = "http://parameter";
    XmlSchemaComplexType xsc = new XmlSchemaComplexType(two);
    XmlSchemaSequence xmlSchemaSequence = new XmlSchemaSequence();
    xmlSchemaSequence.setId("sequence");
    XmlSchemaElement xmlSchemaElement = new XmlSchemaElement();
    xmlSchemaElement.setSourceURI(nameSpaceTwo);
    xmlSchemaElement.setQName(new QName(nameSpaceTwo, "parameter"));
    xmlSchemaElement.setName(name);
    xmlSchemaSequence.getItems().add(xmlSchemaElement);
    xsc.setParticle(xmlSchemaSequence);
    xsc.setId("two");
    xsc.setName("parameter");
    XmlSchemaComplexContent contentModel = new XmlSchemaComplexContent();
    XmlSchemaComplexContentExtension xmlSchemaContent = new XmlSchemaComplexContentExtension();
    xmlSchemaContent.setId("two");
    xmlSchemaContent.setBaseTypeName(new QName(nameSpace, "two"));
    xmlSchemaContent.setSourceURI(nameSpaceTwo);
    contentModel.setSourceURI(nameSpace);
    contentModel.setContent(xmlSchemaContent);
    xsc.setContentModel(contentModel);
    allXmlSchemaType.add(xsst);
    allXmlSchemaType.add(xsc);
    Method m = cb.getClass().getDeclaredMethod("buileParameterFromTypes", new Class[] { String.class, String.class, ParameterInfo.class, int.class });
    m.setAccessible(true);
    m.invoke(cb, nameSpace, name, parameter, 5);
    ParameterInfo parameterInfo = parameter.getParameterInfos().get(0);
    Assert.assertNotNull(parameterInfo);
    Assert.assertEquals(nameSpace, parameterInfo.getNameSpace());
}
Also used : XmlSchemaComplexContentExtension(org.apache.ws.commons.schema.XmlSchemaComplexContentExtension) XmlSchemaElement(org.apache.ws.commons.schema.XmlSchemaElement) QName(javax.xml.namespace.QName) ParameterInfo(org.talend.designer.webservice.ws.wsdlinfo.ParameterInfo) Method(java.lang.reflect.Method) XmlSchemaType(org.apache.ws.commons.schema.XmlSchemaType) XmlSchemaComplexContent(org.apache.ws.commons.schema.XmlSchemaComplexContent) Field(java.lang.reflect.Field) XmlSchemaSequence(org.apache.ws.commons.schema.XmlSchemaSequence) XmlSchema(org.apache.ws.commons.schema.XmlSchema) XmlSchemaSimpleType(org.apache.ws.commons.schema.XmlSchemaSimpleType) List(java.util.List) XmlSchemaComplexType(org.apache.ws.commons.schema.XmlSchemaComplexType) ComponentBuilder(org.talend.designer.webservice.ws.wsdlutil.ComponentBuilder) Test(org.junit.Test)

Example 12 with XmlSchemaType

use of org.apache.ws.commons.schema.XmlSchemaType in project ddf by codice.

the class FeatureMetacardType method processXmlSchema.

private void processXmlSchema(XmlSchema schema) {
    Map<QName, XmlSchemaElement> elements = schema.getElements();
    Iterator<XmlSchemaElement> xmlSchemaElementIterator = elements.values().iterator();
    while (xmlSchemaElementIterator.hasNext()) {
        Object o = xmlSchemaElementIterator.next();
        XmlSchemaElement element = (XmlSchemaElement) o;
        XmlSchemaType schemaType = element.getSchemaType();
        if (schemaType instanceof XmlSchemaComplexType) {
            processComplexType(element);
        } else if (schemaType instanceof XmlSchemaSimpleType) {
            processSimpleType(element);
        }
    }
}
Also used : QName(javax.xml.namespace.QName) XmlSchemaElement(org.apache.ws.commons.schema.XmlSchemaElement) XmlSchemaSimpleType(org.apache.ws.commons.schema.XmlSchemaSimpleType) XmlSchemaComplexType(org.apache.ws.commons.schema.XmlSchemaComplexType) XmlSchemaType(org.apache.ws.commons.schema.XmlSchemaType)

Example 13 with XmlSchemaType

use of org.apache.ws.commons.schema.XmlSchemaType in project ddf by codice.

the class FeatureMetacardType method processComplexType.

private void processComplexType(XmlSchemaElement xmlSchemaElement) {
    if (!processGmlType(xmlSchemaElement)) {
        XmlSchemaType schemaType = xmlSchemaElement.getSchemaType();
        if ((schemaType != null) && (schemaType instanceof XmlSchemaComplexType)) {
            XmlSchemaComplexType complexType = (XmlSchemaComplexType) schemaType;
            if (complexType.getParticle() != null) {
                processXmlSchemaParticle(complexType.getParticle());
            } else {
                if (complexType.getContentModel() instanceof XmlSchemaComplexContent) {
                    XmlSchemaContent content = complexType.getContentModel().getContent();
                    if (content instanceof XmlSchemaComplexContentExtension) {
                        XmlSchemaComplexContentExtension extension = (XmlSchemaComplexContentExtension) content;
                        processXmlSchemaParticle(extension.getParticle());
                    }
                }
            }
        }
    }
}
Also used : XmlSchemaComplexContentExtension(org.apache.ws.commons.schema.XmlSchemaComplexContentExtension) XmlSchemaContent(org.apache.ws.commons.schema.XmlSchemaContent) XmlSchemaComplexType(org.apache.ws.commons.schema.XmlSchemaComplexType) XmlSchemaType(org.apache.ws.commons.schema.XmlSchemaType) XmlSchemaComplexContent(org.apache.ws.commons.schema.XmlSchemaComplexContent)

Aggregations

XmlSchemaType (org.apache.ws.commons.schema.XmlSchemaType)13 XmlSchemaComplexType (org.apache.ws.commons.schema.XmlSchemaComplexType)10 XmlSchemaSimpleType (org.apache.ws.commons.schema.XmlSchemaSimpleType)7 XmlSchemaComplexContentExtension (org.apache.ws.commons.schema.XmlSchemaComplexContentExtension)6 XmlSchema (org.apache.ws.commons.schema.XmlSchema)4 XmlSchemaElement (org.apache.ws.commons.schema.XmlSchemaElement)4 XmlSchemaGroupBase (org.apache.ws.commons.schema.XmlSchemaGroupBase)4 XmlSchemaObject (org.apache.ws.commons.schema.XmlSchemaObject)4 XmlSchemaObjectCollection (org.apache.ws.commons.schema.XmlSchemaObjectCollection)4 XmlSchemaParticle (org.apache.ws.commons.schema.XmlSchemaParticle)4 Iterator (java.util.Iterator)3 XmlSchemaComplexContentRestriction (org.apache.ws.commons.schema.XmlSchemaComplexContentRestriction)3 ParameterInfo (org.talend.designer.webservice.ws.wsdlinfo.ParameterInfo)3 ArrayList (java.util.ArrayList)2 QName (javax.xml.namespace.QName)2 XmlSchemaComplexContent (org.apache.ws.commons.schema.XmlSchemaComplexContent)2 XmlSchemaObjectTable (org.apache.ws.commons.schema.XmlSchemaObjectTable)2 XmlSchemaSequence (org.apache.ws.commons.schema.XmlSchemaSequence)2 Field (java.lang.reflect.Field)1 Method (java.lang.reflect.Method)1