Bug 1271 - CORBA 3.0 PortableInterceptor IDL changes
Summary: CORBA 3.0 PortableInterceptor IDL changes
Status: RESOLVED FIXED
Alias: None
Product: TAO
Classification: Unclassified
Component: Portable Interceptors (show other bugs)
Version: 1.2.3
Hardware: All All
: P3 enhancement
Assignee: Johnny Willemsen
URL: http://www.omg.org/cgi-bin/doc?formal...
Depends on:
Blocks: 1278
  Show dependency tree
 
Reported: 2002-08-07 11:02 CDT by Ossama Othman
Modified: 2005-10-26 13:55 CDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ossama Othman 2002-08-07 11:02:52 CDT
CORBA 3.0 made a number of changes to the PortableInterceptor IDL.  TAO must be
updated accordingly.  The change descriptions follow:

* A new PortableInterceptor::ReplyStatus constant was added, i.e.
  PortableInterceptor::UNKNOWN.  It addresses OMG issue 4747
  (http://cgi.omg.org/issues/orb_revision.html#Issue4747).

* A number of exception minor codes have changed.  Update their usage in TAO.

* The ObjectReferenceFactory valutype now has two additional methods:
       boolean equals (in ObjectReferenceFactory other);
       IOP::TaggedProfileSeq make_profiles (in string repository_id,
                                            in ObjectId id);
  Implement them.

* The IORInterceptor interface was reverted back to its original, pre-ORT, form.
  The methods added by ORT have been moved to a new IORInterceptor_3_0
  interface.  This change was made to address an OMG "urgent" issue 5430
  (http://cgi.omg.org/issues/corba-rtf.html#Issue5430)

* The Dynamic and PortableInterceptor IDL now use the "import" and "typeprefix"
  keywords instead of "#include" and "#pragma prefix", respectively.
Comment 1 Nanbor Wang 2002-08-08 22:57:02 CDT
Accepted for tao-support
Comment 2 Ossama Othman 2002-08-10 22:23:03 CDT
This should be fixed for CORBA 3.0 compliance in the TAO 1.3 release.
Comment 3 Johnny Willemsen 2005-04-12 05:28:21 CDT
Another PI mismatch:

  exception ForwardRequest
  {
    Object forward;
    boolean permanent;
  };

The permanent boolean is not in the corba spec
Comment 4 Johnny Willemsen 2005-04-12 07:52:00 CDT
The permanent member was not used at all, I have removed this.

The PortableInterceptor.pidl file already uses typeprefix
Comment 5 Johnny Willemsen 2005-06-08 13:47:39 CDT
The PortableInterceptor::UNKNOWN is in the archive. For the minor codes it seems
there are some small errors in the spec.
Comment 6 Johnny Willemsen 2005-10-21 09:07:58 CDT
Issue 5430 is now online at:
http://www.omg.org/issues/issue5430.txt
Comment 7 Johnny Willemsen 2005-10-25 15:11:00 CDT
After finding some inconsistencies in the 3.0.3 spec I raised an issue at the
OMG. It seems the extra methods on ObjectReferenceFactory are an editorial error
and shouldn't be there. 
Comment 8 Johnny Willemsen 2005-10-26 04:08:25 CDT
mine
Comment 9 Johnny Willemsen 2005-10-26 04:09:43 CDT
The OMG issue I raised:
http://www.omg.org/issues/issue9112.txt

The outcome if the ObjectReferenceFactory shouldn't get updated, but
IORInterceptor must be updated. All other items of this bug are handled already.
Comment 10 Johnny Willemsen 2005-10-26 06:26:53 CDT
accept, having most changes already in the workspace, have to update the tests
for this. Will be available in x.4.9
Comment 11 Johnny Willemsen 2005-10-26 13:55:06 CDT
Wed Oct 26 18:54:12 UTC 2005  Johnny Willemsen  <jwillemsen@remedy.nl>

        * tao/PI/ClientRequestInfoA.cpp
        * tao/PI/ClientRequestInfoC.cpp
        * tao/PI/ClientRequestInfoC.h
        * tao/PI/ClientRequestInfoS.h
        * tao/PI/ClientRequestInterceptorA.cpp
        * tao/PI/ClientRequestInterceptorC.cpp
        * tao/PI/ClientRequestInterceptorC.h
        * tao/PI/ClientRequestInterceptorS.h
        * tao/PI/InterceptorA.cpp
        * tao/PI/InterceptorC.cpp
        * tao/PI/InterceptorC.h
        * tao/PI/InterceptorS.h
        * tao/PI/ORBInitInfoC.cpp
        * tao/PI/ORBInitInfoC.h
        * tao/PI/ORBInitInfoS.h
        * tao/PI/ORBInitializerA.cpp
        * tao/PI/ORBInitializerC.cpp
        * tao/PI/ORBInitializerC.h
        * tao/PI/ORBInitializerS.h
        * tao/PI/PIForwardRequestA.cpp
        * tao/PI/PIForwardRequestC.cpp
        * tao/PI/PIForwardRequestC.h
        * tao/PI/PIForwardRequestS.h
        * tao/PI/PolicyFactoryA.cpp
        * tao/PI/PolicyFactoryC.cpp
        * tao/PI/PolicyFactoryC.h
        * tao/PI/PolicyFactoryS.h
        * tao/PI/RequestInfoA.cpp
        * tao/PI/RequestInfoC.cpp
        * tao/PI/RequestInfoC.h
        * tao/PI/RequestInfoS.h
        * tao/PI_Server/ServerRequestInfoA.cpp
        * tao/PI_Server/ServerRequestInfoC.cpp
        * tao/PI_Server/ServerRequestInfoC.h
        * tao/PI_Server/ServerRequestInfoS.h
        * tao/PI_Server/ServerRequestInterceptorA.cpp
        * tao/PI_Server/ServerRequestInterceptorC.cpp
        * tao/PI_Server/ServerRequestInterceptorC.h
        * tao/PI_Server/ServerRequestInterceptorS.h
        * tao/IORInterceptor/IORInfoC.cpp
        * tao/IORInterceptor/IORInfoC.h
          Regenerated

        * tao/IORInterceptor/IORInfo.pidl
        * tao/PI/ORBInitInfo.pidl
          Updated regeneration instructions

        * tao/PI/ORBInitInfoA.cpp:
          Removed

        * tao/PI/ClientRequestInfoA.h
        * tao/PI/ClientRequestInterceptorA.h
        * tao/PI/InterceptorA.h
        * tao/PI/ORBInitializerA.h
        * tao/PI/PIForwardRequestA.h
        * tao/PI/PolicyFactoryA.h
        * tao/PI/RequestInfoA.h
        * tao/PI_Server/ServerRequestInfoA.h
        * tao/PI_Server/ServerRequestInterceptorA.h
          New generated files

        * tao/PortableServer/POA_Cached_Policies.cpp
          Layout fix

        * tao/Makefile.am
          Added new files

        * tao/IORInterceptor/IORInterceptor.pidl
        * tao/IORInterceptor/IORInterceptorC.cpp
        * tao/IORInterceptor/IORInterceptorC.h
        * tao/IORInterceptor/IORInterceptor_Adapter_Impl.cpp
          Splitted PortableInterceptor::IORInterceptor into IORInterceptor
          and IORInterceptor_3_0. This is triggered by bug 1271 which contained
          issues about CORBA Compliance. In the 3.0.3 spec the IORInterceptor
          was splitted. This fixes bug 1271.

          IMPORTANT!!!
          If you use IORInterceptor methods components_established,
          adapter_manger_state_changed and adapter_state_changed you have to
          derive your implementation from IORInterceptor_3_0 else these
          methods don't get called!!!

        * tests/ORT/ORT_test_IORInterceptor.h
        * tests/Portable_Interceptors/IORInterceptor/FOO_IORInterceptor.h
        * tests/Portable_Interceptors/PolicyFactory/IORInterceptor.cpp
        * tests/Portable_Interceptors/PolicyFactory/IORInterceptor.h
        * orbsvcs/examples/ORT/Server_IORInterceptor.h
        * orbsvcs/orbsvcs/LoadBalancing/LB_IORInterceptor.h
          Changes for IORInterceptor_3_0.