Search in sources :

Example 21 with MemberType

use of org.apache.cxf.binding.corba.wsdl.MemberType in project cxf by apache.

the class WSDLToCorbaHelper method processComplexContentStructSchemaAll.

private Struct processComplexContentStructSchemaAll(Struct corbaStruct, XmlSchemaAll all, QName defaultName, QName schematypeName) throws Exception {
    CorbaType alltype = processAllType(all, defaultName, schematypeName);
    MemberType allmem = new MemberType();
    allmem.setName(alltype.getQName().getLocalPart() + "_f");
    allmem.setIdltype(alltype.getQName());
    allmem.setAnonschematype(true);
    if (alltype.isSetQualified() && alltype.isQualified()) {
        allmem.setQualified(true);
    }
    corbaStruct.getMember().add(allmem);
    if (!isDuplicate(alltype)) {
        typeMappingType.getStructOrExceptionOrUnion().add(alltype);
    }
    return corbaStruct;
}
Also used : CorbaType(org.apache.cxf.binding.corba.wsdl.CorbaType) MemberType(org.apache.cxf.binding.corba.wsdl.MemberType)

Example 22 with MemberType

use of org.apache.cxf.binding.corba.wsdl.MemberType in project cxf by apache.

the class WSDLToCorbaHelper method processAllMember.

private MemberType processAllMember(XmlSchemaAll all, QName defaultName, QName schemaTypeName) throws Exception {
    CorbaType corbatype = processAllType(all, defaultName, schemaTypeName);
    MemberType member = new MemberType();
    member.setName(corbatype.getQName().getLocalPart());
    member.setIdltype(corbatype.getQName());
    if (corbatype.isSetQualified() && corbatype.isQualified()) {
        member.setQualified(true);
    }
    return member;
}
Also used : CorbaType(org.apache.cxf.binding.corba.wsdl.CorbaType) MemberType(org.apache.cxf.binding.corba.wsdl.MemberType)

Example 23 with MemberType

use of org.apache.cxf.binding.corba.wsdl.MemberType in project cxf by apache.

the class WSDLToCorbaHelper method processSimpleContentStruct.

protected Struct processSimpleContentStruct(XmlSchemaSimpleContent simpleContent, QName defaultName, Struct corbaStruct, QName schematypeName) throws Exception {
    XmlSchemaType base = null;
    List<MemberType> attrMembers = null;
    CorbaType basetype = null;
    String uri;
    if (schematypeName != null) {
        uri = schematypeName.getNamespaceURI();
    } else {
        uri = defaultName.getNamespaceURI();
    }
    if (simpleContent.getContent() instanceof XmlSchemaSimpleContentExtension) {
        XmlSchemaSimpleContentExtension ext = (XmlSchemaSimpleContentExtension) simpleContent.getContent();
        if (ext.getBaseTypeName() != null) {
            basetype = processPrimitiveType(ext.getBaseTypeName());
        }
        if (basetype == null) {
            base = getSchemaType(ext.getBaseTypeName());
            basetype = convertSchemaToCorbaType(base, base.getQName(), base, null, false);
        }
        if (basetype == null) {
            return null;
        }
        // process ext types ????
        MemberType basemember = new MemberType();
        basemember.setName("_simpleTypeValue");
        QName baseTypeName = checkPrefix(basetype.getQName());
        basemember.setIdltype(baseTypeName);
        corbaStruct.getMember().add(basemember);
        if (!isDuplicate(basetype)) {
            typeMappingType.getStructOrExceptionOrUnion().add(basetype);
        }
        attrMembers = processAttributesAsMembers(ext.getAttributes(), uri);
    } else if (simpleContent.getContent() instanceof XmlSchemaSimpleContentRestriction) {
        XmlSchemaSimpleContentRestriction restrict = (XmlSchemaSimpleContentRestriction) simpleContent.getContent();
        base = restrict.getBaseType();
        if (restrict.getBaseTypeName() != null) {
            basetype = processPrimitiveType(restrict.getBaseTypeName());
        }
        if (basetype == null) {
            base = getSchemaType(restrict.getBaseTypeName());
            basetype = convertSchemaToCorbaType(base, base.getQName(), base, null, false);
        }
        MemberType basemember = new MemberType();
        basemember.setName("_simpleTypeValue");
        QName baseTypeName = checkPrefix(basetype.getQName());
        basemember.setIdltype(baseTypeName);
        corbaStruct.getMember().add(basemember);
        if (!isDuplicate(basetype)) {
            typeMappingType.getStructOrExceptionOrUnion().add(basetype);
        }
        attrMembers = processAttributesAsMembers(restrict.getAttributes(), uri);
    }
    // Deal with Attributes defined in Extension
    if (attrMembers != null) {
        for (int i = 0; i < attrMembers.size(); i++) {
            MemberType member = attrMembers.get(i);
            corbaStruct.getMember().add(member);
        }
    }
    return corbaStruct;
}
Also used : XmlSchemaSimpleContentExtension(org.apache.ws.commons.schema.XmlSchemaSimpleContentExtension) CorbaType(org.apache.cxf.binding.corba.wsdl.CorbaType) MemberType(org.apache.cxf.binding.corba.wsdl.MemberType) QName(javax.xml.namespace.QName) XmlSchemaType(org.apache.ws.commons.schema.XmlSchemaType) XmlSchemaSimpleContentRestriction(org.apache.ws.commons.schema.XmlSchemaSimpleContentRestriction)

