Package org.omg.CORBA

Examples of org.omg.CORBA.Any


        out.write_any(any);
    }

    public Object readAny(org.omg.CORBA.portable.InputStream in)
            throws org.omg.CORBA.SystemException {
        Any any = in.read_any();
        TypeCode typecode = any.type();

        switch (typecode.kind().value()) {

        case TCKind._tk_null:
        case TCKind._tk_void:
            return null;

        case TCKind._tk_value:
        case TCKind._tk_value_box:
            return any.extract_Value();

        case TCKind._tk_abstract_interface:
            org.omg.CORBA_2_3.portable.InputStream in23 = (org.omg.CORBA_2_3.portable.InputStream) any
                    .create_input_stream();
            return in23.read_abstract_interface();

        case TCKind._tk_string:
            return any.extract_string();

        case TCKind._tk_objref:
            org.omg.CORBA.Object ref = any.extract_Object();
            return ref;

        case TCKind._tk_any:
            return any.extract_any();

        default:
            String id = "<unknown>";
            try {
                id = typecode.id();
View Full Code Here


    // Test generic operations
    //
    static void testOps(ORB orb, DynAnyFactory factory, TypeCode tc,
            boolean hasComponents) {
        try {
            Any badAny = orb.create_any();
            DynAny d1 = null, d2 = null, d3 = null, copy = null;
            TypeCode origTC = getOrigType(tc);

            //
            // Create an any having a TypeCode that will not match tc
            //
            if (tc.kind() != TCKind.tk_short)
                badAny.insert_short((short) 0);
            else
                badAny.insert_ushort((short) 0);

            //
            // Test: type()
            //
            d1 = factory.create_dyn_any_from_type_code(tc);
            TypeCode tcv = d1.type();
            TEST(tc.equal(tcv));
            d1.destroy();

            //
            // Test: assign() TypeMismatch exception
            //
            try {
                d1 = factory.create_dyn_any_from_type_code(tc);
                d2 = factory.create_dyn_any(badAny);
                d1.assign(d2);
                TEST("assign() should not have succeeded" == null);
            } catch (org.omg.DynamicAny.DynAnyPackage.TypeMismatch ex) {
                // expected
                d1.destroy();
                d2.destroy();
            }

            //
            // Test: from_any() TypeMismatch exception
            //
            try {
                d1 = factory.create_dyn_any_from_type_code(tc);
                d1.from_any(badAny);
                TEST("from_any() should not have succeeded" == null);
            } catch (org.omg.DynamicAny.DynAnyPackage.TypeMismatch ex) {
                // expected
                d1.destroy();
            }

            //
            // Test: from_any() InvalidValue exception
            //
            switch (origTC.kind().value()) {
            case TCKind._tk_null:
            case TCKind._tk_void:
            case TCKind._tk_TypeCode:
            case TCKind._tk_Principal:
            case TCKind._tk_objref:
            case TCKind._tk_value:
            case TCKind._tk_value_box:
                // nothing to do
                break;

            default:
                try {
                    Any a = orb.create_any();
                    a.type(tc);
                    d1 = factory.create_dyn_any_from_type_code(tc);
                    d1.from_any(a);
                    TEST("from_any() should not have succeeded" == null);
                } catch (org.omg.DynamicAny.DynAnyPackage.InvalidValue ex) {
                    // expected
View Full Code Here

    }

    static void testBasic(ORB orb, DynAnyFactory factory) {
        try {
            org.omg.CORBA.Object obj;
            Any any = orb.create_any();
            Any av;
            DynAny d1 = null, d2 = null, copy = null;
            TypeCode type, tc;

            //
            // Test: short
            //
            type = orb.get_primitive_tc(TCKind.tk_short);
            d1 = factory.create_dyn_any_from_type_code(type);
            TEST(d1.get_short() == (short) 0);
            d1.insert_short((short) -53);
            TEST(d1.get_short() == (short) -53);
            d1.insert_short((short) 32000);
            TEST(d1.get_short() == (short) 32000);

            av = d1.to_any();
            short shortVal = av.extract_short();
            TEST(shortVal == (short) 32000);

            any.insert_short((short) 32000);
            d2 = factory.create_dyn_any(any);
            TEST(d1.equal(d2));

            copy = d1.copy();
            TEST(d1.equal(copy));
            TEST(copy.get_short() == (short) 32000);

            any.insert_short((short) -99);
            d2.from_any(any);
            d1.assign(d2);
            TEST(d1.equal(d2));

            d1.destroy();
            d2.destroy();
            copy.destroy();

            testOps(orb, factory, type, false);

            //
            // Test: unsigned short
            //
            type = orb.get_primitive_tc(TCKind.tk_ushort);
            d1 = factory.create_dyn_any_from_type_code(type);
            TEST(d1.get_ushort() == (short) 0);
            d1.insert_ushort((short) 199);
            TEST(d1.get_ushort() == (short) 199);
            d1.insert_ushort((short) 65001);
            TEST(d1.get_ushort() == (short) 65001);

            av = d1.to_any();
            short ushortVal = av.extract_ushort();
            TEST(ushortVal == (short) 65001);

            any.insert_ushort((short) 65001);
            d2 = factory.create_dyn_any(any);
            TEST(d1.equal(d2));

            copy = d1.copy();
            TEST(d1.equal(copy));
            TEST(copy.get_ushort() == (short) 65001);

            any.insert_ushort((short) 501);
            d2.from_any(any);
            d1.assign(d2);
            TEST(d1.equal(d2));

            d1.destroy();
            d2.destroy();
            copy.destroy();

            testOps(orb, factory, type, false);

            //
            // Test: long
            //
            type = orb.get_primitive_tc(TCKind.tk_long);
            d1 = factory.create_dyn_any_from_type_code(type);
            TEST(d1.get_long() == 0);
            d1.insert_long(-530000);
            TEST(d1.get_long() == -530000);
            d1.insert_long(3200000);
            TEST(d1.get_long() == 3200000);

            av = d1.to_any();
            int longVal = av.extract_long();
            TEST(longVal == 3200000);

            any.insert_long(3200000);
            d2 = factory.create_dyn_any(any);
            TEST(d1.equal(d2));

            copy = d1.copy();
            TEST(d1.equal(copy));
            TEST(copy.get_long() == 3200000);

            any.insert_long(-99000);
            d2.from_any(any);
            d1.assign(d2);
            TEST(d1.equal(d2));

            d1.destroy();
            d2.destroy();
            copy.destroy();

            testOps(orb, factory, type, false);

            //
            // Test: unsigned long
            //
            type = orb.get_primitive_tc(TCKind.tk_ulong);
            d1 = factory.create_dyn_any_from_type_code(type);
            TEST(d1.get_ulong() == 0);
            d1.insert_ulong(199000);
            TEST(d1.get_ulong() == 199000);
            d1.insert_ulong(65001000);
            TEST(d1.get_ulong() == 65001000);

            av = d1.to_any();
            int ulongVal = av.extract_ulong();
            TEST(ulongVal == 65001000);

            any.insert_ulong(65001000);
            d2 = factory.create_dyn_any(any);
            TEST(d1.equal(d2));

            copy = d1.copy();
            TEST(d1.equal(copy));
            TEST(copy.get_ulong() == 65001000);

            any.insert_ulong(501000);
            d2.from_any(any);
            d1.assign(d2);
            TEST(d1.equal(d2));

            d1.destroy();
            d2.destroy();
            copy.destroy();

            testOps(orb, factory, type, false);

            //
            // Test: float
            //
            type = orb.get_primitive_tc(TCKind.tk_float);
            d1 = factory.create_dyn_any_from_type_code(type);
            TEST(d1.get_float() == 0.0f);
            d1.insert_float(199.001f);
            TEST(d1.get_float() > 199.0f && d1.get_float() < 199.1f);
            d1.insert_float(6500.10001f);
            TEST(d1.get_float() > 6500.0f && d1.get_float() < 6501.0f);

            av = d1.to_any();
            float floatVal = av.extract_float();
            TEST(floatVal > 6500.1 && floatVal < 6500.2);

            any.insert_float((float) 6500.10001);
            d2 = factory.create_dyn_any(any);
            TEST(d1.equal(d2));

            copy = d1.copy();
            TEST(d1.equal(copy));
            TEST(copy.get_float() > 6500.1 && copy.get_float() < 6500.2);

            any.insert_float((float) 501.001);
            d2.from_any(any);
            d1.assign(d2);
            TEST(d1.equal(d2));

            d1.destroy();
            d2.destroy();
            copy.destroy();

            testOps(orb, factory, type, false);

            //
            // Test: double
            //
            type = orb.get_primitive_tc(TCKind.tk_double);
            d1 = factory.create_dyn_any_from_type_code(type);
            TEST(d1.get_double() == 0.0);
            d1.insert_double(199000.001);
            TEST(d1.get_double() > 199000.0 && d1.get_double() < 199000.1);
            d1.insert_double(6500000.10001);
            TEST(d1.get_double() > 6500000.1 && d1.get_double() < 6500000.2);

            av = d1.to_any();
            double doubleVal = av.extract_double();
            TEST(doubleVal > 6500000.1 && doubleVal < 6500000.2);

            any.insert_double(6500000.10001);
            d2 = factory.create_dyn_any(any);
            TEST(d1.equal(d2));

            copy = d1.copy();
            TEST(d1.equal(copy));
            TEST(copy.get_double() > 6500000.1 && copy.get_double() < 6500000.2);

            any.insert_double(501000.001);
            d2.from_any(any);
            d1.assign(d2);
            TEST(d1.equal(d2));

            d1.destroy();
            d2.destroy();
            copy.destroy();

            testOps(orb, factory, type, false);

            //
            // Test: boolean
            //
            type = orb.get_primitive_tc(TCKind.tk_boolean);
            d1 = factory.create_dyn_any_from_type_code(type);
            TEST(d1.get_boolean() == false);
            d1.insert_boolean(false);
            TEST(d1.get_boolean() == false);
            d1.insert_boolean(true);
            TEST(d1.get_boolean() == true);

            av = d1.to_any();
            boolean boolVal = av.extract_boolean();
            TEST(boolVal == true);

            any.insert_boolean(true);
            d2 = factory.create_dyn_any(any);
            TEST(d1.equal(d2));

            copy = d1.copy();
            TEST(d1.equal(copy));
            TEST(copy.get_boolean() == true);

            any.insert_boolean(false);
            d2.from_any(any);
            d1.assign(d2);
            TEST(d1.equal(d2));

            d1.destroy();
            d2.destroy();
            copy.destroy();

            testOps(orb, factory, type, false);

            //
            // Test: char
            //
            type = orb.get_primitive_tc(TCKind.tk_char);
            d1 = factory.create_dyn_any_from_type_code(type);
            TEST(d1.get_char() == 0);
            d1.insert_char('A');
            TEST(d1.get_char() == 'A');
            d1.insert_char('z');
            TEST(d1.get_char() == 'z');

            av = d1.to_any();
            char charVal = av.extract_char();
            TEST(charVal == 'z');

            any.insert_char('z');
            d2 = factory.create_dyn_any(any);
            TEST(d1.equal(d2));

            copy = d1.copy();
            TEST(d1.equal(copy));
            TEST(copy.get_char() == 'z');

            any.insert_char('@');
            d2.from_any(any);
            d1.assign(d2);
            TEST(d1.equal(d2));

            d1.destroy();
            d2.destroy();
            copy.destroy();

            testOps(orb, factory, type, false);

            //
            // Test: octet
            //
            type = orb.get_primitive_tc(TCKind.tk_octet);
            d1 = factory.create_dyn_any_from_type_code(type);
            TEST(d1.get_octet() == 0);
            d1.insert_octet((byte) 255);
            TEST(d1.get_octet() == (byte) 255);
            d1.insert_octet((byte) 1);
            TEST(d1.get_octet() == (byte) 1);

            av = d1.to_any();
            byte octetVal = av.extract_octet();
            TEST(octetVal == (byte) 1);

            any.insert_octet((byte) 1);
            d2 = factory.create_dyn_any(any);
            TEST(d1.equal(d2));

            copy = d1.copy();
            TEST(d1.equal(copy));
            TEST(copy.get_octet() == (byte) 1);

            any.insert_octet((byte) 127);
            d2.from_any(any);
            d1.assign(d2);
            TEST(d1.equal(d2));

            d1.destroy();
            d2.destroy();
            copy.destroy();

            testOps(orb, factory, type, false);

            //
            // Test: any
            //
            type = orb.get_primitive_tc(TCKind.tk_any);
            d1 = factory.create_dyn_any_from_type_code(type);
            any.insert_long(345678);
            d1.insert_any(any);
            av = d1.get_any();
            longVal = av.extract_long();
            TEST(longVal == 345678);

            Any anyVal = orb.create_any();
            anyVal.insert_long(345678);
            any.insert_any(anyVal);
            d2 = factory.create_dyn_any(any);
            TEST(d1.equal(d2));

            av = d1.to_any();
            Any cap = av.extract_any();
            longVal = cap.extract_long();
            TEST(longVal == 345678);

            anyVal.insert_string("anyValue");
            any.insert_any(anyVal);
            d2.from_any(any);
View Full Code Here

        CorbaStreamable arg = new CorbaStreamable(obj, objName);       
        arguments[0] = arg;
        arguments[0].setMode(org.omg.CORBA.ARG_OUT.value);       
       
        NVList nvlist = (NVList)orb.create_list(2);   
        Any value = orb.create_any();
        value.insert_Streamable(arguments[0]);
        nvlist.add_value(arguments[0].getName(), value, arguments[0].getMode());
       
        CorbaServerConduit conduit = setupCorbaServerConduit(false)
        CorbaMessage msg = control.createMock(CorbaMessage.class);
        Exchange exchange = control.createMock(Exchange.class);       
View Full Code Here

        }
    }

    static void testFixed(ORB orb, DynAnyFactory factory) {
        try {
            Any any = orb.create_any();
            Any av;
            DynAny d1 = null, d2 = null, copy = null;
            TypeCode tc;
            String str;
            DynFixed f1, f2;
            BigDecimal f;

            //
            // Create TypeCode
            //
            tc = orb.create_fixed_tc((short) 5, (short) 2);

            //
            // Test: get_value()
            //
            d1 = factory.create_dyn_any_from_type_code(tc);
            f1 = DynFixedHelper.narrow(d1);
            str = f1.get_value();
            f = new BigDecimal(str);
            TEST(f.equals(new BigDecimal("0")));

            //
            // Test: set_value()
            //
            TEST(f1.set_value("1.1"));
            TEST(f1.set_value("123.1"));
            TEST(f1.set_value("123.12"));
            TEST(!f1.set_value("123.123"));

            //
            // Test: from_any()
            //
            f = new BigDecimal("98");
            any.insert_fixed(f, tc);
            f1.from_any(any);

            //
            // Test: to_any()
            //
            av = f1.to_any();
            f = av.extract_fixed();
            TEST(f.equals(new BigDecimal("98")));

            //
            // Test: copy
            //
View Full Code Here

        }
    }

    static void testEnum(ORB orb, DynAnyFactory factory) {
        try {
            Any any = orb.create_any();
            Any av;
            DynAny d1 = null, d2 = null, copy = null;
            String str;
            DynEnum e1, e2;
            test.types.DynAnyTypes.TestEnum e;
            TypeCode type = test.types.DynAnyTypes.TestEnumHelper.type();
View Full Code Here

    }

    static void testStruct(ORB orb, DynAnyFactory factory) {
        try {
            int i;
            Any any = orb.create_any();
            Any av;
            DynAny d1, d2, copy;
            String str;
            String wstr;
            DynStruct s1, s2;
            String cp;
            TypeCode type, tc;
            TestStruct ts = new TestStruct();
            TestStruct pts;
            NameValuePair[] nvpseq;
            NameDynAnyPair[] ndpseq;

            type = TestStructHelper.type();
            d1 = factory.create_dyn_any_from_type_code(type);
            s1 = DynStructHelper.narrow(d1);

            //
            // Test: current_member_name, current_member_kind
            //
            str = s1.current_member_name();
            TEST(str.equals("shortVal"));
            TEST(s1.current_member_kind() == TCKind.tk_short);
            s1.next();
            str = s1.current_member_name();
            TEST(str.equals("ushortVal"));
            TEST(s1.current_member_kind() == TCKind.tk_ushort);
            s1.next();
            str = s1.current_member_name();
            TEST(str.equals("longVal"));
            TEST(s1.current_member_kind() == TCKind.tk_long);
            s1.next();
            str = s1.current_member_name();
            TEST(str.equals("ulongVal"));
            TEST(s1.current_member_kind() == TCKind.tk_ulong);
            s1.next();
            str = s1.current_member_name();
            TEST(str.equals("floatVal"));
            TEST(s1.current_member_kind() == TCKind.tk_float);
            s1.next();
            str = s1.current_member_name();
            TEST(str.equals("doubleVal"));
            TEST(s1.current_member_kind() == TCKind.tk_double);
            s1.next();
            str = s1.current_member_name();
            TEST(str.equals("boolVal"));
            TEST(s1.current_member_kind() == TCKind.tk_boolean);
            s1.next();
            str = s1.current_member_name();
            TEST(str.equals("charVal"));
            TEST(s1.current_member_kind() == TCKind.tk_char);
            s1.next();
            str = s1.current_member_name();
            TEST(str.equals("octetVal"));
            TEST(s1.current_member_kind() == TCKind.tk_octet);
            s1.next();
            str = s1.current_member_name();
            TEST(str.equals("anyVal"));
            TEST(s1.current_member_kind() == TCKind.tk_any);
            s1.next();
            str = s1.current_member_name();
            TEST(str.equals("tcVal"));
            TEST(s1.current_member_kind() == TCKind.tk_TypeCode);
            s1.next();
            str = s1.current_member_name();
            TEST(str.equals("objectVal"));
            TEST(s1.current_member_kind() == TCKind.tk_objref);
            s1.next();
            str = s1.current_member_name();
            TEST(str.equals("stringVal"));
            TEST(s1.current_member_kind() == TCKind.tk_string);
            s1.next();
            str = s1.current_member_name();
            TEST(str.equals("longlongVal"));
            TEST(s1.current_member_kind() == TCKind.tk_longlong);
            s1.next();
            str = s1.current_member_name();
            TEST(str.equals("ulonglongVal"));
            TEST(s1.current_member_kind() == TCKind.tk_ulonglong);
            s1.next();
            str = s1.current_member_name();
            TEST(str.equals("wcharVal"));
            TEST(s1.current_member_kind() == TCKind.tk_wchar);
            s1.next();
            str = s1.current_member_name();
            TEST(str.equals("wstringVal"));
            TEST(s1.current_member_kind() == TCKind.tk_wstring);

            //
            // Test: insert values into members
            //
            s1.rewind();
            s1.insert_short(SHORT_VALUE);
            s1.next();
            s1.insert_ushort(USHORT_VALUE);
            s1.next();
            s1.insert_long(LONG_VALUE);
            s1.next();
            s1.insert_ulong(ULONG_VALUE);
            s1.next();
            s1.insert_float(FLOAT_VALUE);
            s1.next();
            s1.insert_double(DOUBLE_VALUE);
            s1.next();
            s1.insert_boolean(BOOLEAN_VALUE);
            s1.next();
            s1.insert_char(CHAR_VALUE);
            s1.next();
            s1.insert_octet(OCTET_VALUE);
            s1.next();
            any.insert_string(ANY_VALUE);
            s1.insert_any(any);
            s1.next();
            s1.insert_typecode(TYPECODE_VALUE);
            s1.next();
            s1.insert_reference(null);
            s1.next();
            s1.insert_string(STRING_VALUE);
            s1.next();
            s1.insert_longlong(LONGLONG_VALUE);
            s1.next();
            s1.insert_ulonglong(ULONGLONG_VALUE);
            s1.next();
            s1.insert_wchar(WCHAR_VALUE);
            s1.next();
            s1.insert_wstring(WSTRING_VALUE);
            s1.next();

            //
            // Test: get values from members
            //
            s1.rewind();
            TEST(s1.get_short() == SHORT_VALUE);
            s1.next();
            TEST(s1.get_ushort() == USHORT_VALUE);
            s1.next();
            TEST(s1.get_long() == LONG_VALUE);
            s1.next();
            TEST(s1.get_ulong() == ULONG_VALUE);
            s1.next();
            TEST(s1.get_float() == FLOAT_VALUE);
            s1.next();
            TEST(s1.get_double() == DOUBLE_VALUE);
            s1.next();
            TEST(s1.get_boolean() == BOOLEAN_VALUE);
            s1.next();
            TEST(s1.get_char() == CHAR_VALUE);
            s1.next();
            TEST(s1.get_octet() == OCTET_VALUE);
            s1.next();
            av = s1.get_any();
            s1.next();
            TEST(av.extract_string().equals(ANY_VALUE));
            tc = s1.get_typecode();
            s1.next();
            TEST(tc.equal(TYPECODE_VALUE));
            TEST(s1.get_reference() == null);
            s1.next();
View Full Code Here

        }
    }

    static void testException(ORB orb, DynAnyFactory factory) {
        try {
            Any any = orb.create_any();
            Any av;
            DynAny d1, d2, copy;
            DynStruct s1, s2;
            TypeCode type, tc;
            NameValuePair[] nvpseq;
            NameDynAnyPair[] ndpseq;
View Full Code Here

        }
    }

    static void testUnion1(ORB orb, DynAnyFactory factory) {
        try {
            Any any = orb.create_any();
            Any av;
            DynAny d1, d2, copy, disc, member;
            String str;
            DynUnion u1;
            TypeCode type, discType, tc;
            test.types.DynAnyTypes.TestUnion1 tu1 = new test.types.DynAnyTypes.TestUnion1();
View Full Code Here

        }
    }

    static void testUnion2(ORB orb, DynAnyFactory factory) {
        try {
            Any any = orb.create_any();
            Any av;
            DynAny d1, d2, copy, disc, member;
            String str;
            DynUnion u1;
            TypeCode type, discType, tc;
            test.types.DynAnyTypes.TestUnion2 tu2 = new test.types.DynAnyTypes.TestUnion2();
View Full Code Here

TOP

Related Classes of org.omg.CORBA.Any

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.