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;
}
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;
}
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;
}
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;
}
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;
}
Aggregations