RepositoryId.createForAnyType does not handle some IDLTypes.

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: P1
    • rmi-iiop_fcs
    • Affects Version/s: rmi-iiop_fcs
    • Component/s: other-libs
    • None
    • iiop_fcs
    • sparc
    • solaris_1
    • Not verified

        The following code in RepositoryId.createForAnyType():

                if (type.isArray())
                    return createSequenceRepID(type);
                else if (/*(!isRMIIDLType(type)) &&*/
                IDLEntity.class.isAssignableFrom(type))
                {
                    try{
                   return get_instance_of_helper(type).get_id();
                    }
                    catch(Throwable t) {
                   return createForIDLType(type, 1, 0);
                    }

                is not returning the correct repid for some IDLEntity types that are not
                valuetypes. This is because the get_instance_of_helper() method returns
                a ValueHelper instance. For non-valuetype helpers, there is no such
                thing, so this method throws an exception. The logic catches this and
                calls createforIDLType, but this does not return the correct repid if a
                #pragma prefix was used in the original IDL.

              Assignee:
              J. Duke
              Reporter:
              J. Duke
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: