Package org.omg.CORBA

Examples of org.omg.CORBA.StructMember


                // TODO: check to see if this is a recursive type.
                List list = exceptType.getMember();
                StructMember[] members = new StructMember[list.size()];
                for (int i = 0; i < members.length; ++i) {
                    MemberType member = (MemberType) list.get(i);
                    members[i] = new StructMember(member.getName(),
                                                  getTypeCode(orb, member.getIdltype(), typeMap, seenTypes),
                                                  null);
                }
                String name = getTypeCodeName(exceptType.getName());
                tc = orb.create_exception_tc(exceptType.getRepositoryID(), name, members);
            } else if (obj instanceof Fixed) {
                Fixed fixedType = (Fixed) obj;
                tc = orb.create_fixed_tc((short) fixedType.getDigits(), (short) fixedType.getScale());
            } else if (obj instanceof org.apache.cxf.binding.corba.wsdl.Object) {
                org.apache.cxf.binding.corba.wsdl.Object objType =
                    (org.apache.cxf.binding.corba.wsdl.Object)obj;
                if (objType.getName().equals("CORBA.Object")) {
                    tc = orb.create_interface_tc(objType.getRepositoryID(), "Object");
                } else {
                    tc = orb.create_interface_tc(objType.getRepositoryID(),
                                                 getTypeCodeName(objType.getName()));
                }
            } else if (obj instanceof Sequence) {
                Sequence seqType = (Sequence)obj;
                tc = orb.create_sequence_tc((int) seqType.getBound(),
                                            getTypeCode(orb, seqType.getElemtype(), typeMap, seenTypes));
            } else if (obj instanceof Struct) {
                Struct structType = (Struct)obj;
               
                // TODO: check to see if this is a recursive type.
                if (seenTypes.contains(new QName(structType.getName()))) {
                    tc = orb.create_recursive_tc(structType.getRepositoryID());
                } else {
                    seenTypes.push(new QName(structType.getName()));
                    List list = structType.getMember();
                    StructMember[] members = new StructMember[list.size()];
                    for (int i = 0; i < members.length; ++i) {
                        MemberType member = (MemberType) list.get(i);
                        members[i] = new StructMember(member.getName(),
                                                 getTypeCode(orb, member.getIdltype(), typeMap, seenTypes),
                                                 null);
                    }
                    String name = getTypeCodeName(structType.getName());
                    tc = orb.create_struct_tc(structType.getRepositoryID(), name, members);
View Full Code Here


      if (base.endsWith("Exception"))
         base = base.substring(0, base.length()-9);
      base = Util.javaToIDLName(base + "Ex");

      StructMember[] members = new StructMember[1];
      members[0] = new StructMember("value", vDef.type(), null/*ignored*/);
      TypeCode typeCode
                       = orb.create_exception_tc(ea.getExceptionRepositoryId(),
                                                 base, members);

      eDef = new ExceptionDefImpl(ea.getExceptionRepositoryId(), base, "1.0",
View Full Code Here

         TypeCode type = vDef.type();
         LocalIDLType localTypeDef = IDLTypeImpl.getIDLType(type, repository);
         IDLType type_def = IDLTypeHelper.narrow(localTypeDef.getReference());

         members = new StructMember[1];
         members[0] = new StructMember("value", type, type_def);
      }
      return members;
   }
View Full Code Here

                    recursiveTCMap.put( startPosition, id );
                    StructMember[] struct_members = new StructMember[member_count];

                    for( int i = 0; i < member_count; i++)
                    {
                        struct_members[i] = new StructMember
                        (
                            read_string(),
                            read_TypeCode (recursiveTCMap, repeatedTCMap),
                            null
                        );
                    }

                    result = ((ORBSingleton) orb).create_struct_tc(id, name, struct_members, false);
                    putCachedTypecode (id, new Pair( result, startPosition ));
                }
                else
                {
                    final int skipAmount =  calcSkipAmount(size, start_pos);
                    updateTcMap( recursiveTCMap, start_pos, skipAmount, cachedObject.position );
                    skip (skipAmount);
                    recursiveTCMap.put( startPosition, id );
                    result = cachedObject.typeCode;
                }

                closeEncapsulation();
                break;
            }
            case TCKind._tk_union:          // 16
            {
                size = openEncapsulation();
                id = validateID (read_string());
                cachedObject = getCachedTypecode( id );

                if (cachedObject == null)
                {
                    name = validateName (read_string());

                    recursiveTCMap.put(startPosition, id );

                    org.omg.CORBA.TypeCode discriminator_type = read_TypeCode(recursiveTCMap, repeatedTCMap);
                    // Use the dealiased discriminator type for the label types.
                    // This works because the JacORB IDL compiler ignores any aliasing
                    // of label types and only the discriminator type is passed on the
                    // wire.
                    org.omg.CORBA.TypeCode orig_disc_type =
                        TypeCode.originalType(discriminator_type);

                    int default_index = read_long();
                    member_count = read_long();

                    UnionMember[] union_members = new UnionMember[member_count];
                    for( int i = 0; i < member_count; i++)
                    {
                        org.omg.CORBA.Any label = orb.create_any();

                        if( i == default_index )
                        {
                            // Default discriminator
                            label.insert_octet( read_octet());
                        }
                        else
                        {
                            // use the dealiased discriminator type to construct labels
                            label.read_value( this, orig_disc_type );
                        }

                        union_members[i] = new UnionMember
                        (
                            read_string(),
                            label,
                            read_TypeCode(recursiveTCMap, repeatedTCMap),
                            null
                        );
                    }

                    result = ((ORBSingleton)orb).create_union_tc(id, name, discriminator_type, union_members, false);
                    putCachedTypecode (id, new Pair( result, startPosition ));
                }
                else
                {
                    final int skipAmount = calcSkipAmount(size, start_pos);
                    updateTcMap(recursiveTCMap, start_pos, skipAmount, cachedObject.position );
                    skip (skipAmount);
                    recursiveTCMap.put( startPosition, id );
                    result = cachedObject.typeCode;
                }

                closeEncapsulation();
                break;
            }
            case TCKind._tk_enum:           // 17
            {
                size = openEncapsulation();
                id = validateID (read_string());
                cachedObject = getCachedTypecode( id );

                if (cachedObject == null)
                {
                    name = validateName (read_string());
                    member_count = read_long();
                    member_names = new String[member_count];

                    for( int i = 0; i < member_count; i++)
                    {
                        member_names[i] = read_string();
                    }

                    result = ((ORBSingleton)orb).create_enum_tc (id, name, member_names, false);
                    putCachedTypecode (id, new Pair( result, startPosition ));
                }
                else
                {
                    final int skipAmount = calcSkipAmount(size, start_pos);
                    skip (skipAmount);
                    result = cachedObject.typeCode;
                }
                closeEncapsulation();
                break;
            }
            case TCKind._tk_string:         // 18
            {
                result = orb.create_string_tc(read_long());
                break;
            }
            case TCKind._tk_sequence:       // 19
            {
                size = openEncapsulation();
                content_type = read_TypeCode(recursiveTCMap, repeatedTCMap);
                cachedObject = getCachedTypecode(content_type);

                if (cachedObject == null)
                {
                    length = read_long();
                    result = orb.create_sequence_tc(length, content_type);
                    putCachedTypecode(result, new Pair(result, startPosition));
                }
                else
                {
                    final int skipAmount = calcSkipAmount(size, start_pos);
                    skip (skipAmount);
                    result = cachedObject.typeCode;
                }

                closeEncapsulation();

                break;
            }
            case TCKind._tk_array:          // 20
            {
                size = openEncapsulation();
                content_type = read_TypeCode(recursiveTCMap, repeatedTCMap);
                cachedObject = getCachedTypecode(content_type);

                if (cachedObject == null)
                {
                    result = orb.create_array_tc(read_long(), content_type );

                    // Store in cache
                    putCachedTypecode (result, new Pair( result, startPosition ));
                }
                else
                {
                    int skipAmount = calcSkipAmount(size, start_pos);

                    skip (skipAmount);
                    result = cachedObject.typeCode;
                }

                closeEncapsulation();

                break;
            }
            case TCKind._tk_alias:          // 21
            {
                size = openEncapsulation();
                id = validateID (read_string());
                cachedObject = getCachedTypecode( id );

                if (cachedObject == null)
                {
                    name = validateName (read_string());

                    recursiveTCMap.put(startPosition, id );

                    content_type = read_TypeCode( recursiveTCMap, repeatedTCMap);
                    result = orb.create_alias_tc (id, name, content_type );
                    putCachedTypecode (id, new Pair( result, startPosition ));
                }
                else
                {
                    final int skipAmount = calcSkipAmount(size, start_pos);
                    updateTcMap(recursiveTCMap, start_pos, skipAmount, cachedObject.position );
                    skip (skipAmount);
                    recursiveTCMap.put( startPosition, id );
                    result = cachedObject.typeCode;
                }
                closeEncapsulation();
                break;
            }
            case TCKind._tk_except:         // 22
            {
                size = openEncapsulation();
                id = validateID (read_string());
                cachedObject = getCachedTypecode( id );

                if (cachedObject == null)
                {
                    name = validateName (read_string());
                    member_count = read_long();

                    recursiveTCMap.put(startPosition, id );

                    StructMember[] members = new StructMember[member_count];
                    for( int i = 0; i < member_count; i++)
                    {
                        members[i] = new StructMember
                        (
                            read_string(),
                            read_TypeCode(recursiveTCMap, repeatedTCMap),
                            null
                        );
View Full Code Here

        if (base.endsWith("Exception"))
            base = base.substring(0, base.length() - 9);
        base = Util.javaToIDLName(base + "Ex");

        StructMember[] members = new StructMember[1];
        members[0] = new StructMember("value", vDef.type(), null/*ignored*/);
        TypeCode typeCode
                = orb.create_exception_tc(ea.getExceptionRepositoryId(),
                base, members);

        eDef = new ExceptionDefImpl(ea.getExceptionRepositoryId(), base, "1.0",
View Full Code Here

        id = "IDL:testCreateStructTC";
        name = "Struct";

        members = new StructMember [2];

        members[0] = new StructMember ("StructMember1", testTC, null);
        members[1] = new StructMember ("StructMember2", testTC, null);

        /* Test valid name */
        orb.create_struct_tc (id, name, members);

        /* Test blank name */
        members[0] = new StructMember ("", testTC, null);
        members[1] = new StructMember ("StructMember2", testTC, null);

        try
        {
            orb.create_struct_tc (id, name, members);

            fail("Excepted exception blank member name in create_struct_tc");
        }
        catch (BAD_PARAM ex)
        {
            // Do nothing - expecting exception}
        }

        /* Test null name */
        members[0] = new StructMember ("StructMember1", testTC, null);
        members[1] = new StructMember (null, testTC, null);

        try
        {
            orb.create_struct_tc (id, name, members);

View Full Code Here

        id = "IDL:testCreateExceptTC";
        name = "Except";

        members = new StructMember [2];

        members[0] = new StructMember ("StructMember1", testTC, null);
        members[1] = new StructMember ("StructMember2", testTC, null);

        /* Test valid name */
        orb.create_exception_tc (id, name, members);

        /* Test blank name */
        members[0] = new StructMember ("", testTC, null);
        members[1] = new StructMember ("StructMember2", testTC, null);

        try
        {
            orb.create_exception_tc (id, name, members);

            fail("Excepted exception blank member name in create_except_tc");
        }
        catch (BAD_PARAM ex)
        {
            // Do nothing - expecting exception}
        }

        /* Test null name */
        members[0] = new StructMember ("StructMember1", testTC, null);
        members[1] = new StructMember (null, testTC, null);

        try
        {
            orb.create_exception_tc (id, name, members);

View Full Code Here

                    recursiveTCMap.put( startPosition, id );
                    StructMember[] struct_members = new StructMember[member_count];

                    for( int i = 0; i < member_count; i++)
                    {
                        struct_members[i] = new StructMember
                        (
                            read_string(),
                            read_TypeCode (recursiveTCMap, repeatedTCMap),
                            null
                        );
                    }

                    result = ((ORBSingleton) orb).create_struct_tc(id, name, struct_members, false);
                    putCachedTypecode (id, new Pair( result, startPosition ));
                }
                else
                {
                    final int skipAmount =  calcSkipAmount(size, start_pos);
                    updateTcMap( recursiveTCMap, start_pos, skipAmount, cachedObject.position );
                    skip (skipAmount);
                    recursiveTCMap.put( startPosition, id );
                    result = cachedObject.typeCode;
                }

                closeEncapsulation();
                break;
            }
            case TCKind._tk_union:          // 16
            {
                size = openEncapsulation();
                id = validateID (read_string());
                cachedObject = getCachedTypecode( id );

                if (cachedObject == null)
                {
                    name = validateName (read_string());

                    recursiveTCMap.put(startPosition, id );

                    org.omg.CORBA.TypeCode discriminator_type = read_TypeCode(recursiveTCMap, repeatedTCMap);
                    // Use the dealiased discriminator type for the label types.
                    // This works because the JacORB IDL compiler ignores any aliasing
                    // of label types and only the discriminator type is passed on the
                    // wire.
                    org.omg.CORBA.TypeCode orig_disc_type =
                        TypeCode.originalType(discriminator_type);

                    int default_index = read_long();
                    member_count = read_long();

                    UnionMember[] union_members = new UnionMember[member_count];
                    for( int i = 0; i < member_count; i++)
                    {
                        org.omg.CORBA.Any label = orb.create_any();

                        if( i == default_index )
                        {
                            // Default discriminator
                            label.insert_octet( read_octet());
                        }
                        else
                        {
                            // use the dealiased discriminator type to construct labels
                            label.read_value( this, orig_disc_type );
                        }

                        union_members[i] = new UnionMember
                        (
                            read_string(),
                            label,
                            read_TypeCode(recursiveTCMap, repeatedTCMap),
                            null
                        );
                    }

                    result = ((ORBSingleton)orb).create_union_tc(id, name, discriminator_type, union_members, false);
                    putCachedTypecode (id, new Pair( result, startPosition ));
                }
                else
                {
                    final int skipAmount = calcSkipAmount(size, start_pos);
                    updateTcMap(recursiveTCMap, start_pos, skipAmount, cachedObject.position );
                    skip (skipAmount);
                    recursiveTCMap.put( startPosition, id );
                    result = cachedObject.typeCode;
                }

                closeEncapsulation();
                break;
            }
            case TCKind._tk_enum:           // 17
            {
                size = openEncapsulation();
                id = validateID (read_string());
                cachedObject = getCachedTypecode( id );

                if (cachedObject == null)
                {
                    name = validateName (read_string());
                    member_count = read_long();
                    member_names = new String[member_count];

                    for( int i = 0; i < member_count; i++)
                    {
                        member_names[i] = read_string();
                    }

                    result = ((ORBSingleton)orb).create_enum_tc (id, name, member_names, false);
                    putCachedTypecode (id, new Pair( result, startPosition ));
                }
                else
                {
                    final int skipAmount = calcSkipAmount(size, start_pos);
                    skip (skipAmount);
                    result = cachedObject.typeCode;
                }
                closeEncapsulation();
                break;
            }
            case TCKind._tk_string:         // 18
            {
                result = orb.create_string_tc(read_long());
                break;
            }
            case TCKind._tk_sequence:       // 19
            {
                size = openEncapsulation();
                content_type = read_TypeCode(recursiveTCMap, repeatedTCMap);
                cachedObject = getCachedTypecode(content_type);

                if (cachedObject == null)
                {
                    length = read_long();
                    result = orb.create_sequence_tc(length, content_type);
                    putCachedTypecode(result, new Pair(result, startPosition));
                }
                else
                {
                    final int skipAmount = calcSkipAmount(size, start_pos);
                    skip (skipAmount);
                    result = cachedObject.typeCode;
                }

                closeEncapsulation();

                break;
            }
            case TCKind._tk_array:          // 20
            {
                size = openEncapsulation();
                content_type = read_TypeCode(recursiveTCMap, repeatedTCMap);
                cachedObject = getCachedTypecode(content_type);

                if (cachedObject == null)
                {
                    result = orb.create_array_tc(read_long(), content_type );

                    // Store in cache
                    putCachedTypecode (result, new Pair( result, startPosition ));
                }
                else
                {
                    int skipAmount = calcSkipAmount(size, start_pos);

                    skip (skipAmount);
                    result = cachedObject.typeCode;
                }

                closeEncapsulation();

                break;
            }
            case TCKind._tk_alias:          // 21
            {
                size = openEncapsulation();
                id = validateID (read_string());
                cachedObject = getCachedTypecode( id );

                if (cachedObject == null)
                {
                    name = validateName (read_string());

                    recursiveTCMap.put(startPosition, id );

                    content_type = read_TypeCode( recursiveTCMap, repeatedTCMap);
                    result = orb.create_alias_tc (id, name, content_type );
                    putCachedTypecode (id, new Pair( result, startPosition ));
                }
                else
                {
                    final int skipAmount = calcSkipAmount(size, start_pos);
                    updateTcMap(recursiveTCMap, start_pos, skipAmount, cachedObject.position );
                    skip (skipAmount);
                    recursiveTCMap.put( startPosition, id );
                    result = cachedObject.typeCode;
                }
                closeEncapsulation();
                break;
            }
            case TCKind._tk_except:         // 22
            {
                size = openEncapsulation();
                id = validateID (read_string());
                cachedObject = getCachedTypecode( id );

                if (cachedObject == null)
                {
                    name = validateName (read_string());
                    member_count = read_long();

                    recursiveTCMap.put(startPosition, id );

                    StructMember[] members = new StructMember[member_count];
                    for( int i = 0; i < member_count; i++)
                    {
                        members[i] = new StructMember
                        (
                            read_string(),
                            read_TypeCode(recursiveTCMap, repeatedTCMap),
                            null
                        );
View Full Code Here

                    tcMap.put( new Integer( start_pos ), id );

                    StructMember[] struct_members = new StructMember[member_count];
                    for( int i = 0; i < member_count; i++)
                    {
                        struct_members[i] = new StructMember
                        (
                            read_string(),
                            read_TypeCode (tcMap),
                            null
                        );
                    }
                    result = ((ORBSingleton) orb).create_struct_tc(id, name, struct_members, false);
                    putCachedTypecode( id, result );
                }
                getRecursiveTCMap().put (id, result);
                closeEncapsulation();
                break;
            }
            case TCKind._tk_except:
            {
                size = openEncapsulation();
                id = validateID (read_string());
                result = getCachedTypecode( id );

                if (result != null)
                {
                    // Skip buffer - see cachedTypecodes for calculation.
                    skip (size - ((pos - start_pos) - 4 - 4));
                    tcMap.put( new Integer( start_pos ), id );
                }
                else
                {
                    name = validateName (read_string());
                    member_count = read_long();

                    tcMap.put( new Integer( start_pos ), id );

                    StructMember[] members = new StructMember[member_count];
                    for( int i = 0; i < member_count; i++)
                    {
                        members[i] = new StructMember
                        (
                            read_string(),
                            read_TypeCode(tcMap),
                            null
                        );
View Full Code Here

    private static StructMember[] members = null;

    private static StructMember[] systemExceptionMembers (ORB orb) {
        if (members == null) {
            members = new StructMember[3];
            members[0] = new StructMember("id", orb.create_string_tc(0), null);
            members[1] = new StructMember("minor", orb.get_primitive_tc(TCKind.tk_long), null);
            members[2] = new StructMember("completed", orb.get_primitive_tc(TCKind.tk_long), null);
        }
        return members;
    }
View Full Code Here

TOP

Related Classes of org.omg.CORBA.StructMember

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.