db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Craig L Russell <Craig.Russ...@Sun.COM>
Subject Re: Maintenance Review for JSR-243
Date Fri, 01 Feb 2008 04:40:30 GMT
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 écrit :
>>
>> 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  
>> 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.
>>
>> Clarify 18.15.8 that the ordering field should be managed by the  
>> implementation, not by the user.
>>
>> Remove the "serialized" attribute from 18.15.8 since the ordering  
>> column is not serialized.
>>
>> 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.
>>
>> Add ObjectState enum and convenience methods in JDOHelper to return  
>> the ObjectState of an instance.
>>
>> 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....
>>
>> 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).
>>
>> Require that the implementation not hold a strong reference to  
>> flushed dirty instances, allowing these instances to be garbage  
>> collected.
>>
>> 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
>>
>> 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.
>>
>> In Table 2: State Transitions, the transition for a transient-dirty  
>> instance during commit with DetachAllOnCommit = true should be to  
>> transient-clean. Also, state changes need to be added for detach  
>> methods and serialization.
>>
>> 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.
>>
>> 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."
>>
>> In section 7.5, change "If the class is abstract, null is  
>> returned." to "If the class is abstract, JDOFatalInternalException  
>> is thrown".
>>
>> In section 7.5, add public byte fetchByteField(int fieldNumber); to  
>> ObjectIdFieldSupplier.
>>
>> In section 7.5, add public byte storeByteField(int fieldNumber,  
>> byte value); to ObjectIdFieldConsumer.
>>
>> In Chapter 8, add after class JDOHelper {
>>
>> public JDOHelper();
>>
>> For some usage patterns, an instance of JDOHelper on which to  
>> invoke methods is preferable to the use of static methods. For this  
>> purpose, a public constructor is provided.
>>
>> 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.
>>
>> In Chapter 9, add section on managing date formatting for  
>> ObjectIdentity constructors.
>>
>> public synchronized void registerDateFormat(java.text.DateFormat df);
>>
>> In 9.4, add method to retrieve persistence-capable classes that  
>> have been registered.
>>
>> public java.util.Collection getRegisteredClasses();
>>
>> In 9.5, add method to verify that the class is authorized to be a  
>> state manager.
>>
>> public static void checkAuthorizedStateManagerClass(Class smClass);
>>
>> In 9.5, add method to register multiple state manager classes.
>>
>> public static void  
>> registerAuthorizedStateManagerClasses(java.util.Collection  
>> smClasses) throws SecurityException;
>>
>> 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 setMaxFetchDepth(); to public int  
>> getMaxFetchDepth();
>>
>> 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
>>
>> JDOUserCallbackException extends javax.jdo.JDOUserException
>>
>> 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=”Integer”)." to "(e.g. an element of type Object can specify  
>> element-type=”Integer”).
>>
>> In Chapter 18, add to .jdo metadata:
>>
>> <!ATTLIST property field-type CDATA #IMPLIED>
>>
>> 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.
>>
>> protected static int jdoGetManagedFieldCount () {
>> return jdoFieldNames.length;
>> }
>>
>> to
>>
>> protected static int jdoGetManagedFieldCount () {
>> return <enhancer-generated constant>;
>> }
>>
>> Add to Chapter 23, constants defined in the JDOPermission class:
>>
>> public static final javax.jdo.spi.JDOPermission  
>> CLOSE_PERSISTENCE_MANAGER_FACTORY = "closePersistenceManagerFactory";
>> public static final javax.jdo.spi.JDOPermission GET_METADATA =  
>> "getMetadata";
>> public static final javax.jdo.spi.JDOPermission MANAGE_METADATA =  
>> "manageMetadata";
>> public static final javax.jdo.spi.JDOPermission SET_STATE_MANAGER =  
>> "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  
>> subclasses of enum types.
>>
>> Change in 12.6 signatures of the following PersistenceManager  
>> methods to be generic. Note that these changes are source  
>> compatible with existing application programs.
>>
>> JDO 2.0
>>
>> JDO 2.0 Maintenance Release
>>
>> Object getObjectById (Class cls, Object key)
>>
>> <T> T getObjectById (Class<T> cls, Object key)
>>
>> Object newInstance(Class persistenceCapable)
>>
>> <T> T newInstance(Class<T> persistenceCapable)
>>
>> Object makePersistent (Object pc)
>>
>> <T> T makePersistent (T pc)
>>
>> Object[ ] makePersistentAll (Object[ ] pcs)
>>
>> <T> T[ ] makePersistentAll (T[ ] pcs)
>>
>> Collection makePersistentAll (Collection pcs)
>>
>> <T> Collection<T> makePersistentAll (Collection<T> pcs)
>>
>> Object detachCopy(Object pc)
>>
>> <T> T detachCopy(T pc)
>>
>> Collection detachCopyAll(Collection pcs)
>>
>> <T> Collection<T> detachCopyAll(Collection<T> pcs)
>>
>> Object[ ] detachCopyAll(Object[ ] pcs)
>>
>> <T> T[ ] detachCopyAll(T[ ] pcs)
>>
>> 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
>> More Actions:
>> MoinMoin Powered
>> Python Powered
>> Valid HTML 4.01
>>
>>
>>
>> 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!
> <Liz.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!


Mime
View raw message