RFR: 7199858: Marshal exception is wrong

Dmeetry Degrave 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 " 
Discriminated Unions" [*] says it's legal to use a union without default 
case and without covering all possible cases:

*** 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/
bug: http://bugs.sun.com/view_bug.do?bug_id=7199858
[*] spec: http://www.omg.org/spec/CORBA/3.2/Interfaces/PDF/


More information about the core-libs-dev mailing list