db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Craig Russell (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (JDO-397) Locale instances are shared by different PMs (when in use as FCO)
Date Sun, 12 Aug 2007 02:45:43 GMT

     [ https://issues.apache.org/jira/browse/JDO-397?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Craig Russell resolved JDO-397.
-------------------------------

    Resolution: Fixed

The 2.1 specification now states:

Portable JDO applications must not depend on SCO or FCO uniquing behavior, nor on the storage

mechanism in the datastore. Portable applications may use the same instance of these classes
as field 
values in any persistence-capable class instance. 

This should resolve this issue.

> Locale instances are shared by different PMs (when in use as FCO)
> -----------------------------------------------------------------
>
>                 Key: JDO-397
>                 URL: https://issues.apache.org/jira/browse/JDO-397
>             Project: JDO
>          Issue Type: Bug
>          Components: specification, tck2
>    Affects Versions: JDO 2 final
>            Reporter: Ilan Kirsh
>            Assignee: Craig Russell
>             Fix For: JDO 2 maintenance release 1
>
>
> 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.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message