use of org.apache.cxf.binding.corba.types.CorbaPrimitiveHandler in project cxf by apache.
the class CorbaObjectWriterTest method testWriteArray.
@Test
public void testWriteArray() {
int[] data = { 1, 1, 2, 3, 5, 8, 13, 21 };
// create an array of longs
QName longIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "long", CorbaConstants.NP_WSDL_CORBA);
QName arrayIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "array", CorbaConstants.NP_WSDL_CORBA);
Array arrayType = new Array();
arrayType.setBound(data.length);
arrayType.setElemtype(longIdlType);
// name and respoitory ID of the array are not needed for this test
// build the object holder for an array.
TypeCode arrayTC = orb.create_array_tc(data.length, orb.get_primitive_tc(TCKind.tk_long));
CorbaArrayHandler obj = new CorbaArrayHandler(new QName("Array"), arrayIdlType, arrayTC, arrayType);
for (int i = 0; i < data.length; ++i) {
CorbaPrimitiveHandler nestedObj = new CorbaPrimitiveHandler(new QName("item"), longIdlType, orb.get_primitive_tc(TCKind.tk_long), null);
nestedObj.setValueFromData(Integer.toString(data[i]));
obj.addElement(nestedObj);
}
OutputStream oStream = orb.create_output_stream();
CorbaObjectWriter writer = new CorbaObjectWriter(oStream);
writer.writeArray(obj);
InputStream iStream = oStream.create_input_stream();
for (int i = 0; i < data.length; ++i) {
int val = iStream.read_long();
assertTrue(val == data[i]);
}
}
use of org.apache.cxf.binding.corba.types.CorbaPrimitiveHandler in project cxf by apache.
the class CorbaObjectWriterTest method testWriteSequence.
@Test
public void testWriteSequence() {
String[] data = { "one", "one", "two", "three", "five", "eight", "thirteen", "twenty-one" };
// create an sequence of strings
QName stringIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "string", CorbaConstants.NP_WSDL_CORBA);
QName seqIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "sequence", CorbaConstants.NP_WSDL_CORBA);
Sequence seqType = new Sequence();
seqType.setBound(data.length);
seqType.setElemtype(stringIdlType);
// name and respoitory ID of the sequence are not needed for this test
// build the object holder for a sequence.
TypeCode seqTC = orb.create_sequence_tc(data.length, orb.get_primitive_tc(TCKind.tk_string));
CorbaSequenceHandler obj = new CorbaSequenceHandler(new QName("Seq"), seqIdlType, seqTC, seqType);
for (int i = 0; i < data.length; ++i) {
CorbaPrimitiveHandler nestedObj = new CorbaPrimitiveHandler(new QName("item"), stringIdlType, orb.get_primitive_tc(TCKind.tk_string), null);
nestedObj.setValueFromData(data[i]);
obj.addElement(nestedObj);
}
OutputStream oStream = orb.create_output_stream();
CorbaObjectWriter writer = new CorbaObjectWriter(oStream);
writer.writeSequence(obj);
InputStream iStream = oStream.create_input_stream();
int length = iStream.read_long();
for (int i = 0; i < length; ++i) {
String val = iStream.read_string();
assertTrue(val.equals(data[i]));
}
}
use of org.apache.cxf.binding.corba.types.CorbaPrimitiveHandler in project cxf by apache.
the class CorbaObjectWriterTest method testWriteStruct.
@Test
public void testWriteStruct() {
// create the following struct
// struct TestStruct {
// long member1;
// string member2;
// boolean member3;
// }
int member1 = 12345;
String member2 = "54321";
boolean member3 = true;
QName structIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "struct", CorbaConstants.NP_WSDL_CORBA);
QName longIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "long", CorbaConstants.NP_WSDL_CORBA);
QName stringIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "string", CorbaConstants.NP_WSDL_CORBA);
QName boolIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "boolean", CorbaConstants.NP_WSDL_CORBA);
Struct structType = new Struct();
structType.setName("TestStruct");
MemberType m1 = new MemberType();
m1.setIdltype(longIdlType);
m1.setName("member1");
MemberType m2 = new MemberType();
m2.setIdltype(stringIdlType);
m2.setName("member2");
MemberType m3 = new MemberType();
m3.setIdltype(boolIdlType);
m3.setName("member3");
structType.getMember().add(m1);
structType.getMember().add(m2);
structType.getMember().add(m3);
// build the object holder
StructMember[] structMembers = new StructMember[3];
structMembers[0] = new StructMember("member1", orb.get_primitive_tc(TCKind.tk_long), null);
structMembers[1] = new StructMember("member2", orb.get_primitive_tc(TCKind.tk_string), null);
structMembers[2] = new StructMember("member3", orb.get_primitive_tc(TCKind.tk_boolean), null);
TypeCode structTC = orb.create_struct_tc("IDL:org.apache.cxf.TestStruct/1.0", "TestStruct", structMembers);
CorbaStructHandler obj = new CorbaStructHandler(new QName("TestStruct"), structIdlType, structTC, structType);
CorbaPrimitiveHandler memberObj1 = new CorbaPrimitiveHandler(new QName("member1"), longIdlType, structMembers[0].type, null);
CorbaPrimitiveHandler memberObj2 = new CorbaPrimitiveHandler(new QName("member2"), stringIdlType, structMembers[1].type, null);
CorbaPrimitiveHandler memberObj3 = new CorbaPrimitiveHandler(new QName("member3"), boolIdlType, structMembers[2].type, null);
memberObj1.setValueFromData(Integer.toString(member1));
memberObj2.setValueFromData(member2);
memberObj3.setValueFromData(Boolean.toString(member3));
obj.addMember(memberObj1);
obj.addMember(memberObj2);
obj.addMember(memberObj3);
OutputStream oStream = orb.create_output_stream();
CorbaObjectWriter writer = new CorbaObjectWriter(oStream);
writer.writeStruct(obj);
InputStream iStream = oStream.create_input_stream();
int readMember1 = iStream.read_long();
assertTrue(readMember1 == member1);
String readMember2 = iStream.read_string();
assertTrue(readMember2.equals(member2));
boolean readMember3 = iStream.read_boolean();
assertTrue(readMember3 == member3);
}
use of org.apache.cxf.binding.corba.types.CorbaPrimitiveHandler in project cxf by apache.
the class CorbaStreamableTest method testReadStreamable.
@Test
public void testReadStreamable() {
QName objName = new QName("object");
QName objIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "char", CorbaConstants.NP_WSDL_CORBA);
TypeCode objTypeCode = orb.get_primitive_tc(TCKind.tk_char);
CorbaPrimitiveHandler obj = new CorbaPrimitiveHandler(objName, objIdlType, objTypeCode, null);
CorbaStreamable streamable = new CorbaStreamableImpl(obj, objName);
OutputStream oStream = orb.create_output_stream();
oStream.write_char('c');
InputStream iStream = oStream.create_input_stream();
streamable._read(iStream);
CorbaPrimitiveHandler streamableObj = (CorbaPrimitiveHandler) streamable.getObject();
Object o = streamableObj.getValue();
assertTrue(o instanceof Character);
Character charValue = (Character) o;
assertTrue(charValue.charValue() == 'c');
}
use of org.apache.cxf.binding.corba.types.CorbaPrimitiveHandler in project cxf by apache.
the class CorbaStreamableTest method testWriteStreamable.
@Test
public void testWriteStreamable() {
QName objName = new QName("object");
QName objIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "wstring", CorbaConstants.NP_WSDL_CORBA);
TypeCode objTypeCode = orb.get_primitive_tc(TCKind.tk_wstring);
CorbaPrimitiveHandler obj = new CorbaPrimitiveHandler(objName, objIdlType, objTypeCode, null);
obj.setValueFromData("TestWString");
CorbaStreamable streamable = new CorbaStreamableImpl(obj, objName);
OutputStream oStream = orb.create_output_stream();
streamable._write(oStream);
InputStream iStream = oStream.create_input_stream();
String value = iStream.read_wstring();
assertEquals("TestWString", value);
}
Aggregations