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

Michelle Caisse commented on JDO-509:
-------------------------------------

Things have changed a bit since this bug was filed. There is now another 
enhancement error which may or may not be the same bug.

To reproduce,
1. Do an svn update.
-2. Edit tck2/project.properties. Near the bottom of the file delete the blank 
line followed by "#Add these when jpox supports..."
3.  Run the tck, e.g. maven 
-Djdo.tck.cfglist=companyPIAnnotatedNoRelationships.conf runtck.jdori

I now see:

    [java] An error was encountered reading the specified input files. Please 
consult the log for details. The following may help : Field "null.address" is 
of type "org.apache.jdo.tck.pc.company.IAddress" yet has been specified as 
embedded.
 JPOX doesnt support embedding of this type. Your embedded type must be 
PersistenceCapable.

When this problem is fixed, enhancement should be tested when 
company.PICompany.java has been edited to remove all of the method definitions, 
which should be inherited from ICompany. When the enhancement issues are 
resolved, all PI* need to have the method definitions removed.

> Enhancement failure on persistent interface that extends non-persistent 
> interface
> ---------------------------------------------------------------------------------
>
>                 Key: JDO-509
>                 URL: https://issues.apache.org/jira/browse/JDO-509
>             Project: JDO
>          Issue Type: Bug
>          Components: tck2
>            Reporter: Michelle Caisse
>            Assignee: Andy Jefferson
>             Fix For: JDO 2 maintenance release 1
>
>
> Imagine that the existing interface company.ICompany is not persistent and 
> there is a new interface company.PICompany that extends ICompany. Existing 
> xml metadata is modified to refer to PICompany rather than ICompany. On 
> enhancement, we get the error below.  Craig suggests that using the 
> reflective "getDeclaredMethod" instead of the reflective  "getMethod" could 
> give this error. These are changes that we would like to check in for the 2.1 
> maintenance release.
>    [java] An error was encountered reading the specified input files. Please 
> consult the log for details. The following may help : Class 
> org.apache.jdo.tck.pc.
> company.IPCompany has property null.companyid declared in MetaData, but this 
> method doesnt exist in the class!
>    [java] Exception in thread "main" Class 
> org.apache.jdo.tck.pc.company.IPCompany has property null.companyid declared 
> in MetaData, but this method doesnt exist in the class!
>    [java] org.jpox.metadata.InvalidMetaDataException: Class 
> org.apache.jdo.tck.pc.company.IPCompany has property null.companyid declared 
> in MetaData, but this method doesnt exist in the class!
>    [java]      at 
> org.jpox.metadata.InterfaceMetaData.populatePropertyMetaData(InterfaceMetaData.java:538)
>    [java]      at 
> org.jpox.metadata.InterfaceMetaData.populate(InterfaceMetaData.java:436)
>    [java]      at 
> org.jpox.metadata.MetaDataManager.populateFileMetaData(MetaDataManager.java:1590)
>    [java]      at 
> org.jpox.metadata.JDOMetaDataManager.loadMetaDataForClass(JDOMetaDataManager.java:615)
>    [java]      at 
> org.jpox.metadata.JDOMetaDataManager.getMetaDataForClassInternal(JDOMetaDataManager.java:308)
>    [java]      at 
> org.jpox.metadata.AbstractClassMetaData.determineSuperClassName(AbstractClassMetaData.java:618)
>    [java]      at 
> org.jpox.metadata.InterfaceMetaData.populate(InterfaceMetaData.java:421)
>    [java]      at 
> org.jpox.metadata.MetaDataManager.populateFileMetaData(MetaDataManager.java:1590)
>    [java]      at 
> org.jpox.metadata.MetaDataManager.initialise(MetaDataManager.java:313)
>    [java]      at 
> org.jpox.enhancer.JPOXEnhancer.getFileMetaDataForInput(JPOXEnhancer.java:716)
>    [java]      at org.jpox.enhancer.JPOXEnhancer.main(JPOXEnhancer.java:531) 

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

Reply via email to