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/07/12 03:00:32 UTC

[jira] Created: (JDO-509) Enhancement failure on persistent interface that extends non-persistent interface

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.


[jira] Commented: (JDO-509) Enhancement failure on persistent interface that extends non-persistent interface

Posted by "Michelle Caisse (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JDO-509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12516175 ] 

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

I've committed the changes in the updated patch.  I hand-edited the changes, so I hope I didn't miss anything.

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


[jira] Commented: (JDO-509) Enhancement failure on persistent interface that extends non-persistent interface

Posted by "Michelle Caisse (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JDO-509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12515421 ] 

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

I've added the field type metadata (revision: 559609).  I new see the following error:

javax.jdo.JDOUserException: One or more instances could not be made persistent
	at org.jpox.AbstractPersistenceManager.makePersistentAll(AbstractPersistenceManager.java:657)
	at org.apache.jdo.tck.mapping.CompletenessTest.localSetUp(CompletenessTest.java:79)
	at org.apache.jdo.tck.JDO_Test.setUp(JDO_Test.java:237)
	at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:253)
	at junit.framework.TestResult$1.protect(TestResult.java:106)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.framework.TestResult.run(TestResult.java:109)
	at junit.framework.TestCase.run(TestCase.java:118)
	at junit.framework.TestSuite.runTest(TestSuite.java:208)
	at junit.framework.TestSuite.run(TestSuite.java:203)
	at junit.textui.TestRunner.doRun(TestRunner.java:116)
	at org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:108)
	at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:148)
	at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:123)
NestedThrowablesStackTrace:
javax.jdo.JDODataStoreException: Insert of object "org.apache.jdo.tck.pc.companyAnnotatedPI.PIAppDepartmentImpl@749436" using statement "INSERT INTO applicationidentity0.DEPARTMENTS ("NAME",ID,DISCRIMINATOR,DEPARTMENTS_ID_OWN) VALUES (?,?,?,?)" failed : 'DEPARTMENTS_ID_OWN' is not a column in table or VTI 'APPLICATIONIDENTITY0.DEPARTMENTS'.
	at org.jpox.jdo.JPOXJDOHelper.getJDOExceptionForJPOXException(JPOXJDOHelper.java:283)
	at org.jpox.AbstractPersistenceManager.jdoMakePersistent(AbstractPersistenceManager.java:594)
	at org.jpox.AbstractPersistenceManager.makePersistentAll(AbstractPersistenceManager.java:643)
	at org.apache.jdo.tck.mapping.CompletenessTest.localSetUp(CompletenessTest.java:79)
	at org.apache.jdo.tck.JDO_Test.setUp(JDO_Test.java:237)
	at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:253)
	at junit.framework.TestResult$1.protect(TestResult.java:106)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.framework.TestResult.run(TestResult.java:109)
	at junit.framework.TestCase.run(TestCase.java:118)
	at junit.framework.TestSuite.runTest(TestSuite.java:208)
	at junit.framework.TestSuite.run(TestSuite.java:203)
	at junit.textui.TestRunner.doRun(TestRunner.java:116)
	at org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:108)
	at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:148)
	at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:123)
NestedThrowablesStackTrace:
ERROR 42X14: 'DEPARTMENTS_ID_OWN' is not a column in table or VTI 'APPLICATIONIDENTITY0.DEPARTMENTS'.
	at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
	at org.apache.derby.impl.sql.compile.ResultColumn.bindResultColumnByName(Unknown Source)
	at org.apache.derby.impl.sql.compile.ResultColumnList.bindResultColumnsByName(Unknown Source)
	at org.apache.derby.impl.sql.compile.InsertNode.bind(Unknown Source)
	at org.apache.derby.impl.sql.GenericStatement.prepMinion(Unknown Source)
	at org.apache.derby.impl.sql.GenericStatement.prepare(Unknown Source)
	at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(Unknown Source)
	at org.apache.derby.jdbc.Driver30.newEmbedPreparedStatement(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source)
	at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source)
	at com.mchange.v2.c3p0.impl.NewProxyConnection.prepareStatement(NewProxyConnection.java:190)
	at org.jpox.store.rdbms.SQLController.getStatementForUpdate(SQLController.java:211)
	at org.jpox.store.rdbms.request.InsertRequest.execute(InsertRequest.java:238)
	at org.jpox.store.rdbms.table.ClassTable.insert(ClassTable.java:2658)
	at org.jpox.store.MappedStoreManager.insertObject(MappedStoreManager.java:177)
	at org.jpox.state.JDOStateManagerImpl.internalMakePersistent(JDOStateManagerImpl.java:2955)
	at org.jpox.state.JDOStateManagerImpl.makePersistent(JDOStateManagerImpl.java:2935)
	at org.jpox.ObjectManagerImpl.persistObjectInternal(ObjectManagerImpl.java:1088)
	at org.jpox.ObjectManagerImpl.persistObject(ObjectManagerImpl.java:987)
	at org.jpox.AbstractPersistenceManager.jdoMakePersistent(AbstractPersistenceManager.java:589)
	at org.jpox.AbstractPersistenceManager.makePersistentAll(AbstractPersistenceManager.java:643)
	at org.apache.jdo.tck.mapping.CompletenessTest.localSetUp(CompletenessTest.java:79)
	at org.apache.jdo.tck.JDO_Test.setUp(JDO_Test.java:237)
	at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:253)
	at junit.framework.TestResult$1.protect(TestResult.java:106)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.framework.TestResult.run(TestResult.java:109)
	at junit.framework.TestCase.run(TestCase.java:118)
	at junit.framework.TestSuite.runTest(TestSuite.java:208)
	at junit.framework.TestSuite.run(TestSuite.java:203)
	at junit.textui.TestRunner.doRun(TestRunner.java:116)
	at org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:108)
	at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:148)
	at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:123)
