Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4375317

Mapping for Java char constant to OMG IDL is wrong

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 1.4.0
    • 1.4.0
    • other-libs
    • None
    • beta3
    • sparc
    • solaris_8
    • Verified

        ********************************************************************************

        tuong.nguyen@eng 2000-09-29

        Spec. reference:
         
         - OMG ptc/00-01-06 Java To IDL Mapping , section 1.3.4.5, page 1-13
         - formal/99-10-07 CORBA 2.3.1

        Problem description:

         Mapping for Java char constant to IDL is incorrect. The output below showed
         decimal numbers, but not the expecting literal characters in the generated .idl
         file


        (tuongn@bonnelle) [4:37pm] constants01 [584] % cat Test2.java

        // OMG ptc/00-01-06 - 1.3.4.5 Constants

        import java.rmi.*;

        public interface Test2 extends Remote {
         
            final static char ch1 = 'L';
            final static char ch2 = (char)'l';
        }
        (tuongn@bonnelle) [4:38pm] constants01 [585] % /usr/local/java/jdk1.4/solaris/bin/rmic -idl Test2
        (tuongn@bonnelle) [4:39pm] constants01 [586] % cat Test2.idl
        /**
         * Test2.idl
         * Generated by rmic -idl. Do not edit
         * Friday, September 29, 2000 4:39:56 PM PDT
         */

        #include "orb.idl"

        #ifndef __Test2__
        #define __Test2__



            interface Test2 {
            
                const wchar ch1 = 76;
                const wchar ch2 = 108;
            
            };

        #pragma ID Test2 "RMI:Test2:0000000000000000"


        #endif

        (tuongn@bonnelle) [4:40pm] constants01 [587] %

        ********************************************************************************
        ###@###.### 2001-08-14

        - The fix was NOT done correctly yet in this build
          j2sdk-1_4_0-beta_refresh-bin-b75-solsparc-09_aug_2001

        - According to the CORBA spec formal/99-10-07 section 3.2.5.2 that character
          literal should enclosed in single quotes. Unfortunately, the generated
          .idl (shown below) did NOT have it

        (tuongn@bonnelle) [1:42pm] constants01 [89] % cat Test2.idl
        /**
         * Test2.idl
         * Generated by rmic -idl. Do not edit
         * Monday, August 13, 2001 5:53:19 PM PDT
         */

        #include "orb.idl"

        #ifndef __Test2__
        #define __Test2__



            interface Test2 {
            
                const wchar ch1 = L;
                const wchar ch2 = l;
            
            };

        #pragma ID Test2 "RMI:Test2:0000000000000000"


        #endif

        (tuongn@bonnelle) [1:54pm] constants01 [90] %
        ********************************************************************************

        ###@###.### 2001-09-18

        Fix verified OK
        - with build: j2sdk-1_4_0-beta3-bin-b79-solsparc-12_sep_2001
        - with test: tests/product/rmi-iiop/JavaToIdlMapping/Interfaces/constants01/Test2.java

        ********************************************************************************

              sbauersunw Stefan Bauer (Inactive)
              duke J. Duke
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: