Uploaded image for project: 'JDO'
  1. JDO
  2. JDO-397

Locale instances are shared by different PMs (when in use as FCO)

    XMLWordPrintableJSON

Details

    Description

      Tests in org.apache.jdo.tck.models.fieldtypes are using fields of Locale that are defined as FCO. The definition is only a hint to the implementation but when a FCO is actually used, the same JVM static Locale instances are persisted using different PersistenceManagers and tests fail.

      The solution:

      In org.apache.jdo.tck.models.fieldtypes.TestUtil lines 142-148:
      case(5):
      vec.add(0, Locale.CHINA.clone());
      vec.add(1, Locale.FRANCE.clone());
      vec.add(2, Locale.GERMANY.clone());
      vec.add(3, Locale.JAPAN.clone());
      vec.add(4, Locale.ITALY.clone());
      break;
      similar to cloning strings few lines above:
      case(3):
      vec.add(0, new String("Hello"));
      vec.add(1, new String("Welcome"));
      vec.add(2, new String("To The"));
      vec.add(3, new String("Beautiful"));
      vec.add(4, new String("World"));
      break;

      And also in org.apache.jdo.tck.pc.fieldtypes.AllTypes:

      public static final Locale[] Locale_values =

      { (Locale)Locale.US.clone(), (Locale)Locale.UK.clone(), (Locale)Locale.FRANCE.clone(), (Locale)Locale.GERMANY.clone(), (Locale)Locale.CANADA.clone(), (Locale)Locale.JAPAN.clone(), (Locale)Locale.ITALY.clone(), (Locale)Locale.CHINA.clone(), (Locale)Locale.KOREA.clone(), (Locale)Locale.TAIWAN.clone() }

      ;

      similar to cloning strings few lines above:

      public static final String[] String_values =

      { new String(""), new String("hello world"), new String("JDO has a very nice persistence API"), new String("JDO"), new String("Java"), new String("abcde"), new String("abcdef"), new String("JDO is a breeze to use"), new String("Java"), new String("Long-live JDO") }

      ;

      Attachments

        Activity

          People

            clr Craig L Russell
            kirsh Ilan Kirsh
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: