[jacorb-bugs] [Bug 993] New: Interface Repository does not return Repository IDs for FullInterfaceDescription.base_interfaces

bugzilla-daemon at jacorb.org bugzilla-daemon at jacorb.org
Sun Sep 21 04:12:09 CEST 2014


http://www.jacorb.org/bugzilla/show_bug.cgi?id=993

            Bug ID: 993
           Summary: Interface Repository does not return Repository IDs
                    for FullInterfaceDescription.base_interfaces
           Product: JacORB
           Version: 3.5
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P5
         Component: Interface Repository
          Assignee: jacorb-bugs at lists.spline.inf.fu-berlin.de
          Reporter: earthmabus at hotmail.com

I've noticed that the Interface Repository does not work properly when tracking
the inheritance relationships between interfaces.  As an example, suppose I
have the following IDL (let's call it AddressBook.idl):

module AddressBook
{
  struct PersonData
  {
    string ssn;
    string firstname;
    string lastname;
  };

  typedef sequence<PersonData> PersonDataSeq;

  interface ReadonlyDirectory
  {
    PersonDataSeq getAllPeople();
  };

  interface Directory : ReadonlyDirectory
  {
    void addPerson(in PersonData newPerson) raises (SsnAlreadyExists);
  };
}
I compile AddressBook.idl using the following:
> idl -ir AddressBook.idl

I then start up the Interface Repository against the class files, which were
the result of the compile and build, using the following:
> ir ../../AddressBook/AddressBookIdl/build/classes if_repo.ior

When I interact with the FullInterfaceDescription object that represents the
Directory interface with the following code:

org.omg.CORBA.InterfaceDef interfaceDef = ... // interfaceDef for Directory
org.omg.CORBA.InterfaceDefPackage.FullInterfaceDescription fullDescr =
interfaceDef.describe_interface();
String[] parent_interfaces = fullDescr.base_interfaces;

The issue with the above code is that parent_interfaces contains a single item
(which is good) with a value of "AddressBook.ReadonlyDirectory" (which is bad).
 I've noticed that other IR implementations (such as the older TAO ones) will
return the repository id here (IDL:AddressBook/ReadonlyDirectory:1.0) which I
believe is a part of the IR specification (with the RepositoryID of the
parents, you could immediately query the IR for info about the parents... with
the data being returned, you have to play games with the returned data.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spline.inf.fu-berlin.de/pipermail/jacorb-bugs/attachments/20140921/47962d32/attachment.html>


More information about the jacorb-bugs mailing list