
|
If you were logged in you would be able to see more operations.
|
|
|
| Resolution Date: |
12/Aug/07 02:43 AM
|
|
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")
};
|
|
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")
};
|
Show » |
|