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

Craig Russell commented on JDO-509:
-----------------------------------

It looks like the factory CompanyFactoryPMInterface has the wrong teardown 
classes (left over from when it was persisting ICompany etc.). 
    public static final Class[] tearDownClasses = new Class[] {
        IDentalInsurance.class, IMedicalInsurance.class,
        IPartTimeEmployee.class, IFullTimeEmployee.class,  
        IProject.class, IDepartment.class, ICompany.class
    };

These should be PICompany.class etc. since the ICompany.class etc. have no 
extent and cannot be deleted.

> 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: Michelle Caisse
>             Fix For: JDO 2 maintenance release 1
>
>         Attachments: company_ds_jdo.patch
>
>
> 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