I was grepping today on "com.sun" to make sure I'd rooted out all of the dependencies on the Sun internal CORBA classes. I got one hit in MinorCodes.java, which contains an import for import com.sun.corba.se.internal.orbutil.ORBConstants;

It then has a reference to

public static final int UNSUPPORTED_ENDPOINT_TYPE = ORBConstants.GENERAL_BASE + 1;

However, it also defines

// todo the hard coded value here is the Apache orb vendor id and Alan is going to replace this with a link to a Geronimo constant
   public static final int GENERAL_BASE = 0x41534000 + SUBSYSTEM_SIZE;

I suspect I could just replace OrbConstants.GENERAL_BASE with GENERAL_BASE, and try to resolve the "todo" in the comment above. However, these codes by nature are ORB-specific, and should really be relative to the base of a specific ORB implementation.

Grepping on MinorCodes reveals that this is used in just one place, in the OpenEJBSocketFactory, with is part of the Sun implementation code. This is used as part of the interface between openejb and the Sun ORB, so this value SHOULD be relative to the Sun GENERAL_BASE value. I believe this class is just misplaced, and should be part of the Sun package rather than the ORB neutral corba package. Thoughts?

Rick


Reply via email to