Search in sources :

Example 6 with DynAny

use of org.omg.DynamicAny.DynAny in project ACS by ACS-Community.

the class BACIIntrospector method insertTypedef.

public Any insertTypedef(TypeCode tc, java.lang.Object obj) {
    DynAny dany;
    try {
        dany = ra.getDynFact().create_dyn_any_from_type_code(tc);
    } catch (org.omg.DynamicAny.DynAnyFactoryPackage.InconsistentTypeCode e) {
        e.printStackTrace();
        return null;
    }
    //Class<?> cl = getClassType(tc);
    DynStruct str = (DynStruct) dany;
    NameDynAnyPair[] mems = str.get_members_as_dyn_any();
    try {
        if (tc.kind() == TCKind.tk_struct) {
            DataStruct ds = (DataStruct) obj;
            for (int i = 0; i < mems.length; i++) {
                mems[i].value.from_any(insertAny(mems[i].value.to_any(), ds.get(mems[i].id)));
            }
        } else {
            DataException de = (DataException) obj;
            for (int i = 0; i < mems.length; i++) {
                mems[i].value.from_any(insertAny(mems[i].value.to_any(), de.get(mems[i].id)));
            }
        }
        str.set_members_as_dyn_any(mems);
    } catch (org.omg.DynamicAny.DynAnyPackage.TypeMismatch e) {
        e.printStackTrace();
        return null;
    } catch (org.omg.DynamicAny.DynAnyPackage.InvalidValue e) {
        e.printStackTrace();
        return null;
    }
    //displayAny(dany.to_any());
    return dany.to_any();
}
Also used : DynStruct(org.omg.DynamicAny.DynStruct) DataStruct(si.ijs.acs.objectexplorer.engine.DataStruct) DataException(si.ijs.acs.objectexplorer.engine.DataException) NameDynAnyPair(org.omg.DynamicAny.NameDynAnyPair) DynAny(org.omg.DynamicAny.DynAny)

Example 7 with DynAny

use of org.omg.DynamicAny.DynAny in project ACS by ACS-Community.

the class BACIIntrospector method insertSequence.

public Any insertSequence(TypeCode tc, Any argument, java.lang.Object obj) {
    if (argument == null)
        throw new NullPointerException("argument");
    if (obj == null)
        throw new NullPointerException("obj");
    if (!obj.getClass().isArray())
        throw new IllegalArgumentException("The parameter obj has to be a sequence");
    java.lang.Object[] objs;
    if (obj.getClass().getComponentType().isPrimitive())
        objs = DataFormatter.convertPrimitiveArray(obj);
    else
        objs = (java.lang.Object[]) obj;
    DynAny dany;
    try {
        dany = ra.getDynFact().create_dyn_any_from_type_code(tc);
    } catch (org.omg.DynamicAny.DynAnyFactoryPackage.InconsistentTypeCode e) {
        e.printStackTrace();
        return null;
    }
    Any[] els = new Any[objs.length];
    try {
        for (int i = 0; i < els.length; i++) {
            DynAny dany2;
            try {
                dany2 = ra.getDynFact().create_dyn_any_from_type_code(tc.content_type());
            } catch (org.omg.DynamicAny.DynAnyFactoryPackage.InconsistentTypeCode e) {
                e.printStackTrace();
                return null;
            }
            els[i] = dany2.to_any();
            els[i] = insertAny(tc.content_type(), els[i], objs[i]);
        }
        if (tc.kind() == TCKind.tk_sequence) {
            ((DynSequence) dany).set_elements(els);
            ((DynSequence) dany).set_length(els.length);
        } else if (tc.kind() == TCKind.tk_array)
            ((DynArray) dany).set_elements(els);
    } catch (org.omg.DynamicAny.DynAnyPackage.TypeMismatch e) {
        e.printStackTrace();
    } catch (org.omg.DynamicAny.DynAnyPackage.InvalidValue e) {
        e.printStackTrace();
    } catch (org.omg.CORBA.TypeCodePackage.BadKind e) {
        e.printStackTrace();
    }
    return dany.to_any();
}
Also used : DynArray(org.omg.DynamicAny.DynArray) Any(org.omg.CORBA.Any) DynAny(org.omg.DynamicAny.DynAny) DynSequence(org.omg.DynamicAny.DynSequence) DynAny(org.omg.DynamicAny.DynAny) IRObject(org.omg.CORBA.IRObject)

Aggregations

DynAny (org.omg.DynamicAny.DynAny)7 DynSequence (org.omg.DynamicAny.DynSequence)4 DynStruct (org.omg.DynamicAny.DynStruct)4 Any (org.omg.CORBA.Any)3 IRObject (org.omg.CORBA.IRObject)2 DataException (si.ijs.acs.objectexplorer.engine.DataException)2 DataStruct (si.ijs.acs.objectexplorer.engine.DataStruct)2 BadKind (org.omg.CORBA.TypeCodePackage.BadKind)1 InvalidValue (org.omg.DynamicAny.DynAnyPackage.InvalidValue)1 TypeMismatch (org.omg.DynamicAny.DynAnyPackage.TypeMismatch)1 DynArray (org.omg.DynamicAny.DynArray)1 NameDynAnyPair (org.omg.DynamicAny.NameDynAnyPair)1 NameValuePair (org.omg.DynamicAny.NameValuePair)1