Michael Musgrove commented on Task JBTM-934

I have it working with the JDK orb but I have had to use 3 Sun specific APIs (IORFactories, IOR, IORImpl):

com.sun.corba.se.spi.ior.IOR ior = IORFactories.getIOR(corbject);
ObjectId oid = IORFactories.makeObjectId(new_object_key.getBytes());
IORImpl new_ior = new IORImpl(sun_orb, RecoveryCoordinatorHelper.id(), ior.getIORTemplates(), oid);

Apart from these 3 lines the other code only depends on public APIs. The reason we need to do this is:

We create a POA and IOR for the Recovery Manager whose string form is saved in the object store. When a CORBA resource registers with a transaction the TM creates a RecoveryCoordinator by turning the reference back into an IOR. This IOR serves as the basis for constructing RecoveryCoordinator IORs. The JacORB implementation copies this IOR and replaces the object key with one appropriate to the new RecoveryCoordinator. JacORB provides a class called ParsedIOR for manipulating IORs. However the Sun ORB does not provide any such feature and that is why I am forced to use Sun specific APIs.

I suspect that we should not be using these Sun APIs and would welcome any feedback on how best to proceed.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira