RFR: 7199858: Marshal exception is wrong
Dmitry.Degrave at oracle.com
Thu Dec 20 16:21:51 UTC 2012
I'm looking for a code review for a corba fix for 7 and 8, which is
identical to fix went to earlier releases.
A wrong "IOP00810247: (MARSHAL) Default union branch not expected"
exception is thrown for discriminated unions with no matching
discriminator and no default cases, while Section "188.8.131.52
Discriminated Unions" [*] says it's legal to use a union without default
case and without covering all possible cases:
*** 184.108.40.206 Discriminated Unions
It is not required that all possible values of the union discriminator
be listed in the <switch_body>. The value of a union is the value of the
discriminator together with one of the following:
* If the discriminator value was explicitly listed in a case statement,
the value of the element associated with that case statement;
* If a default case label was specified, the value of the element
associated with the default case label;
* No additional value.
The fix is as simple as an elimination of the exception. Everything else
is in a consistent state and the exception was just wrong. There is a
test case which is attached to the bug though it requires a CORBA env
setup. Fix was verified by Cu.
webrev : http://cr.openjdk.java.net/~dmeetry/7199858/webrev.0/
[*] spec: http://www.omg.org/spec/CORBA/3.2/Interfaces/PDF/
More information about the core-libs-dev