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 19:08:31 GMT

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

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

Thx. 
Taking the actual issue a little further, you're overriding the field types of some of the
methods with the PIXXX variant and that is the actual issue - all previous persistent-interface
samples did nothing of the sort. Once I update JPOX to use that value it goes past the PICompany
message and comes to PIPerson which has "address" declared as IAddress and the jdo file does
nothing to set the "fieldType" so get the message

org.jpox.metadata.InvalidMetaDataException: Field "org.apache.jdo.tck.pc.company.PIPerson.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"

i.e you must define the fieldType or have a PC/persistent-interface type as the method type.

> 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