...

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


[jira] Commented: (JDO-509) Enhancement failure on persistent interface that extends non-persistent interface

Posted by "Craig Russell (JIRA)" <ji...@apache.org>.
    [ 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.


[jira] Commented: (JDO-509) Enhancement failure on persistent interface that extends non-persistent interface

Posted by "Michelle Caisse (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JDO-509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12514484 ] 

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

The configuration file has been renamed to companyAnnotatedNoRelationshipsPIPM.conf

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


[jira] Commented: (JDO-509) Enhancement failure on persistent interface that extends non-persistent interface

Posted by "Michelle Caisse (JIRA)" <ji...@apache.org>.
    [ 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.


[jira] Resolved: (JDO-509) Enhancement failure on persistent interface that extends non-persistent interface

Posted by "Andy Jefferson (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JDO-509?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andy Jefferson resolved JDO-509.
--------------------------------

    Resolution: Fixed

Think this issue is now resolved. All PI tests pass for me

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


[jira] Updated: (JDO-509) Enhancement failure on persistent interface that extends non-persistent interface

Posted by "Andy Jefferson (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JDO-509?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andy Jefferson updated JDO-509:
-------------------------------

    Attachment: company_ds_jdo.patch

Patch for package.jdo under pc/company to add in missing <property> lines for persistent properties

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


[jira] Commented: (JDO-509) Enhancement failure on persistent interface that extends non-persistent interface

Posted by "Andy Jefferson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JDO-509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12513203 ] 

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

And how do I reproduce this ?

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


[jira] Commented: (JDO-509) Enhancement failure on persistent interface that extends non-persistent interface

Posted by "Andy Jefferson (JIRA)" <ji...@apache.org>.
    [ 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.


[jira] Updated: (JDO-509) Enhancement failure on persistent interface that extends non-persistent interface

Posted by "Andy Jefferson (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JDO-509?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andy Jefferson updated JDO-509:
-------------------------------

    Attachment:     (was: company_ds_jdo.patch)

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


[jira] Commented: (JDO-509) Enhancement failure on persistent interface that extends non-persistent interface

Posted by "Michelle Caisse (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JDO-509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12516174 ] 

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

Thanks for the patch.  I've checked it in.

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


[jira] Commented: (JDO-509) Enhancement failure on persistent interface that extends non-persistent interface

Posted by "Andy Jefferson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JDO-509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12514720 ] 

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

Wish I hadn't done that svn update now.
src/conf/configurations.list
refers to
companyFCAnnotatedNoRelationships.conf (and others)
yet this doesn't exist now.

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


[jira] Commented: (JDO-509) Enhancement failure on persistent interface that extends non-persistent interface

Posted by "Michelle Caisse (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JDO-509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12514723 ] 

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

Good catch, thanks.  I've checked in the fix.

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


[jira] Assigned: (JDO-509) Enhancement failure on persistent interface that extends non-persistent interface

Posted by "Andy Jefferson (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JDO-509?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andy Jefferson reassigned JDO-509:
----------------------------------

    Assignee: Michelle Caisse  (was: Andy Jefferson)

Latest JPOX CVS HEAD passes "companyPMInterface" (this test but using XML) with the new structure. The only problem is that that test doesn't seem to clean out its data after running.

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


[jira] Commented: (JDO-509) Enhancement failure on persistent interface that extends non-persistent interface

Posted by "Michelle Caisse (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JDO-509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12514709 ] 

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

Hi Andy,

I think an svn update should solve these problems. Some factory classes 
were moved and I did a check-in yesterday to fix the .conf files to 
reflect the new location.

-- Michelle


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


[jira] Commented: (JDO-509) Enhancement failure on persistent interface that extends non-persistent interface

Posted by "Andy Jefferson (JIRA)" <ji...@apache.org>.
    [ 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.


[jira] Commented: (JDO-509) Enhancement failure on persistent interface that extends non-persistent interface

Posted by "Michelle Caisse (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JDO-509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12514742 ] 

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

Okay, I will set the fieldType.

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


[jira] Commented: (JDO-509) Enhancement failure on persistent interface that extends non-persistent interface

Posted by "Andy Jefferson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JDO-509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12516019 ] 

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

All of this is caused by the change in the model. The fact is that you now are trying to embed an interface type that is not persistent (neither PersistenceCapable, nor "persistent-interface"). Ok, you are specifying "field-type" but sadly JPOX doesn't cater for that (my previous fix was a guess since I didn't write support for PI's and turns out that it only worked around metadata consistency issues). JPOX's handling of "persistent-interface" is for use of relation fields that are either PC or persistent-interface only.

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


[jira] Updated: (JDO-509) Enhancement failure on persistent interface that extends non-persistent interface

Posted by "Andy Jefferson (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JDO-509?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andy Jefferson updated JDO-509:
-------------------------------

    Attachment: company_ds_jdo.patch

Updated patch for datastoreidentity pc/company/package.jdo to fix collection fields with wrong element-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
>
>         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.


[jira] Commented: (JDO-509) Enhancement failure on persistent interface that extends non-persistent interface

Posted by "Michelle Caisse (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JDO-509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12514703 ] 

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

Yes, I get the same error. I think this is the result of the change where now everything implements nonpersistent interfaces ICompany, IAddress, etc. These were persistent before. Now there is a new set of persistent interfaces PI* which are used in tests of persistent interfaces.

I will take a look at the "Unable to construct CompanyFactory..." problem.

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