Example 24 with MemberType

use of org.apache.cxf.binding.corba.wsdl.MemberType in project cxf by apache.

the class WSDLToCorbaHelper method processStruct.

private CorbaType processStruct(XmlSchemaComplexType complex, QName defaultName) throws Exception {
    QName name;
    Struct corbaStruct = null;
    QName schematypeName = checkPrefix(complex.getQName());
    if (schematypeName == null) {
        schematypeName = createQNameTargetNamespace(defaultName.getLocalPart());
        if (defaultName.getNamespaceURI().equals("")) {
            schematypeName = checkPrefix(schematypeName);
        } else {
            schematypeName = checkPrefix(defaultName);
        }
        name = checkPrefix(createQNameCorbaNamespace(defaultName.getLocalPart()));
    } else {
        name = checkPrefix(createQNameCorbaNamespace(schematypeName.getLocalPart()));
    }
    corbaStruct = (Struct) recursionMap.get(name);
    if (corbaStruct != null) {
        return corbaStruct;
    }
    corbaStruct = new Struct();
    corbaStruct.setName(name.getLocalPart());
    corbaStruct.setQName(name);
    String repoId = REPO_STRING + name.getLocalPart().replace('.', '/') + IDL_VERSION;
    corbaStruct.setRepositoryID(repoId);
    corbaStruct.setType(schematypeName);
    recursionMap.put(name, corbaStruct);
    if (complex.getContentModel() instanceof XmlSchemaSimpleContent) {
        corbaStruct = processSimpleContentStruct((XmlSchemaSimpleContent) complex.getContentModel(), defaultName, corbaStruct, schematypeName);
    } else if (complex.getContentModel() instanceof XmlSchemaComplexContent) {
        corbaStruct = processComplexContentStruct((XmlSchemaComplexContent) complex.getContentModel(), defaultName, corbaStruct, schematypeName);
    }
    // Process attributes at ComplexType level
    if (!complex.getAttributes().isEmpty()) {
        String uri;
        if (schematypeName != null) {
            uri = schematypeName.getNamespaceURI();
        } else {
            uri = defaultName.getNamespaceURI();
        }
        List<MemberType> attlist2 = processAttributesAsMembers(complex.getAttributes(), uri);
        for (int i = 0; i < attlist2.size(); i++) {
            MemberType member = attlist2.get(i);
            corbaStruct.getMember().add(member);
        }
    }
    if (complex.getParticle() != null) {
        List<MemberType> members = processContainerAsMembers(complex.getParticle(), defaultName, schematypeName);
        for (MemberType memberType : members) {
            corbaStruct.getMember().add(memberType);
        }
    }
    recursionMap.remove(name);
    return corbaStruct;
}
Also used : XmlSchemaSimpleContent(org.apache.ws.commons.schema.XmlSchemaSimpleContent) MemberType(org.apache.cxf.binding.corba.wsdl.MemberType) QName(javax.xml.namespace.QName) XmlSchemaComplexContent(org.apache.ws.commons.schema.XmlSchemaComplexContent) Struct(org.apache.cxf.binding.corba.wsdl.Struct)

