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 [EMAIL PROTECTED]

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 [EMAIL PROTECTED]

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:[EMAIL PROTECTED]
P.S. A good JDO? O, Gasp!

Reply via email to