Search in sources :

Example 16 with Struct

use of org.apache.cxf.binding.corba.wsdl.Struct 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();
    }
}
Also used : WSDLToIDLAction(org.apache.cxf.tools.corba.processors.wsdl.WSDLToIDLAction) Element(org.w3c.dom.Element) Definition(javax.wsdl.Definition) TypeMappingType(org.apache.cxf.binding.corba.wsdl.TypeMappingType) Document(org.w3c.dom.Document) Union(org.apache.cxf.binding.corba.wsdl.Union) Struct(org.apache.cxf.binding.corba.wsdl.Struct) Anonstring(org.apache.cxf.binding.corba.wsdl.Anonstring) CorbaType(org.apache.cxf.binding.corba.wsdl.CorbaType) File(java.io.File) Test(org.junit.Test)

Example 17 with Struct

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

the class CorbaStructHandlerTest method testCorbaStructHandler.

@Test
public void testCorbaStructHandler() {
    Struct structType = new Struct();
    structType.setName("TestStruct");
    structType.setRepositoryID("IDL:TestStruct:1.0");
    MemberType member0 = new MemberType();
    member0.setIdltype(CorbaConstants.NT_CORBA_LONG);
    member0.setName("member0");
    MemberType member1 = new MemberType();
    member1.setIdltype(CorbaConstants.NT_CORBA_STRING);
    member1.setName("member1");
    QName structName = new QName("TestStruct");
    QName structIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "testStruct", CorbaConstants.NP_WSDL_CORBA);
    StructMember[] structMembers = new StructMember[2];
    structMembers[0] = new StructMember("member0", orb.get_primitive_tc(TCKind.tk_long), null);
    structMembers[1] = new StructMember("member1", orb.get_primitive_tc(TCKind.tk_string), null);
    TypeCode structTC = orb.create_struct_tc(structType.getRepositoryID(), structType.getName(), structMembers);
    CorbaStructHandler obj = new CorbaStructHandler(structName, structIdlType, structTC, structType);
    assertNotNull(obj);
    CorbaPrimitiveHandler objMember0 = new CorbaPrimitiveHandler(new QName(member0.getName()), member0.getIdltype(), orb.get_primitive_tc(TCKind.tk_long), null);
    assertNotNull(objMember0);
    obj.addMember(objMember0);
    CorbaPrimitiveHandler objMember1 = new CorbaPrimitiveHandler(new QName(member1.getName()), member1.getIdltype(), orb.get_primitive_tc(TCKind.tk_string), null);
    assertNotNull(objMember1);
    obj.addMember(objMember1);
    int memberSize = obj.getMembers().size();
    assertTrue(memberSize == 2);
    QName nameResult = obj.getName();
    assertTrue(structName.equals(nameResult));
    QName idlTypeResult = obj.getIdlType();
    assertTrue(structIdlType.equals(idlTypeResult));
    CorbaObjectHandler member0Result = obj.getMemberByName("member0");
    assertNotNull(member0Result);
    assertTrue(member0Result.getName().equals(objMember0.getName()));
    CorbaObjectHandler member1Result = obj.getMember(1);
    assertNotNull(member1Result);
    assertTrue(member1Result.getName().equals(objMember1.getName()));
}
Also used : MemberType(org.apache.cxf.binding.corba.wsdl.MemberType) TypeCode(org.omg.CORBA.TypeCode) QName(javax.xml.namespace.QName) StructMember(org.omg.CORBA.StructMember) Struct(org.apache.cxf.binding.corba.wsdl.Struct) Test(org.junit.Test)

Aggregations

Struct (org.apache.cxf.binding.corba.wsdl.Struct)17 QName (javax.xml.namespace.QName)13 MemberType (org.apache.cxf.binding.corba.wsdl.MemberType)9 CorbaType (org.apache.cxf.binding.corba.wsdl.CorbaType)7 Test (org.junit.Test)6 Union (org.apache.cxf.binding.corba.wsdl.Union)4 StructMember (org.omg.CORBA.StructMember)4 TypeCode (org.omg.CORBA.TypeCode)4 File (java.io.File)3 Definition (javax.wsdl.Definition)3 Array (org.apache.cxf.binding.corba.wsdl.Array)3 Sequence (org.apache.cxf.binding.corba.wsdl.Sequence)3 TypeMappingType (org.apache.cxf.binding.corba.wsdl.TypeMappingType)3 WSDLToIDLAction (org.apache.cxf.tools.corba.processors.wsdl.WSDLToIDLAction)3 CorbaPrimitiveHandler (org.apache.cxf.binding.corba.types.CorbaPrimitiveHandler)2 CorbaStructHandler (org.apache.cxf.binding.corba.types.CorbaStructHandler)2 Alias (org.apache.cxf.binding.corba.wsdl.Alias)2 Anonarray (org.apache.cxf.binding.corba.wsdl.Anonarray)2 Anonfixed (org.apache.cxf.binding.corba.wsdl.Anonfixed)2 Anonsequence (org.apache.cxf.binding.corba.wsdl.Anonsequence)2