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

Wrong repository ID generated by IDLJ

    XMLWordPrintable

Details

    • b02
    • x86
    • windows_2000

    Backports

      Description

        FULL PRODUCT VERSION :
        Any Java 1.5 version

        ADDITIONAL OS VERSION INFORMATION :
        Microsoft Windows 2000 [Version 5.00.2195]

        A DESCRIPTION OF THE PROBLEM :
        IDLJ generates wrong repository ID for structs defined in IDL

        For this IDL definition:
        ***
        module com {
          module lhs {
            module ccb {
              module soi {
               module types {
          struct LocaleI
          {
            string language;
            string country;
            string variant;
          };
        };
        };
        };
        };
        };
          
        ***

        The following repository ID will be generated:
        ***
        private static String _id = "IDL:com/lhs/ccb/soi/types/LocaleI/LocaleI:1.0";
        ***

        The "LocaleI" is repeated here two times - this is wrong.
        IDLJ from the Java 1.4 generates the following repository ID (the correct one):
        private static String _id = "IDL:com/lhs/ccb/soi/types/LocaleI:1.0";


        STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
        1. Put this into a file "test.idl"
        ***
        module com {
          module lhs {
            module ccb {
              module soi {
               module types {
          struct LocaleI
          {
            string language;
            string country;
            string variant;
          };
        };
        };
        };
        };
        };
        ***

        2. Execute:
        idlj -fAll test.idl


        EXPECTED VERSUS ACTUAL BEHAVIOR :
        EXPECTED -
        The generated class LocaleIHelper should contains the following repository ID:

        private static String _id = "IDL:com/lhs/ccb/soi/types/LocaleI:1.0";

        If I generate Java classes with IDLJ from Java 1.4 it generates this exactly this repository ID.
        If I use idl2cpp compiler from TAO orb it generates C++ classes with this repository ID.
        ACTUAL -
        IDLJ generates:

        private static String _id = "IDL:com/lhs/ccb/soi/types/LocaleI/LocaleI:1.0";


        REPRODUCIBILITY :
        This bug can be reproduced always.

        Release Regression From : 1.4.2
        The above release value was the last known release where this
        bug was not reproducible. Since then there has been a regression.

        Attachments

          Issue Links

            Activity

              People

                coffeys Sean Coffey
                gmanwanisunw Girish Manwani (Inactive)
                Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: