Michelle, Craig,

Martin Zaun wrote:
I'm currently going over the lifecycle spreadsheet, checking the
transition-related assertions for coverage by A5.9.1..190 and the
newly implemented cases, and preparing a few comments (which I'll
send to you soon).

Please, find attached a first batch of comments on the latest
spreadsheet's lifecycle tab (did an svn update this morning).
A few more will follow this afternoon (have an appointment).

Martin
----------------------------------------------------------------------

A5.1-2  JDO instances might be either transient                 yes     
lifecycle/StateTransitions.java Sufficient with tests in StateTransitions.java
A5.1-AD1        detached                        no              new for JDO 2
A5.1-1  Or persistent                   yes     lifecycle/StateTransitions.java 
Sufficient with tests in StateTransitions.java

Perhaps somewhat sophistically, I'd NOT mark these three assertions as
implemented by StateTransitions.java.  I rather see them as
- one assertion (it only has one verb!), which could be merged as
  one row in the spreadsheet (as done with others), and which is
- non-testable, because the sentence is always true (tautological)
  by design of the interrogative JDO methods (cannot be failed by
  any implementation).

----------------------------------------------------------------------

A5.4.3-7        the persistent instance might transition to 
persistent-nontransactional or hollow but cannot transition to any other state 
afterward            3       no              Not testable with RI

If I'm not mistaken, this assertion is always false by the state transition
table in the spec, which does show other successor states for hollow and
persistent-nontransactional.

----------------------------------------------------------------------

A5.4.3-8        attempts to access the instance in the hollow state will throw 
a JDOUserException;              1       no              Not testable with RI

Insufficient language, hence, wrong if taken literally:
- assumes that "access" means reading or writing *managed* fields
- spec's transition table shows no exception but valid transitions for 
  reads/writes inside/outside transactions

I think, however, there's an JDOUserException to be thrown (only) if
outside tx and the managed field wasn't loaded.  This case would be
testable, so it shouldn't say "Not testable with RI", but I think it's
currently NOT tested by StateTransitions.java.

----------------------------------------------------------------------

A5.5-1  A5.5-1 [ There are ten states defined by this specification. Seven 
states are required, and three states are optional. ]                        
yes     lifecycle/StateTransitions.java DUPLICATE A5.9-1..A5.9-190 

Wrong if taken literally, there are actually 13 (observable) states now:
  1 Transient, 2 P-new, 3 P-clean, 4 P-dirty, 5 Hollow,
  6 T-clean, 7 T-dirty, 8 P-new-del, 9 P-del, 10 P-nontrans,
  11 P-nontrans-dirty, 12 detached-clean, 13 detached-dirty

Correctly marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

----------------------------------------------------------------------

A5.5.1-7w       Transient state: A5.5.1-7 [ A transient instance transitions to 
persistent-new if it is the parameter of makePersistent],                       
yes     lifecycle/StateTransitions.java DUPLICATE A5.9.1..A5.9.190

Correctly marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

Actually, this is also a duplicate of: A5.5.2-1

----------------------------------------------------------------------

A5.5.2-1        Persistent-new state: A5.5.2-1 [ JDO instances that are newly 
persistent in the current transaction are persistent-new. This is the state of 
an instance that has been requested by the application component to become 
persistent, by using the PersistenceManager makePersistent method on the 
instance.]                     yes     lifecycle/StateTransitions.java 
DUPLICATE A5.9.1..A5.9.190

Correctly marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

----------------------------------------------------------------------

A5.5.2-4        Persistent-new state: A5.5.2-4 [ A persistent-new instance 
transitions to persistent-new-deleted if it is the parameter of 
deletePersistent.]                   yes     lifecycle/StateTransitions.java 

Should be marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

----------------------------------------------------------------------

A5.5.2-5        Persistent-new state: A5.5.2-5 [ A persistent-new instance 
transitions to hollow when it is flushed to the datastore during commit when 
retainValues is false. This transition is not visible during beforeCompletion, 
and is visible during afterCompletion.]                  yes     
lifecycle/StateTransitions.java 

Should be marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

----------------------------------------------------------------------

A5.5.2-6        Persistent-new state: A5.5.2-6 [ A persistent-new instance 
transitions to transient at rollback.]                       yes     
lifecycle/StateTransitions.java 

Should be marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

----------------------------------------------------------------------

A5.5.3-1        Persistent-dirty state: A5.5.3-1 [ JDO instances that represent 
persistent data that was changed in the current transaction are 
persistent-dirty.]                      yes     lifecycle/StateTransitions.java 

Should be marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

----------------------------------------------------------------------

A5.5.3-2        Persistent-dirty state: A5.5.3-2 [ A persistent-dirty instance 
transitions to persistent-deleted if it is the parameter of deletePersistent.]  
                 yes     lifecycle/StateTransitions.java 

Should be marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

----------------------------------------------------------------------

A5.5.3-3        Persistent-dirty state: Persistent-dirty instances transition 
to hollow during A5.5.3-3 [ commit] when retainValues is false                  
  yes     lifecycle/StateTransitions.java 

Should be marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

----------------------------------------------------------------------

A5.5.3-4        Persistent-dirty state: Persistent-dirty instances transition 
to hollow during A5.5.3-3 [ commit] when retainValues is false or during 
A5.5.3-4 [ rollback] when restoreValues is false.                        yes    
 lifecycle/StateTransitions.java 

Should be marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

----------------------------------------------------------------------

A5.5.3-6        Persistent-dirty state: A5.5.3-6 [ If a modification was made 
to any managed field that changes the value of the field, then the 
implementation must mark the instanceas dirty.]                        yes     
lifecycle/StateTransitions.java 

Should be marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

----------------------------------------------------------------------

A5.5.4-1        Hollow state: A5.5.4-1 [ During the commit of the transaction 
in which a dirty persistent instance has had its values changed (including a 
new persistent instance), the underlying datastore is changed to have the 
transactionally consistent values from the JDO instance, and the instance 
transitions to hollow. Requests by the application for an instance with the 
same JDO identity (query, navigation, or lookup by ObjectId), in a subsequent 
transaction using the same PersistenceManager instance, will return the 
identical Java instance],                      yes     
lifecycle/StateTransitions.java 

Assertion is wrong if taken literally: A dirty instance may also
transition to p-nontransactional or detached, depending on PM settings.

Aso, in my view this assertion is NOT tested by StateTransitions.java:
- not checked that the values are actually written to db
- not checked that subsequent transaction return the same instance

----------------------------------------------------------------------

A5.5.4-4        Hollow state:  A5.5.4-4 [ A hollow instance transitions to 
persistent-deleted if it is the parameter of deletePersistent.]                 
     yes     lifecycle/StateTransitions.java 

Should be marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

----------------------------------------------------------------------

A5.5.4-5        Hollow state: A5.5.4-5 [ A hollow instance transitions to 
persistent-dirty if a change is made to any managed field.]                   
yes     lifecycle/StateTransitions.java 

Assertion is wrong if taken literally: only correct for inside transaction;
outside tx, a hollow instance transitions to p-nontransactional, I think.

Should be marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

----------------------------------------------------------------------

A5.5.4-6        Hollow state: A5.5.4-6 [ It transitions to persistent-clean if 
a read access is made to any per-sistent field other than one of the primary 
key fields.]                        yes     lifecycle/StateTransitions.java 

Assertion is wrong if taken literally: only correct for inside datastore
transaction; with active optimistic tx, a hollow instance transitions to
p-nontransactional; outside transaction, a JDOUserException is thrown,
I think.

Craig, the latter doesn't appear to be tested by StateTransitions.java.

Should be marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

----------------------------------------------------------------------

A5.5.4-AD1      A hollow instance transitions to detached if its persistence 
manager is closed while the DetachOnClose property is true.                     
   no      new for JDO 2   

Should be marked as DUPLICATE A5.9-1..A5.9-190.

----------------------------------------------------------------------

A5.5.5-1        Close property is true.                 yes     
lifecycle/StateTransitions.java 

Sorry, no idea what this assertion means. I cannot imagine a connection
with StateTransitions.java.

----------------------------------------------------------------------

A5.5.5-2        Persistent-clean state: A5.5.5-2 [ A persistent-clean instance 
transitions to persistent-deleted if it is the parameter of deletePersistent.]  
                 yes     lifecycle/StateTransitions.java 

Should be marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

----------------------------------------------------------------------

A5.5.5-3        Persistent-clean state: A5.5.5-3 [ A persistent-clean instance 
transitions to persistent-nontransactional if it is the parameter of 
makeNontransactional.]                      yes     
lifecycle/StateTransitions.java 

Should be marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

----------------------------------------------------------------------

A5.5.5-4        Persistent-clean state: A persistent-clean instance transitions 
to hollow at A5.5.5-4 [ commit when retainValues is false;]                     
yes     lifecycle/StateTransitions.java 

Correct, but what if there's also DetachAllOnCommit=true ?

Which setting prevails: retainValues=false or DetachAllOnCommit=true ?

----------------------------------------------------------------------

A5.5.5-5        Persistent-clean state: A persistent-clean instance transitions 
to hollow at A5.5.5-4 [ commit when retainValues is false;]or A5.5.5-5 [ 
rollback when restoreValues is false.]                 yes     
lifecycle/StateTransitions.java 

Should be marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

----------------------------------------------------------------------

A5.5.6-1        Persistent-deleted state: A5.5.6-1 [ JDO instances that 
represent specific persistent data in the datastore, and that have been deleted 
in the current transaction, are persistent-deleted.]                    yes     
lifecycle/StateTransitions.java 

Should be marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

----------------------------------------------------------------------

A5.5.6-3        Persistent-deleted state: A5.5.6-2 [ Read access to primary key 
fields is permitted] but A5.5.6-3 &A5.5.6-4 [ any access to persistent fields 
will throw a JDOUserException.]           3       no      
unimpl_tests/com/sun/jdotck/lifecycle/NonPrimaryKeyFieldAccessOfPersistentDeletedInstance.java
  (Read access) Easy to test

A5.5.6-4        Persistent-deleted state: A5.5.6-2 [ Read access to primary key 
fields is permitted] but A5.5.6-3 &A5.5.6-4 [ any access to persistent fields 
will throw a JDOUserException.]           3       no      
unimpl_tests/com/sun/jdotck/lifecycle/NonPrimaryKeyFieldAccessOfPersistentDeletedInstance.java
  (Write access) Easy to test

I think these two should be marked as DUPLICATE A5.9-1..A5.9-190, and it
should be tested by StateTransitions.java, but I'm not quite sure it is.

----------------------------------------------------------------------

A5.5.6-5        Persistent-deleted state: A5.5.6-5 [ A persistent-deleted 
instance transitions to transient at commit. During the tran-sition, its 
persistent fields are written with their Java default values, and the instance 
loses its JDO Identity and its association with the PersistenceManager.]        
              yes     lifecycle/StateTransitions.java 

Only the first sentence (state-transition) is a DUPLICATE A5.9-1..A5.9-190,
and tested by StateTransitions.java, but the second sentence is not!

----------------------------------------------------------------------

A5.5.6-6        Persistent-deleted state: A5.5.6-6 [ A persistent-deleted 
instance transitions to hollow at rollback when restore-Values is false. The 
instance retains its JDO Identity and its association with the 
PersistenceManager.]                      yes     
lifecycle/StateTransitions.java 

Only the first sentence (state-transition) is a DUPLICATE A5.9-1..A5.9-190,
and tested by StateTransitions.java, but the second sentence is not!

----------------------------------------------------------------------

A5.5.7-1        Persistent-new-deleted state: A5.5.7-1 [ JDO instances that 
represent instances that have been newly made persistent and deleted in the 
current transaction are persistent-new-deleted.]                        yes     
lifecycle/StateTransitions.java 

Should be marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

----------------------------------------------------------------------

A5.5.7-3        Persistent-new-deleted state: A5.5.7-2 [ Read access to primary 
key fields is permitted] but A5.5.7-3 &A5.5.7-4 [ any other access to 
persistent fields will throw a JDOUserException.]         3       no            
  (Read access) Easy to test

A5.5.7-4        Persistent-new-deleted state: A5.5.7-2 [ Read access to primary 
key fields is permitted] but A5.5.7-3 &A5.5.7-4 [ any other access to 
persistent fields will throw a JDOUserException.]         3       no            
  (Write access) Easy to test

I think these two should be marked as DUPLICATE A5.9-1..A5.9-190, and it
should be tested by StateTransitions.java, but I'm not quite sure it is.

----------------------------------------------------------------------

A5.5.7-5        Persistent-new-deleted state: A5.5.7-5 [ A 
persistent-new-deleted instance transitions to transient at commit. During the 
transition, its persistent fields are written with their Java default values, 
and the instance loses its JDO Identity and its association with the 
PersistenceManager.]                       yes     
lifecycle/StateTransitions.java 

Only the first sentence (state-transition) is a DUPLICATE A5.9-1..A5.9-190,
and tested by StateTransitions.java, but the second sentence is not!

----------------------------------------------------------------------

A5.5.7-6        Persistent-new-deleted state: A5.5.7-6 [ A 
persistent-new-deleted instance transitions to transient at rollback. The 
instance loses its JDO Identity and its association with the 
PersistenceManager.]                  yes     lifecycle/StateTransitions.java 

Only the first sentence (state-transition) is a DUPLICATE A5.9-1..A5.9-190,
and tested by StateTransitions.java, but the second sentence is not!

----------------------------------------------------------------------

A5.5.8-1        JDO instances that have been removed from their persistence 
manager and have not been modified are detached-clean.                      yes 
    org.apache.jdo.tck.lifecycle.StateTransitions   new for JDO 2

Ambiguous if taken literally, "removed from their PM" doesn't neccessarily
imply "detached" but can also mean "transient".

Should be marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

----------------------------------------------------------------------

A5.5.8-2        Detached-clean instances transition to detached-dirty if a 
loaded field is modified.                    yes     
org.apache.jdo.tck.lifecycle.StateTransitions   new for JDO 2

Should be marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

----------------------------------------------------------------------

A5.5.8-3        Attempts to change their state via any of the persistence 
manager methods (e.g. makePersistent, deletePersistent, etc.) throw 
JDOUserException.                 yes     
org.apache.jdo.tck.lifecycle.StateTransitions   new for JDO 2

Unclear from the assertion text what "their state" means: Detached-clean,
Detached-dirty, or both ?

Partially incorrect, the spec's state transition table shows "unchanged"
for both deletePersistent and makePersistent, but "error" for
makeTransactional etc.

Should be marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

----------------------------------------------------------------------

A5.5.9-1        the instance is detached in the persistent-dirty state while 
the PersistenceManager flag DetachDirty is true;                   yes     
org.apache.jdo.tck.lifecycle.StateTransitions   new for JDO 2

Unclear language: an instance is in a certain state while a flag is being
true ?  Does the instance's state change when the flag's value changes?

Not sure what it means, I don't think it's a DUPLICATE A5.9-1..A5.9-190
and covered by StateTransitions.java.

----------------------------------------------------------------------

A5.5.9-2        a field of the detached instance is explicitly modified by the 
application. Dirty-detached instances do not change their life cycle state.     
                 yes     org.apache.jdo.tck.lifecycle.StateTransitions   new 
for JDO 2

Unclear language.  But yes, writes on detached-dirty instances are 
DUPLICATE A5.9-1..A5.9-190, and tested by StateTransitions.java.

----------------------------------------------------------------------

A5.6-1, A5.6-2, A5.6-3, A5.6-4, A5.6-15 Dirty-detached instances do not change 
their life cycle state.  Optional        3       no      A5.6-1: 
unimpl_tests/com/sun/jdotck/lifecycle/NoSupportOfPersistentNontransactional.java
        RI implements this optional state. Cannot verify if a test would work.

Unclear language.  If the assertion means that dirty-detached instances
"never ever" change their state, it's untestable; if it means that they
don't change their state under the JDO lifecycle events (=operations),
it's DUPLICATE A5.9-1..A5.9-190 and tested by StateTransitions.java.

----------------------------------------------------------------------

A5.6-5  deletePersistent, etc.) throw JDOUserException. Optional        3       
no      unimpl_tests/com/sun/jdotck/lifecycle/NavigationOutsideTransaction.java 
Easy to test

Sorry, I don't know what this assetion means.

----------------------------------------------------------------------

A5.6-7  Persistent-Nontransactional (Optional) state:With NontransactionalRead 
set to true: A5.6-7 [ When a managed, non-key field of a hollow instance is 
read outside a transaction, the instance transitions to 
persistent-nontransactional.]        Optional                yes     
lifecycle/StateTransitions.java 

Should be marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

----------------------------------------------------------------------

A5.6-8  Persistent-Nontransactional (Optional) state:With NontransactionalRead 
set to true: A5.6-8 [ If a persistent-clean instance is the parameter of 
makeNontransactional, the instance transitions to persistent-nontransactional.] 
Optional                yes     lifecycle/StateTransitions.java 

Should be marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

----------------------------------------------------------------------

A5.6-9  Persistent-Nontransactional (Optional) state: With 
NontransactionalWrite set to true: • A5.6-9 [ Modification of 
persistent-nontransactional instances is permitted outside a transaction. The 
changes do not participate in any subsequent transaction.]       Optional       
         yes     
lifecycle/nontransactional/ModificationOfNontransactionalInstanceOutsideTransaction.java
        

The first sentence (state-transition) is a DUPLICATE A5.9-1..A5.9-190,
and tested by StateTransitions.java, but the second sentence is not.

----------------------------------------------------------------------

A5.6-10         Persistent-Nontransactional (Optional) state: With RetainValues 
set to true: • At commit, A5.6-10 [ persistent-clean], A5.6-11 [ 
persistent-new], and A5.6-12 [persistent-dirty] instances transition to 
persistent-nontransactional.   Optional                yes     
lifecycle/StateTransitions.java 
A5.6-11 Persistent-Nontransactional (Optional) state: With RetainValues set to 
true: • At commit, A5.6-10 [ persistent-clean], A5.6-11 [ persistent-new], and 
A5.6-12 [persistent-dirty] instances transition to persistent-nontransactional. 
  Optional                yes     lifecycle/StateTransitions.java 

A5.6-12 Persistent-Nontransactional (Optional) state: With RetainValues set to 
true: • At commit, A5.6-10 [ persistent-clean], A5.6-11 [ persistent-new], and 
A5.6-12 [persistent-dirty] instances transition to persistent-nontransactional. 
  Optional                yes     lifecycle/StateTransitions.java 

Should be marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

Want to merge these assertions into one spreadsheet row? (as with others)

----------------------------------------------------------------------

A5.6-13 Persistent-Nontransactional (Optional) state: A5.6-13 [With 
RetainValues set to true ... At rollback, persistent-clean instances transition 
to persistent-nontransactional.]    Optional                yes     
lifecycle/StateTransitions.java REMOVE THIS ASSERTION. DUPLICATE OF A5.6-20

----------------------------------------------------------------------

A5.6-14 Persistent-Nontransactional (Optional) state: A5.6-14 [With 
RetainValues set to true ... At rollback, persistent-dirty instances transition 
to persistent-nontransactional and the state of their fields as of the 
beginning of the transaction is restored.]   Optional                yes     
lifecycle/StateTransitions.java REMOVE THIS ASSERTION. DUPLICATE OF A5.6-21

----------------------------------------------------------------------

A5.6-16, A5.6-17, A5.6-18       Persistent-Nontransactional (Optional) state: 
With RestoreValues set to true: • If the JDO implementation does not support 
persistent-nontransactional instances, at rollback A5.6-16 
[persistent-deleted], A5.6-17 [persistent-clean] and A5.6-18 [persistent-dirty] 
instances transition to hollow.   Optional                yes     
lifecycle/StateTransitions.java 

Don't think the case
  persistent-nontransactional = not supported
is DUPLICATE A5.9-1..A5.9-190. It appears it's NOT tested by
StateTransitions.java, which assumes support for
persistent-nontransactional.

----------------------------------------------------------------------

A5.6-19, A5.6-20, A5.6-21       Persistent-Nontransactional (Optional) state: 
With RestoreValues set to true: If the JDO implementation supports 
persistent-nontransactional instances, at rollback A5.6-19 
[persistent-deleted], A5.6-20 [persistent-clean] and A5.6-21 [persistent-dirty] 
instances transition to persistent-nontransactional.        Optional            
    yes     lifecycle/StateTransitions.java 

Slightly misleading language: the state actually remains unchanged.

Should be marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

----------------------------------------------------------------------

A5.6.1-4        Persistent-Nontransactional (Optional) state: As long as a 
transaction is not in progress: •ifNontransactionalRead is true, A5.6.1-4 [ 
persistent field values might be retrieved from the datastore by the 
PersistenceManager]; •ifNontransactionalWrite is true, the application might 
make changes to the persistent field values in the instance, and • A5.6.1-3 [ 
There is no state change associated with either of the above operations.]       
 Optional                yes     lifecycle/StateTransitions.java Sufficient 
with test in StateTransitions.java

A5.6.1-3        Persistent-Nontransactional (Optional) state: As long as a 
transaction is not in progress: •ifNontransactionalRead is true, A5.6.1-4 [ 
persistent field values might be retrieved from the datastore by the 
PersistenceManager]; •ifNontransactionalWrite is true, the application might 
make changes to the persistent field values in the instance, and • A5.6.1-3 [ 
There is no state change associated with either of the above operations.]       
 Optional                yes     lifecycle/StateTransitions.java Sufficient 
with test in StateTransitions.java

Should be marked as DUPLICATE A5.9-1..A5.9-190, so I'd remove (redundant)
entries "yes" and "lifecycle/StateTransitions.java".

Want to merge these assertions into one spreadsheet row? (as with others)

----------------------------------------------------------------------

A5.6.1-5        Persistent-Nontransactional (Optional) state: A5.6.1-5 [ A 
persistent-nontransactional instance transitions to persistent-clean if it is 
the parameter of a makeTransactional method executed when a transaction is in 
progress. The state of the instance in memory is discarded (cleared) and the 
state is loaded from the datastore.]        Optional                yes     
lifecycle/StateTransitions.java Sufficient with test in StateTransitions.java

Only the first sentence (state-transition) is a DUPLICATE A5.9-1..A5.9-190,
and tested by StateTransitions.java, but the second sentence is not.

----------------------------------------------------------------------

A5.6.1-6        Persistent-Nontransactional (Optional) state: A5.6.1-6 [ 
Apersistent-nontransactional instance transitions to persistent-clean if any 
managed field is accessed when a datastore transaction is in progress. The 
state of the instance in memory is discarded and the state is loaded from the 
datastore.]      Optional                yes     
lifecycle/StateTransitions.java Sufficient with test in StateTransitions.java

Only the first sentence (state-transition) is a DUPLICATE A5.9-1..A5.9-190,
and tested by StateTransitions.java, but the second sentence is not.

----------------------------------------------------------------------

A5.6.1-7        Persistent-Nontransactional (Optional) state: A5.6.1-7 [ A 
persistent-nontransactional instance transitions to persistent-dirty if any 
managed field is written when a transaction is in progress. The state of the 
instance in memory is saved for use during rollback, and the state is loaded 
from the datastore. Then the change is applied.]       Optional                
yes     lifecycle/StateTransitions.java Not checking that state is saved for 
rollback

Correct, only the first sentence (state-transition) is a
DUPLICATE A5.9-1..A5.9-190, and tested by StateTransitions.java,
but the second sentence is not.

----------------------------------------------------------------------

A5.6.1-8        Persistent-Nontransactional (Optional) state: A5.6.1-8 [ A 
persistent-nontransactional instance transitions to persistent-deleted if it is 
the parameter of deletePersistent. The state of the instance in memory is saved 
for use during rollback.]    Optional                yes     
lifecycle/StateTransitions.java Sufficient with test in StateTransitions.java

Only the first sentence (state-transition) is a DUPLICATE A5.9-1..A5.9-190,
and tested by StateTransitions.java, but the second sentence is not!

----------------------------------------------------------------------

Reply via email to