use of org.apache.cxf.binding.corba.types.CorbaPrimitiveHandler in project cxf by apache.
the class CorbaObjectWriterTest method testWriteException.
@Test
public void testWriteException() {
// create the following exception
// exception TestExcept {
// short code;
// string message;
// }
short code = 12345;
String message = "54321";
String reposID = "IDL:org.apache.cxf.TestException/1.0";
QName exceptIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "exception", CorbaConstants.NP_WSDL_CORBA);
QName shortIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "short", CorbaConstants.NP_WSDL_CORBA);
QName stringIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "string", CorbaConstants.NP_WSDL_CORBA);
Exception exceptType = new Exception();
exceptType.setName("TestException");
exceptType.setRepositoryID(reposID);
MemberType m1 = new MemberType();
m1.setIdltype(shortIdlType);
m1.setName("code");
MemberType m2 = new MemberType();
m2.setIdltype(stringIdlType);
m2.setName("message");
exceptType.getMember().add(m1);
exceptType.getMember().add(m2);
// build the object holder
StructMember[] exceptMembers = new StructMember[2];
exceptMembers[0] = new StructMember("code", orb.get_primitive_tc(TCKind.tk_short), null);
exceptMembers[1] = new StructMember("message", orb.get_primitive_tc(TCKind.tk_string), null);
TypeCode exceptTC = orb.create_exception_tc(reposID, "TestException", exceptMembers);
CorbaExceptionHandler obj = new CorbaExceptionHandler(new QName("TestException"), exceptIdlType, exceptTC, exceptType);
CorbaPrimitiveHandler member1 = new CorbaPrimitiveHandler(new QName("code"), shortIdlType, exceptMembers[0].type, null);
member1.setValueFromData(Short.toString(code));
CorbaPrimitiveHandler member2 = new CorbaPrimitiveHandler(new QName("message"), stringIdlType, exceptMembers[1].type, null);
member2.setValueFromData(message);
obj.addMember(member1);
obj.addMember(member2);
OutputStream oStream = orb.create_output_stream();
CorbaObjectWriter writer = new CorbaObjectWriter(oStream);
writer.writeException(obj);
InputStream iStream = oStream.create_input_stream();
String readId = iStream.read_string();
assertTrue(readId.equals(reposID));
short readCode = iStream.read_short();
assertTrue(readCode == code);
String readMessage = iStream.read_string();
assertTrue(readMessage.equals(message));
}
use of org.apache.cxf.binding.corba.types.CorbaPrimitiveHandler in project cxf by apache.
the class CorbaStreamableTest method testSetStreamableAttributes.
@Test
public void testSetStreamableAttributes() {
QName objName = new QName("object");
QName objIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "boolean", CorbaConstants.NP_WSDL_CORBA);
TypeCode objTypeCode = orb.get_primitive_tc(TCKind.tk_boolean);
CorbaPrimitiveHandler obj = new CorbaPrimitiveHandler(objName, objIdlType, objTypeCode, null);
CorbaStreamable streamable = new CorbaStreamableImpl(obj, objName);
streamable.setMode(org.omg.CORBA.ARG_IN.value);
int mode = streamable.getMode();
assertTrue(mode == org.omg.CORBA.ARG_IN.value);
}
use of org.apache.cxf.binding.corba.types.CorbaPrimitiveHandler in project cxf by apache.
the class CorbaStreamableTest method testGetStreamableAttributes.
@Test
public void testGetStreamableAttributes() {
QName objName = new QName("object");
QName objIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "float", CorbaConstants.NP_WSDL_CORBA);
TypeCode objTypeCode = orb.get_primitive_tc(TCKind.tk_float);
CorbaPrimitiveHandler obj = new CorbaPrimitiveHandler(objName, objIdlType, objTypeCode, null);
CorbaStreamable streamable = new CorbaStreamableImpl(obj, objName);
TypeCode type = streamable._type();
assertTrue(type.kind().value() == objTypeCode.kind().value());
CorbaPrimitiveHandler storedObj = (CorbaPrimitiveHandler) streamable.getObject();
assertNotNull(storedObj);
int mode = streamable.getMode();
assertTrue(mode == org.omg.CORBA.ARG_OUT.value);
String name = streamable.getName();
assertTrue(name.equals(objName.getLocalPart()));
}
Aggregations