db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Liz M Kiener <...@jcp.org>
Subject Re: Maintenance Review for JSR-243
Date Fri, 01 Feb 2008 04:14:14 GMT
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 </jdo/FrontPage>
> Search:
>
>     * CraigRussell </jdo/CraigRussell>
>     * UserPreferences </jdo/UserPreferences>
>
>     * KeySigning </jdo/KeySigning>
>     * KeysAtApache </jdo/KeysAtApache>
>     * CurrentDevelopment </jdo/CurrentDevelopment>
>     * FrontPage </jdo/FrontPage>
>
>     * FrontPage </jdo/FrontPage>
>     * RecentChanges </jdo/RecentChanges>
>     * FindPage </jdo/FindPage>
>     * HelpContents </jdo/HelpContents>
>     * ChangeLog </jdo/ChangeLog>
>
> ------------------------------------------------------------------------
>
>     * Edit </jdo/ChangeLog?action=edit>
>     * Show Changes </jdo/ChangeLog?action=diff>
>     * Get Info </jdo/ChangeLog?action=info>
>     * Subscribe </jdo/ChangeLog?action=subscribe>
>    *
>       More Actions:
>
>
>   ChangeLog
>   </jdo/ChangeLog?action=fullsearch&value=linkto%3A%22ChangeLog%22&context=180>
>
>
>     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 TimeZone and 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 the Object... 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 = 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 fetchByteField(int fieldNumber);
>       to ObjectIdFieldSupplier.
>
>   7.
>
>       In section 7.5, add
>       public byte storeByteField(int fieldNumber, byte value); to
>       ObjectIdFieldConsumer.
>
>   8.
>
>       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.
>
>   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.
>
>  10.
>
>       In Chapter 9, add section on managing date formatting for
>       ObjectIdentity constructors.
>
>          *
>
>             public synchronized void registerDateFormat(java.text.DateFormat df);
>
>
>  11.
>
>       In 9.4, add method to retrieve persistence-capable classes that
>       have been registered.
>
>          *
>
>             public java.util.Collection getRegisteredClasses();
>
>  12.
>
>       In 9.5, add method to verify that the class is authorized to be
>       a state manager.
>
>          *
>
>             public static void checkAuthorizedStateManagerClass(Class smClass);
>
>
>  13.
>
>       In 9.5, add method to register multiple state manager classes.
>
>          *
>
>             public static void registerAuthorizedStateManagerClasses(java.util.Collection
smClasses) throws SecurityException;
>
>
>  14.
>
>       In Chapter 11, add properties for configuring
>       PersistenceManagerFactory that are consistent with JPA
>       specification of TransactionType and Persistence Unit Name.
>
>  15.
>
>       In Chapter 12, specify the behavior of PersistenceManager if it
>       extends Serializable and writeObject is called.
>
>  16.
>
>       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.
>
>  17.
>
>       In 12.6.8, section heading Explicit Detach, the sentence "If the
>       parameter instance is detached, then JDOUserException is thrown.
>       " should be removed.
>
>  18.
>
>       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.
>
>  19.
>
>       In 12.6.8, clarify the behavior of instances during
>       serialization both with and without an active transaction.
>
>  20.
>
>       In 12.7.5, change public int setMaxFetchDepth(); to
>       public int getMaxFetchDepth();
>
>  21.
>
>       In 12.7.5, specify that getFetchGroups returns a read-only copy
>       of the active Fetch Groups.
>
>  22.
>
>       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."
>
>  23.
>
>       In 12.7.6 p. 129, change fetch-depth to recursion-depth in the
>       example.
>
>  24.
>
>       In 14, add subqueries to permit e.g. select from Employee where
>       this.salary > (select avg(salary) from Employee)
>
>  25.
>
>       In 14.6.2 p. 159, the sectionheading "Methods" is not marked as
>       a sectionheading.
>
>  26.
>
>       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.
>
>  27.
>
>       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.
>
>  28.
>
>       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.
>
>  29.
>
>       Add to 17.1.11
>
>          *
>
>             JDOUserCallbackException extends javax.jdo.JDOUserException
>
>  30.
>
>       In Chapter 18, add an xml element to specify the fetch plan to
>       use for a query.
>
>  31.
>
>       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").
>
>  32.
>
>       In Chapter 18, add to .jdo metadata:
>
>          *
>
>             <!ATTLIST property field-type CDATA #IMPLIED> 
>
>  33.
>
>       Add to 18.15.1 "The default for dependent-element is false."
>
>  34.
>
>       Add to 18.15.2 "The default for dependent-key is false."
>
>  35.
>
>       Add to 18.15.2 "The default for dependent-value is false."
>
>  36.
>
>       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."
>
>  37.
>
>       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."
>
>  38.
>
>       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>;
>             }
>                       
>  39.
>
>       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.
>
>   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.
>
>          *
>
>             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)
>
>   3.
>
>       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.
>
>   4.
>
>       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.
>
>   5.
>
>       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 </jdo/ChangeLog?action=edit>
>     * Show Changes </jdo/ChangeLog?action=diff>
>     * Get Info </jdo/ChangeLog?action=info>
>     * Subscribe </jdo/ChangeLog?action=subscribe>
>    *
>       More Actions:
>
>     * MoinMoin Powered <http://moinmoin.wikiwikiweb.de/>
>     * Python Powered <http://www.python.org/>
>     * Valid HTML 4.01 <http://validator.w3.org/check?uri=referer>
>
>
>
>
> 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
  • Unnamed multipart/mixed (inline, None, 0 bytes)
View raw message