JDO
  1. JDO
  2. JDO-397

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

    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") }

      ;

        Activity

        No work has yet been logged on this issue.

          People

          • Assignee:
            Craig L Russell
            Reporter:
            Ilan Kirsh
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development