use of org.apache.cxf.binding.corba.wsdl.Anonstring in project cxf by apache.
the class WSDLToCorbaBindingTypeTest method testAnonFixedType.
// tests anonymous strings and fixed types.
@Test
public void testAnonFixedType() throws Exception {
try {
String fileName = getClass().getResource("/wsdl/anonfixed.wsdl").toString();
generator.setWsdlFile(fileName);
generator.addInterfaceName("X");
Definition model = generator.generateCORBABinding();
Document document = writer.getDocument(model);
Element typemap = getElementNode(document, "corba:typeMapping");
assertNotNull(typemap);
assertEquals(1, typemap.getElementsByTagName("corba:anonfixed").getLength());
assertEquals(1, typemap.getElementsByTagName("corba:anonstring").getLength());
assertEquals(3, typemap.getElementsByTagName("corba:struct").getLength());
TypeMappingType mapType = (TypeMappingType) model.getExtensibilityElements().get(0);
WSDLToIDLAction idlgen = new WSDLToIDLAction();
idlgen.setBindingName("XCORBABinding");
idlgen.setOutputFile("atype.idl");
idlgen.generateIDL(model);
List<CorbaType> types = mapType.getStructOrExceptionOrUnion();
for (int i = 0; i < types.size(); i++) {
CorbaType type = types.get(i);
if (type instanceof Anonstring) {
Anonstring str = (Anonstring) type;
assertEquals("Name is incorrect for Array Type", "X._1_S", str.getName());
assertEquals("Type is incorrect for AnonString Type", "string", str.getType().getLocalPart());
} else if (type instanceof Anonfixed) {
Anonfixed fx = (Anonfixed) type;
assertEquals("Name is incorrect for Anon Array Type", "X._2_S", fx.getName());
assertEquals("Type is incorrect for AnonFixed Type", "decimal", fx.getType().getLocalPart());
} else if (type instanceof Struct) {
Struct struct = (Struct) type;
String[] testResult;
if ("X.op_a".equals(struct.getName())) {
testResult = new String[] { "X.op_a", "X.op_a", "p1", "X.S", "p2", "X.S" };
} else if ("X.op_aResult".equals(struct.getName())) {
testResult = new String[] { "X.op_aResult", "X.op_aResult", "return", "X.S", "p2", "X.S" };
} else {
testResult = new String[] { "X.S", "X.S", "str", "X._1_S", "fx", "X._2_S" };
}
assertEquals("Name is incorrect for Anon Array Type", testResult[0], struct.getName());
assertEquals("Type is incorrect for Struct Type", testResult[1], struct.getType().getLocalPart());
assertEquals("Name for first Struct Member Type is incorrect", testResult[2], struct.getMember().get(0).getName());
assertEquals("Idltype for first Struct Member Type is incorrect", testResult[3], struct.getMember().get(0).getIdltype().getLocalPart());
assertEquals("Name for second Struct Member Type is incorrect", testResult[4], struct.getMember().get(1).getName());
assertEquals("Idltype for second Struct Member Type is incorrect", testResult[5], struct.getMember().get(1).getIdltype().getLocalPart());
} else {
// System.err.println("Type: " + i + " " + type.getClass().getName());
}
}
File f = new File("atype.idl");
assertTrue("atype.idl should be generated", f.exists());
} finally {
new File("atype.idl").deleteOnExit();
}
}
use of org.apache.cxf.binding.corba.wsdl.Anonstring in project cxf by apache.
the class WSDLToCorbaBindingTypeTest method testTypeInheritance.
// tests Type Inheritance and attributes.
@Test
public void testTypeInheritance() throws Exception {
try {
String fileName = getClass().getResource("/wsdl/TypeInheritance.wsdl").toString();
generator.setWsdlFile(fileName);
generator.addInterfaceName("TypeInheritancePortType");
Definition model = generator.generateCORBABinding();
Document document = writer.getDocument(model);
Element typemap = getElementNode(document, "corba:typeMapping");
assertNotNull(typemap);
assertEquals(3, typemap.getElementsByTagName("corba:union").getLength());
assertEquals(1, typemap.getElementsByTagName("corba:anonstring").getLength());
assertEquals(17, typemap.getElementsByTagName("corba:struct").getLength());
TypeMappingType mapType = (TypeMappingType) model.getExtensibilityElements().get(0);
WSDLToIDLAction idlgen = new WSDLToIDLAction();
idlgen.setBindingName("TypeInheritanceCORBABinding");
idlgen.setOutputFile("typeInherit.idl");
idlgen.generateIDL(model);
List<CorbaType> types = mapType.getStructOrExceptionOrUnion();
for (int i = 0; i < types.size(); i++) {
CorbaType type = types.get(i);
if ("Type5SequenceStruct".equals(type.getName())) {
assertTrue("Name is incorrect for Type5SequenceStruct Type", type instanceof Struct);
assertEquals("Type is incorrect for AnonSequence Type", "Type5", type.getType().getLocalPart());
} else if ("attrib2Type".equals(type.getName())) {
assertTrue("Name is incorrect for attrib2Type Type", type instanceof Anonstring);
assertEquals("Type is incorrect for AnonString Type", "string", type.getType().getLocalPart());
} else if ("attrib2Type_nil".equals(type.getName())) {
assertTrue("Name is incorrect for Struct Type", type instanceof Union);
assertEquals("Type is incorrect for AnonSequence Type", "attrib2", type.getType().getLocalPart());
}
}
File f = new File("typeInherit.idl");
assertTrue("typeInherit.idl should be generated", f.exists());
} finally {
new File("typeInherit.idl").deleteOnExit();
}
}
Aggregations