Locale instances are shared by different PMs (when in use as FCO) -----------------------------------------------------------------
Key: JDO-397 URL: http://issues.apache.org/jira/browse/JDO-397 Project: JDO Issue Type: Bug Reporter: Ilan Kirsh 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") }; -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira