Return-Path: Delivered-To: apmail-db-jdo-dev-archive@www.apache.org Received: (qmail 83103 invoked from network); 1 Feb 2008 04:41:05 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 1 Feb 2008 04:41:05 -0000 Received: (qmail 86389 invoked by uid 500); 1 Feb 2008 04:40:57 -0000 Mailing-List: contact jdo-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: jdo-dev@db.apache.org Delivered-To: mailing list jdo-dev@db.apache.org Received: (qmail 86378 invoked by uid 99); 1 Feb 2008 04:40:57 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 31 Jan 2008 20:40:57 -0800 X-ASF-Spam-Status: No, hits=1.0 required=10.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [192.18.43.133] (HELO sca-es-mail-2.sun.com) (192.18.43.133) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 01 Feb 2008 04:40:26 +0000 Received: from fe-sfbay-10.sun.com ([192.18.43.129]) by sca-es-mail-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m114eXQA005794 for ; Thu, 31 Jan 2008 20:40:33 -0800 (PST) Received: from conversion-daemon.fe-sfbay-10.sun.com by fe-sfbay-10.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007)) id <0JVJ00301MAOMR00@fe-sfbay-10.sun.com> (original mail from Craig.Russell@Sun.COM) for jdo-dev@db.apache.org; Thu, 31 Jan 2008 20:40:33 -0800 (PST) Received: from [192.168.0.12] (c-24-6-172-77.hsd1.ca.comcast.net [24.6.172.77]) by fe-sfbay-10.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007)) with ESMTPSA id <0JVJ00LQGMBJBF00@fe-sfbay-10.sun.com>; Thu, 31 Jan 2008 20:40:32 -0800 (PST) Date: Thu, 31 Jan 2008 20:40:30 -0800 From: Craig L Russell Subject: Re: Maintenance Review for JSR-243 In-reply-to: <47A29C96.1070004@jcp.org> Sender: Craig.Russell@Sun.COM To: Liz@jcp.org Cc: pmo@jcp.org, Apache JDO project , JDO Expert Group Message-id: <52954B04-9891-4A9F-A48C-40B4ADC4BDAD@Sun.COM> MIME-version: 1.0 X-Mailer: Apple Mail (2.915) Content-type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary=Apple-Mail-41-195331291 References: <47A29C96.1070004@jcp.org> X-Virus-Checked: Checked by ClamAV on apache.org --Apple-Mail-41-195331291 Content-Type: multipart/alternative; boundary=Apple-Mail-40-195331218 --Apple-Mail-40-195331218 Content-Type: text/plain; charset=WINDOWS-1252; format=flowed; delsp=yes Content-Transfer-Encoding: quoted-printable Hi Liz, 30 days should be fine. Thanks, Craig On Jan 31, 2008, at 8:14 PM, Liz M Kiener wrote: > Hello Craig - > > Sorry, I missed your call. We acknowledge receipt of the MR =20 > materials. You used the correct email alias on 29 Jan with your =20 > submission to spec-submit@jcp.org. > > Would you please provide the desired length for the review (30, 45, =20= > 60 or 90 days). > > Thanks > Liz :-) > > > > Craig L Russell a =E9crit : >> >> Hi, >> >> JSR-243 is planning a minor revision according to = http://jcp.org/en/procedures/jcp2#4.2.1 >> >> The proposed changes are attached for the maintenance review. >> >> Comments should be directed to jdo-comments@sun.com >> >> Thanks, >> >> Craig >> >> >> Jdo Wiki >> Search: >> CraigRussell >> UserPreferences >> KeySigning >> KeysAtApache >> CurrentDevelopment >> FrontPage >> FrontPage >> RecentChanges >> FindPage >> HelpContents >> ChangeLog >> Edit >> Show Changes >> Get Info >> Subscribe >> More Actions: >> ChangeLog >> >> This is the list of changes for maintenance of JSR-243. >> >> PROPOSED >> >> Add methods to PersistenceManager and PersistenceManagerFactory to =20= >> allow a user to get the current time and date from the server. =20 >> Allow the PersistenceManagerFactory to be configured statically =20 >> with TimeZoneand Locale in case the information is not available =20 >> from the server itself. >> >> Clarify 18.15.8 that the ordering field should be managed by the =20 >> implementation, not by the user. >> >> Remove the "serialized" attribute from 18.15.8 since the ordering =20 >> column is not serialized. >> >> Add property CopyOnAttach to PersistenceManager and =20 >> PersistenceManagerFactory. With the property set to true, makes a =20 >> copy of the detached instance on makePersistent. If the property is =20= >> set to false, it attaches the detached instance itself. >> >> Add ObjectState enum and convenience methods in JDOHelper to return =20= >> the ObjectState of an instance. >> >> Add method void evictAll (boolean subclasses, Class pcClass) to =20 >> PersistenceManager. This allows to evict instances for a particluar =20= >> class. Change signatures of DataStoreCache methods pinAll, =20 >> unpinAll, and evictAll from (Class pcClass, boolean subclasses) to =20= >> (boolean subclasses, Class pcClass) to accommodate adding methods =20 >> that change the pcClass parameter from Class to Class.... >> >> Clarify the behavior of method evictAll if the parameter is a =20 >> persistent interface. This comment also applies to the =20 >> DataStoreCache interface method void evictAll (Class pcClass, =20 >> boolean subclasses). >> >> Require that the implementation not hold a strong reference to =20 >> flushed dirty instances, allowing these instances to be garbage =20 >> collected. >> >> Change signatures of PersistenceManager methods that take Object[] =20= >> as an argument to take Object... as an argument. These signatures =20 >> are source and binary compatible with existing programs. Where =20 >> theObject... parameter would not be the last parameter, deprecate =20 >> the method and reorder the parameters so Object... is last. >> >> ACCEPTED >> >> In 5.4.1, Compound Identity should be updated to reflect that for =20 >> key fields of reference types, the type of the key field is the =20 >> reference type in the class but the oid of the reference type in =20 >> the oid class. >> >> In Table 2: State Transitions, the transition for a transient-dirty =20= >> instance during commit with DetachAllOnCommit =3D true should be to =20= >> transient-clean. Also, state changes need to be added for detach =20 >> methods and serialization. >> >> In 5.5.8 and 5.5.9, detachCopy should be removed from the list of =20 >> methods that throw exceptions if applied to detached-clean or =20 >> detached-dirty instances. >> >> In 6.4.3, change "Portable JDO applications must not depend on =20 >> whether instances of these classes are treated as SCOs or FCOs. " =20 >> to "Portable JDO applications must not depend on SCO or FCO =20 >> uniquing behavior, nor on the storage mechanism in the datastore. =20 >> Portable applications may use the same instance of these classes as =20= >> field values in any persistence-capable class instance." >> >> In section 7.5, change "If the class is abstract, null is =20 >> returned." to "If the class is abstract, JDOFatalInternalException =20= >> is thrown". >> >> In section 7.5, add public byte fetchByteField(int fieldNumber); to =20= >> ObjectIdFieldSupplier. >> >> In section 7.5, add public byte storeByteField(int fieldNumber, =20 >> byte value); to ObjectIdFieldConsumer. >> >> In Chapter 8, add after class JDOHelper { >> >> public JDOHelper(); >> >> For some usage patterns, an instance of JDOHelper on which to =20 >> invoke methods is preferable to the use of static methods. For this =20= >> purpose, a public constructor is provided. >> >> In Chapter 8, add a convenience method that returns a =20 >> PersistenceManager proxy that can be used in web and ejb containers =20= >> to dynamically bind to the transaction-associated PersistenceManager. >> >> In Chapter 9, add section on managing date formatting for =20 >> ObjectIdentity constructors. >> >> public synchronized void registerDateFormat(java.text.DateFormat df); >> >> In 9.4, add method to retrieve persistence-capable classes that =20 >> have been registered. >> >> public java.util.Collection getRegisteredClasses(); >> >> In 9.5, add method to verify that the class is authorized to be a =20 >> state manager. >> >> public static void checkAuthorizedStateManagerClass(Class smClass); >> >> In 9.5, add method to register multiple state manager classes. >> >> public static void =20 >> registerAuthorizedStateManagerClasses(java.util.Collection =20 >> smClasses) throws SecurityException; >> >> In Chapter 11, add properties for configuring =20 >> PersistenceManagerFactory that are consistent with JPA =20 >> specification of TransactionType and Persistence Unit Name. >> >> In Chapter 12, specify the behavior of PersistenceManager if it =20 >> extends Serializable and writeObject is called. >> >> In 12.6.6, clarify that a JDOUserException will be thrown when =20 >> invoking newInstance: if a class is not persistence-capable, or =20 >> does not declare a public no-args constructor; if an interface is =20 >> not persistence-capable or declares methods that are not defined as =20= >> persistent properties; if an abstract class is not persistence-=20 >> capable or declares abstract methods that are not defined as =20 >> persistent properties. >> >> In 12.6.8, section heading Explicit Detach, the sentence "If the =20 >> parameter instance is detached, then JDOUserException is thrown. " =20= >> should be removed. >> >> In 12.6.8, add a note that serialization for storage using the =20 >> serialized, serialized-element, serialized-key, or serialized-value =20= >> metadata attributes does not create a detached instance. >> >> In 12.6.8, clarify the behavior of instances during serialization =20 >> both with and without an active transaction. >> >> In 12.7.5, change public int setMaxFetchDepth(); to public int =20 >> getMaxFetchDepth(); >> >> In 12.7.5, specify that getFetchGroups returns a read-only copy of =20= >> the active Fetch Groups. >> >> In 12.7.6, p. 127, change "A recursion-depth of 0 will fetch the =20 >> whole graph of instances reachable from this field." to "A =20 >> recursion-depth of -1 will fetch the whole graph of instances =20 >> reachable from this field." >> >> In 12.7.6 p. 129, change fetch-depth to recursion-depth in the =20 >> example. >> >> In 14, add subqueries to permit e.g. select from Employee where =20 >> this.salary > (select avg(salary) from Employee) >> >> In 14.6.2 p. 159, the sectionheading "Methods" is not marked as a =20 >> sectionheading. >> >> Add to 14.6.9: Projected SCOs are never owned, projected FCOs are =20 >> always managed. Modifying unowned SCOs never has an effect on the =20 >> database. Modifying FCOs no matter how you get them always has an =20 >> effect if the tx commits. >> >> In 15.3, p. 187, the third paragraph, beginning "The field on the =20 >> other side" and ending "in the next transaction", is duplicated and =20= >> will be removed. >> >> In 15.3, add text to describe updating the other side of =20 >> relationships where this side is deleted. This maintains =20 >> referential integrity for delete as well as update. >> >> Add to 17.1.11 >> >> JDOUserCallbackException extends javax.jdo.JDOUserException >> >> In Chapter 18, add an xml element to specify the fetch plan to use =20= >> for a query. >> >> In 18.15.1, change "(e.g. a field of type Object can specify field-=20= >> type=3D=94Integer=94)." to "(e.g. an element of type Object can = specify =20 >> element-type=3D=94Integer=94). >> >> In Chapter 18, add to .jdo metadata: >> >> >> >> Add to 18.15.1 "The default for dependent-element is false." >> >> Add to 18.15.2 "The default for dependent-key is false." >> >> Add to 18.15.2 "The default for dependent-value is false." >> >> Change the last paragraph of 21.6 from "For Detachable classes, the =20= >> results of restoring a serialized persistent instance graph is a =20 >> graph of interconnected detached instances that might be attached =20 >> via the attachCopy methods." to "For Detachable classes, the =20 >> results of restoring a serialized persistent instance graph is a =20 >> graph of interconnected detached instances that might be attached =20 >> via the makePersistent methods." >> >> Change 21.13 from "Some methods require a non-null state manager. =20 >> In these cases, if the jdoStateManager is null, then =20 >> IllegalStateException is thrown." to "Some methods require a non-=20 >> null state manager. In these cases, if the jdoStateManager is null, =20= >> then JDOFatalInternalException is thrown." >> >> Change 21.21.7 Generated jdoGetManagedFieldCount sample =20 >> implementation to avoid using the jdoFieldNames field that might be =20= >> initialized after it is used during initialization of a subclass. >> >> protected static int jdoGetManagedFieldCount () { >> return jdoFieldNames.length; >> } >> >> to >> >> protected static int jdoGetManagedFieldCount () { >> return ; >> } >> >> Add to Chapter 23, constants defined in the JDOPermission class: >> >> public static final javax.jdo.spi.JDOPermission =20 >> CLOSE_PERSISTENCE_MANAGER_FACTORY =3D = "closePersistenceManagerFactory"; >> public static final javax.jdo.spi.JDOPermission GET_METADATA =3D =20 >> "getMetadata"; >> public static final javax.jdo.spi.JDOPermission MANAGE_METADATA =3D =20= >> "manageMetadata"; >> public static final javax.jdo.spi.JDOPermission SET_STATE_MANAGER =3D = =20 >> "setStateManager"; >> JDK 1.5 changes >> >> These are changes proposed for JDO 2 to better support JDK 1.5. >> >> Add to 6.3 a section requiring support for enum types, including =20 >> subclasses of enum types. >> >> Change in 12.6 signatures of the following PersistenceManager =20 >> methods to be generic. Note that these changes are source =20 >> compatible with existing application programs. >> >> JDO 2.0 >> >> JDO 2.0 Maintenance Release >> >> Object getObjectById (Class cls, Object key) >> >> T getObjectById (Class cls, Object key) >> >> Object newInstance(Class persistenceCapable) >> >> T newInstance(Class persistenceCapable) >> >> Object makePersistent (Object pc) >> >> T makePersistent (T pc) >> >> Object[ ] makePersistentAll (Object[ ] pcs) >> >> T[ ] makePersistentAll (T[ ] pcs) >> >> Collection makePersistentAll (Collection pcs) >> >> Collection makePersistentAll (Collection pcs) >> >> Object detachCopy(Object pc) >> >> T detachCopy(T pc) >> >> Collection detachCopyAll(Collection pcs) >> >> Collection detachCopyAll(Collection pcs) >> >> Object[ ] detachCopyAll(Object[ ] pcs) >> >> T[ ] detachCopyAll(T[ ] pcs) >> >> Add to 15.1 a paragraph describing that mapping an enum to a fixed-=20= >> precision numeric type uses the ordinal() value for storage; =20 >> mapping to a character column type (CHAR, VARCHAR, etc.) uses the =20 >> name() value for storage; mapping to any other column type is an =20 >> error. >> >> Provide in a new chapter a set of annotations that map directly to =20= >> xml elements as an alternative to using xml metadata. Describe how =20= >> jdo implementations can use either JDO annotations or JPA =20 >> annotations to provide metadata. >> >> Provide interfaces that extend both JDO and JPA in order to make it =20= >> easier to migrate applications from JDO to JPA. >> >> DEFERRED >> >> - none yet - >> >> last edited 2008-01-28 13:52:14 by CraigRussell >> >> Edit >> Show Changes >> Get Info >> Subscribe >> More Actions: >> MoinMoin Powered >> Python Powered >> Valid HTML 4.01 >> >> >> >> Craig Russell >> Architect, Sun Java Enterprise System http://java.sun.com/products/=20= >> jdo >> 408 276-5638 mailto:Craig.Russell@sun.com >> P.S. A good JDO? O, Gasp! > Craig Russell Architect, Sun Java Enterprise System http://java.sun.com/products/jdo 408 276-5638 mailto:Craig.Russell@sun.com P.S. A good JDO? O, Gasp! --Apple-Mail-40-195331218 Content-Type: text/html; charset=WINDOWS-1252 Content-Transfer-Encoding: quoted-printable Hi Liz,

30 days should be = fine.

Thanks,

Craig

On Jan 31, 2008, = at 8:14 PM, Liz M Kiener wrote:

Hello Craig -

Sorry, I missed your call.  = We acknowledge receipt of the MR materials.  You used the correct = email alias on 29 Jan with your submission to spec-submit@jcp.org.

Would = you please provide the desired length for the review (30, 45, 60 or 90 = days).

Thanks
Liz :-) 


Craig L Russell a =E9crit :
Hi, 

JSR-243 is planning = a minor revision according to http://jcp.org/en/procedu= res/jcp2#4.2.1 

The proposed = changes are attached for the maintenance review. 

Comments should be = directed to jdo-comments@sun.com 

Thanks, 

Craig 



  
  • Edit
  • Show = Changes
  • Get Info
  • Subscribe
  •          =       =                      =          =    =                      =                =                      =      

ChangeLog

This= is the list of changes for maintenance of JSR-243.

PROPOSED

  1. Add methods to PersistenceManager and PersistenceManagerFactory=  to allow a user = to get the current time and date from the server. Allow the PersistenceManagerFactory=  to be configured = statically with TimeZoneand Locale = in case the information is not available from the server = itself.

  2. Clarify 18.15.8 that the ordering = field should be managed by the implementation, not by the = user.

  3. Remove the "serialized" attribute = from 18.15.8 since the ordering column is not serialized.

  4. Add property CopyOnAttach to PersistenceManager and PersistenceManagerFactory= . With the property set to true, makes a copy of the detached = instance on makePersistent. If = the property is set to false, it attaches the detached instance = itself.

  5. Add ObjectState enum and convenience = methods in JDOHelper to return the ObjectState of an instance.

  6. Add method void evictAll (= boolean subclasses, Class pcClass) to PersistenceManager. = This allows to evict instances for a particluar class. Change signatures = of DataStoreCache methods pinAll, unpinAll, = and evictAll from (Class pcClass, = ;boolean subclasses) to (boolean subclasses,=  Class pcClass) to accommodate adding = methods that change the pcClass parameter from Class to = Class....

  7. Clarify the behavior of = method evictAll if the parameter is a = persistent interface. This comment also applies to the DataStoreCache interface method void evictAll (= Class pcClass, boolean subclasses).

  8. Require that the implementation not hold a strong = reference to flushed dirty instances, allowing these instances to be = garbage collected.

  9. Change signatures = of PersistenceManager methods that take Object[] as an argument to take Object... as an argument. These = signatures are source and binary compatible with existing programs. = Where theObject... parameter would not be the = last parameter, deprecate the method and reorder the parameters so Object... is last.

ACCEPTED

  1. In 5.4.1, Compound Identity should be updated to = reflect that for key fields of reference types, the type of the key = field is the reference type in the class but the oid of the reference = type in the oid class.

  2. In Table 2: State = Transitions, the transition for a transient-dirty instance during commit = with DetachAllOnCommit =3D=  true should = be to transient-clean. Also, state changes need to be added for detach = methods and serialization.

  3. In 5.5.8 and = 5.5.9, detachCopy should be removed from the = list of methods that throw exceptions if applied to detached-clean or = detached-dirty instances.

  4. In 6.4.3, change = "Portable JDO applications must not depend on whether instances of these = classes are treated as SCOs or FCOs. " to "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."

  5. In section 7.5, change "If = the class is abstract, null is returned." to "If the class is = abstract, JDOFatalInternalException=  is = thrown".

  6. In section 7.5, add public byte fet= chByteField(int fieldNumber); to ObjectIdFieldSupplier.

  7. In section 7.5, add public byte sto= reByteField(int fieldNumber, byte value); to ObjectIdFieldConsumer.

  8. In Chapter 8, add after class JDOHelper = ;{

    •  JDOHelper on which to invoke methods = is preferable to the use of static methods. For this purpose, a public = constructor is provided.

  9. In = Chapter 8, add a convenience method that returns a PersistenceManager proxy that can be used = in web and ejb containers to dynamically bind to the = transaction-associated PersistenceManager.<= /p>

  10. In Chapter 9, add section on managing date = formatting for ObjectIdentity constructors.

    • In = 9.4, add method to retrieve persistence-capable classes that have been = registered.

      • In 9.5, add method to verify = that the class is authorized to be a state manager.

        • In = 9.5, add method to register multiple state manager classes.

          • In Chapter 11, add = properties for configuring PersistenceManagerFactory=  that are = consistent with JPA specification of TransactionType and Persistence Unit = Name.

          • In Chapter 12, specify the behavior = of PersistenceManager if it extends Serializable and writeObject is called.

          • In 12.6.6, clarify that a JDOUserException will be thrown when = invoking newInstance: if a = class is not persistence-capable, or does not declare a public no-args = constructor; if an interface is not persistence-capable or declares = methods that are not defined as persistent properties; if an abstract = class is not persistence-capable or declares abstract methods that are = not defined as persistent properties.

          • In = 12.6.8, section heading Explicit Detach, the sentence "If the parameter = instance is detached, then JDOUserException is thrown. " should be = removed.

          • In 12.6.8, add a note that = serialization for storage using the serialized, serialized-element, = serialized-key, or serialized-value metadata attributes does not create = a detached instance.

          • In 12.6.8, clarify the = behavior of instances during serialization both with and without an = active transaction.

          • In 12.7.5, change public int setM= axFetchDepth(); to public int getM= axFetchDepth();

          • In 12.7.5, specify = that getFetchGroups returns a read-only copy of the active Fetch = Groups.

          • In 12.7.6, p. 127, change "A = recursion-depth of 0 will fetch the whole graph of instances reachable = from this field." to "A recursion-depth of -1 will fetch the whole graph = of instances reachable from this field."

          • In = 12.7.6 p. 129, change fetch-depth to recursion-depth in the = example.

          • In 14, add subqueries to permit = e.g. select from Employee where this.salary > (select avg(salary) = from Employee)

          • In 14.6.2 p. 159, the = sectionheading "Methods" is not marked as a sectionheading.

          • Add to 14.6.9: Projected SCOs are never owned, = projected FCOs are always managed. Modifying unowned SCOs never has an = effect on the database. Modifying FCOs no matter how you get them always = has an effect if the tx commits.

          • In 15.3, = p. 187, the third paragraph, beginning "The field on the other side" and = ending "in the next transaction", is duplicated and will be = removed.

          • In 15.3, add text to describe = updating the other side of relationships where this side is deleted. = This maintains referential integrity for delete as well as = update.

          • Add to 17.1.11

            • In Chapter 18, add an = xml element to specify the fetch plan to use for a query.

            • In 18.15.1, change "(e.g. a field of type Object can = specify field-type=3D=94Integer=94)." to "(e.g. an element of type = Object can specify element-type=3D=94Integer=94).

            • In Chapter 18, add to .jdo metadata:

              • Add to 18.15.1 = "The default for dependent-element is false."

              • Add to 18.15.2 "The default for dependent-key is = false."

              • Add to 18.15.2 "The default for = dependent-value is false."

              • Change the last = paragraph of 21.6 from "For Detachable classes, the results of restoring = a serialized persistent instance graph is a graph of interconnected = detached instances that might be attached via the attachCopy methods." = to "For Detachable classes, the results of restoring a serialized = persistent instance graph is a graph of interconnected detached = instances that might be attached via the makePersistent = methods."

              • Change 21.13 from "Some methods = require a non-null state manager. In these cases, if the jdoStateManager is null, then IllegalStateException is thrown." to "Some = methods require a non-null state manager. In these cases, if the jdoStateManager is null, then JDOFatalInternalException=  is = thrown."

              • Change 21.21.7 Generated = jdoGetManagedFieldCount sample implementation to avoid using the = jdoFieldNames field that might be initialized after it is used during = initialization of a subclass.

                • Add to Chapter 23, = constants defined in the JDOPermission class:

                  • public static final =
                    javax.jdo.spi.JDOPermission CLOSE_PERSISTENCE_MANAGER_FACTORY =3D =
                    "closePersistenceManagerFactory";=20
                    public static final javax.jdo.spi.JDOPermission GET_METADATA =3D =
                    "getMetadata";
                    public static final javax.jdo.spi.JDOPermission MANAGE_METADATA =3D =
                    "manageMetadata";
                    public static final javax.jdo.spi.JDOPermission SET_STATE_MANAGER =3D =
                    "setStateManager";

JDK 1.5 = changes

These are changes proposed for JDO 2 to better support = JDK 1.5.

  1. Add to 6.3 a section requiring support = for enum types, including subclasses of enum types.

  2. Change in 12.6 signatures of the following PersistenceManager methods to be generic. = Note that these changes are source compatible with existing application = programs.

    • Add to 15.1 a paragraph describing that mapping an enum = to a fixed-precision numeric type uses the ordinal() value for storage; = mapping to a character column type (CHAR, VARCHAR, etc.) uses the name() = value for storage; mapping to any other column type is an = error.

    • Provide in a new chapter a set of = annotations that map directly to xml elements as an alternative to using = xml metadata. Describe how jdo implementations can use either JDO = annotations or JPA annotations to provide metadata.

    • Provide interfaces that extend both JDO and JPA in = order to make it easier to migrate applications from JDO to = JPA.

DEFERRED

- = none yet -

last edited 2008-01-28 13:52:14 by CraigRussell

  • Edit
  • Show = Changes
  • Get Info
  • Subscribe
  •          =       =                      =          =    =                      =                =                      =      



Craig Russell 
Architect, Sun Java = Enterprise System http://java.sun.com/products/jdo=  
408 = 276-5638 mailto:Craig.Russell@sun.com 
P.S. A good JDO? O, = Gasp! 
<Li= z.vcf>

Craig Russell

Architect, Sun Java Enterprise System http://java.sun.com/products/jdo=

408 = 276-5638 mailto:Craig.Russell@sun.com

P.S. A = good JDO? O, Gasp!


= --Apple-Mail-40-195331218-- --Apple-Mail-41-195331291 Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIGUDCCAwkw ggJyoAMCAQICECvOQSuIjHMvOZRC95BRg/wwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UEBhMCWkEx JTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQ ZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA3MTIxMDE1MjM1MVoXDTA4MTIwOTE1MjM1 MVowbDEQMA4GA1UEBBMHUnVzc2VsbDEUMBIGA1UEKhMLQ3JhaWcgTGFpcmQxHDAaBgNVBAMTE0Ny YWlnIExhaXJkIFJ1c3NlbGwxJDAiBgkqhkiG9w0BCQEWFUNyYWlnLlJ1c3NlbGxAU3VuLkNPTTCC ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKzqGlLUastboCRqc0iBoTz2ODcqpMpEyPUo nYtluchkSIoWzOW63AuoTczRt9sKfhwoK5mope+62B6Li06WJabm2UHqKAaNSuMHLsmyqvOdwbSt enY7/HxOSCMqVoyVBTRJc2M8feCSVgi7ptGq9cM+Maa64R1/p9zqaQNucceU/1uper90bWplsjAT rHgicgr9XJIQb6uYjhjlgxxnY/aispnCvLxMX+CiA2FWeeJTI7AiFlLwibTXYF4v12ToByvXtTiJ knuND8qpwhK3Wp0tL4ae8mZ0nlKjCuNnqh99ZyEyTFHZBfVx8WSWRXkY4qxCG/IDQUo7WUaefOQT 1mECAwEAAaMyMDAwIAYDVR0RBBkwF4EVQ3JhaWcuUnVzc2VsbEBTdW4uQ09NMAwGA1UdEwEB/wQC MAAwDQYJKoZIhvcNAQEFBQADgYEAEqfFNFoch0QPVKWJ4maAZl3MJD10yMeWt5xb+WNSkhYKHD8I 42E8tpdE3kmc5wp2cZrz9JqJF/KCQ/gI4pmDk1qpTs5pvXzFNiD5Lu5eLza4iyxSlTHUXcCnyNC6 4m0qC8p4m/51NEql5hyacj/+vdlEe5dygpyNGUCiyA/SdAswggM/MIICqKADAgECAgENMA0GCSqG SIb3DQEBBQUAMIHRMQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQH EwlDYXBlIFRvd24xGjAYBgNVBAoTEVRoYXd0ZSBDb25zdWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZp Y2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMSQwIgYDVQQDExtUaGF3dGUgUGVyc29uYWwgRnJlZW1h aWwgQ0ExKzApBgkqhkiG9w0BCQEWHHBlcnNvbmFsLWZyZWVtYWlsQHRoYXd0ZS5jb20wHhcNMDMw NzE3MDAwMDAwWhcNMTMwNzE2MjM1OTU5WjBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3Rl IENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWls IElzc3VpbmcgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMSmPFVzVftOucqZWh5owHUE cJ3f6f+jHuy9zfVb8hp2vX8MOmHyv1HOAdTlUAow1wJjWiyJFXCO3cnwK4Vaqj9xVsuvPAsH5/Ef kTYkKhPPK9Xzgnc9A74r/rsYPge/QIACZNenprufZdHFKlSFD0gEf6e20TxhBEAeZBlyYLf7AgMB AAGjgZQwgZEwEgYDVR0TAQH/BAgwBgEB/wIBADBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3Js LnRoYXd0ZS5jb20vVGhhd3RlUGVyc29uYWxGcmVlbWFpbENBLmNybDALBgNVHQ8EBAMCAQYwKQYD VR0RBCIwIKQeMBwxGjAYBgNVBAMTEVByaXZhdGVMYWJlbDItMTM4MA0GCSqGSIb3DQEBBQUAA4GB AEiM0VCD6gsuzA2jZqxnD3+vrL7CF6FDlpSdf0whuPg2H6otnzYvwPQcUCCTcDz9reFhYsPZOhl+ hLGZGwDFGguCdJ4lUJRix9sncVcljd2pnDmOjCBPZV+V2vf3h9bGCE6u9uo05RAaWzVNd+NWIXiC 3CEZNd4ksdMdRv9dX2VPMYIDEDCCAwwCAQEwdjBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhh d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVt YWlsIElzc3VpbmcgQ0ECECvOQSuIjHMvOZRC95BRg/wwCQYFKw4DAhoFAKCCAW8wGAYJKoZIhvcN AQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDgwMjAxMDQ0MDMxWjAjBgkqhkiG9w0B CQQxFgQU0Zdu8BF/hxjhHeBXqc8aNAYZTEcwgYUGCSsGAQQBgjcQBDF4MHYwYjELMAkGA1UEBhMC WkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0 ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhArzkEriIxzLzmUQveQUYP8MIGHBgsqhkiG 9w0BCRACCzF4oHYwYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQ dHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhAr zkEriIxzLzmUQveQUYP8MA0GCSqGSIb3DQEBAQUABIIBAKtoFkJ3E5oxjSCeDa5wwF0VjpQFFyxQ kUCWZd1CGfUQguh5fm/Nl/6Y3laJDQlWPAiDd+tTusAg3EL/CDx2EgpDhTUXydb4C0b9wwbBkyXI X9FEjABDBvBifEYKrbu4HGW+abQhU/qhl72E1D7QuyvKWY+hcVzsFV1eoaLBDvNZ+IUTRCp2GlWA Ko0fDZ3/vd2wEJg9brDR8ndozYN1MqzcWT5Mz/bhK3p1vjqsTEw6iNVs4z5CaKqdUgh1zwxqKJkd Q6BhUVjOP9xA9YmLSfOfxZGBFgdrHbt0M0y3PUo2lIuuyU0E+5Vy4wWJ2Q5+xuJo/E95ylo9hPSG DhI0sc4AAAAAAAA= --Apple-Mail-41-195331291--