Example 25 with MemberType

use of org.apache.cxf.binding.corba.wsdl.MemberType in project cxf by apache.

the class WSDLToCorbaHelper method processComplexContentStructParticle.

private Struct processComplexContentStructParticle(XmlSchemaParticle extype, QName defaultName, Struct corbaStruct, QName schematypeName, QName extName, List<XmlSchemaAttributeOrGroupRef> list) throws Exception {
    String uri;
    if (schematypeName != null) {
        uri = schematypeName.getNamespaceURI();
    } else {
        uri = defaultName.getNamespaceURI();
    }
    // Add base as a member of this struct
    MemberType memberType = new MemberType();
    memberType.setName(extName.getLocalPart() + "_f");
    if (extName.getLocalPart().equals("anyType")) {
        memberType.setIdltype(processPrimitiveType(extName).getQName());
    } else {
        memberType.setIdltype(createQNameCorbaNamespace(extName.getLocalPart()));
    }
    corbaStruct.getMember().add(memberType);
    // process attributes at complexContent level
    List<MemberType> attlist1 = processAttributesAsMembers(list, uri);
    for (int i = 0; i < attlist1.size(); i++) {
        MemberType member = attlist1.get(i);
        corbaStruct.getMember().add(member);
    }
    // Process members of Current Type
    if (extype instanceof XmlSchemaChoice) {
        XmlSchemaChoice choice = (XmlSchemaChoice) extype;
        MemberType choicemem = processComplexContentStructChoice(choice, schematypeName, defaultName);
        choicemem.setAnonschematype(true);
        corbaStruct.getMember().add(choicemem);
    } else if (extype instanceof XmlSchemaSequence) {
        XmlSchemaSequence seq = (XmlSchemaSequence) extype;
        corbaStruct = processComplexContentStructSequence(corbaStruct, seq, defaultName, schematypeName);
    } else if (extype instanceof XmlSchemaAll) {
        XmlSchemaAll all = (XmlSchemaAll) extype;
        corbaStruct = processComplexContentStructSchemaAll(corbaStruct, all, defaultName, schematypeName);
    }
    return corbaStruct;
}
Also used : XmlSchemaSequence(org.apache.ws.commons.schema.XmlSchemaSequence) MemberType(org.apache.cxf.binding.corba.wsdl.MemberType) XmlSchemaAll(org.apache.ws.commons.schema.XmlSchemaAll) XmlSchemaChoice(org.apache.ws.commons.schema.XmlSchemaChoice)

Aggregations

MemberType (org.apache.cxf.binding.corba.wsdl.MemberType)32 QName (javax.xml.namespace.QName)23 CorbaType (org.apache.cxf.binding.corba.wsdl.CorbaType)13 Struct (org.apache.cxf.binding.corba.wsdl.Struct)9 StructMember (org.omg.CORBA.StructMember)6 TypeCode (org.omg.CORBA.TypeCode)6 Test (org.junit.Test)5 ArrayList (java.util.ArrayList)4 CorbaPrimitiveHandler (org.apache.cxf.binding.corba.types.CorbaPrimitiveHandler)4 Exception (org.apache.cxf.binding.corba.wsdl.Exception)4 Union (org.apache.cxf.binding.corba.wsdl.Union)4 XmlSchemaElement (org.apache.ws.commons.schema.XmlSchemaElement)4 XmlSchemaSequence (org.apache.ws.commons.schema.XmlSchemaSequence)4 XmlSchemaType (org.apache.ws.commons.schema.XmlSchemaType)4 InputStream (org.omg.CORBA.portable.InputStream)4 OutputStream (org.omg.CORBA.portable.OutputStream)4 XmlSchemaChoice (org.apache.ws.commons.schema.XmlSchemaChoice)3 AST (antlr.collections.AST)2 IOException (java.io.IOException)2 CorbaBindingException (org.apache.cxf.binding.corba.CorbaBindingException)2