You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-dev@db.apache.org by "Michelle Caisse (JIRA)" <ji...@apache.org> on 2007/02/16 20:30:05 UTC

[jira] Commented: (JDO-453) Create a test for illegal arguments for PersistenceManager.newInstance

    [ https://issues.apache.org/jira/browse/JDO-453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12473796 ] 

Michelle Caisse commented on JDO-453:
-------------------------------------

>From the spec (assertion numbers need to be added):

Object newInstance(Class persistenceCapable);

A12.6.6-1 [The parameter must be one of the following:
-  an abstract class that is declared in the metadata as persistence-capable, in which all abstract methods are declared as persistent properties, or 
-  an interface that is declared in the metadata as persistence-capable, in which all methods are declared as persistent properties, or
-  a concrete class that is declared in the metadata as persistence-capable. In this case, the concrete class must declare a public no-args constructor.

If the parameter does not satisfy the above requirements, JDOUserException is thrown.]
...
A12.6.6-2 [In order for the newInstance method to be used, the parameter interface must be completely mapped. For relational implementations, the interface must be mapped to a table and all persistent properties must be mapped to columns. Additionally, interfaces that are the targets of all relationships from persistent properties must also be mapped. Otherwise, JDOUserException is thrown by the newInstance method.]

> Create a test for illegal arguments for PersistenceManager.newInstance
> ----------------------------------------------------------------------
>
>                 Key: JDO-453
>                 URL: https://issues.apache.org/jira/browse/JDO-453
>             Project: JDO
>          Issue Type: Test
>          Components: tck2, tck2-legacy
>    Affects Versions: JDO 2 final
>            Reporter: Craig Russell
>         Assigned To: Michelle Caisse
>             Fix For: JDO 2 maintenance release 1
>
>
> New test cases are needed for illegal arguments of newInstance. 
> One strategy is to define classes in a new package along with metadata, but no mapping (since these are error classes). A new test should try to instantiate the classes using the newInstance method and verify that JDOUserException is thrown.
> Classes to test include:
> Abstract class with abstract method not declared as a property (missing metadata for the method)
> Interface with method not declared as a property (missing metadata for the method)
> Concrete class with missing public no-args constructor

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.