db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andy Jefferson (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JDO-509) Enhancement failure on persistent interface that extends non-persistent interface
Date Mon, 23 Jul 2007 17:36:31 GMT

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

Andy Jefferson commented on JDO-509:
------------------------------------

Hi Michelle,
I don't understand the current situation. Have you checked in some persistent classes that
causes large numbers of TCK tests to fail, because now there are many tests (19) with errors
with that issue above. This means that I can't reliably use the TCK as a way of judging compliance
with anything else.
For example, 
companyNoRelationships.conf
gives
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.
    [java] org.jpox.metadata.InvalidMetaDataException: 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.
    [java]      at org.jpox.metadata.EmbeddedMetaData.populate(EmbeddedMetaData.java:141)
    [java]      at org.jpox.metadata.AbstractPropertyMetaData.populate(AbstractPropertyMetaData.java:915)
    [java]      at org.jpox.metadata.InterfaceMetaData.populatePropertyMetaData(InterfaceMetaData.java:527)
    [java]      at org.jpox.metadata.InterfaceMetaData.populate(InterfaceMetaData.java:424)
    [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.MetaDataManager.getMetaDataForClass(MetaDataManager.java:772)
    [java]      at org.jpox.ObjectManagerImpl.hasPersistenceInformationForClass(ObjectManagerImpl.java:3226)
    [java]      at org.jpox.ObjectManagerImpl.assertClassPersistable(ObjectManagerImpl.java:3120)
    [java]      at org.jpox.ObjectManagerImpl.persistObjectInternal(ObjectManagerImpl.java:1024)
    [java]      at org.jpox.ObjectManagerImpl.persistObject(ObjectManagerImpl.java:987)
    [java]      at org.jpox.AbstractPersistenceManager.jdoMakePersistent(AbstractPersistenceManager.java:589)
    [java]      at org.jpox.AbstractPersistenceManager.makePersistentAll(AbstractPersistenceManager.java:643)
    [java]      at org.apache.jdo.tck.mapping.CompletenessTest.localSetUp(CompletenessTest.java:79)
    [java]      at org.apache.jdo.tck.JDO_Test.setUp(JDO_Test.java:237)
    [java]      at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:253)



I also get several with things like
java.lang.RuntimeException: Unable to construct CompanyFactory org.apache.jdo.tck.pc.company.CompanyFactoryAnnotatedFCPMDelegator
    [java]      at org.apache.jdo.tck.pc.company.CompanyFactoryRegistry.registerFactory(CompanyFactoryRegistry.java:128)
    [java]      at org.apache.jdo.tck.pc.company.CompanyFactoryRegistry.registerFactory(CompanyFactoryRegistry.java:105)
    [java]      at org.apache.jdo.tck.mapping.CompletenessTest.localSetUp(CompletenessTest.java:73)
    [java]      at org.apache.jdo.tck.JDO_Test.setUp(JDO_Test.java:237)
    [java]      at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:253)
    [java]      at org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:108)
    [java]      at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:148)
    [java]      at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:123)
    [java] Caused by: java.lang.ClassNotFoundException: org.apache.jdo.tck.pc.company.CompanyFactoryAnnotatedFCPMDelegator

> 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.


Mime
View raw message