Issue Details (XML | Word | Printable)

Key: JDO-327
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Erik Bengtson
Reporter: Craig Russell
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
JDO

JPOX fails to create new instance of PC class via pm.newInstance(PCInterface)

Created: 04/Mar/06 05:07 AM   Updated: 01/May/06 10:30 PM
Return to search
Component/s: tck2
Affects Version/s: JDO 2 rc1
Fix Version/s: JDO 2 final

Time Tracking:
Not Specified

File Attachments:
  Size
Java Archive File jpox-1.1.0.jar 2006-04-30 02:18 AM Erik Bengtson 1.61 MB
Java Archive File jpox-enhancer-1.1.0.jar 2006-04-30 02:19 AM Erik Bengtson 157 kB

Resolution Date: 01/May/06 10:30 PM


 Description  « Hide
This is a new test for persistent interfaces. JPOX fails while obtaining metadata for the persistent interface IAddress.

IAddress newAddress() {
    return (IAddress)pm.newInstance(IAddress.class);
}

maven -o -Djdo.tck.cfglist=companyPMInterface.conf runtck.jdori

    [java] RUN CompletenessTest.test ERROR
    [java] Description: Completeness test with standard mapping, basic testdata with all relationships and embedded objects.
    [java] Time: 009
    [java] There was 1 error:
    [java] 1) test(org.apache.jdo.tck.mapping.CompletenessTest)org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'root' defined in class path resource [org/apache/jdo/tck/pc/company/companyAllRelationships.xml]: Can't resolve reference to bean 'company1' while setting property 'constructor argument with index 0[0]'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'company1' defined in class path resource [org/apache/jdo/tck/pc/company/companyAllRelationships.xml]: Can't resolve reference to bean 'addr1' while setting property 'constructor argument with index 3'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'addr1' defined in class path resource [org/apache/jdo/tck/pc/company/companyAllRelationships.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public org.apache.jdo.tck.pc.company.IAddress org.apache.jdo.tck.pc.company.CompanyFactoryAbstractImpl.newAddress(long,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)] threw exception; nested exception is javax.jdo.JDOException: Cannot read the JDO Meta-Data file "<input stream> java.lang.ClassCastException: org.jpox.metadata.EmbeddedMetaData"
    [java] org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'company1' defined in class path resource [org/apache/jdo/tck/pc/company/companyAllRelationships.xml]: Can't resolve reference to bean 'addr1' while setting property 'constructor argument with index 3'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'addr1' defined in class path resource [org/apache/jdo/tck/pc/company/companyAllRelationships.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public org.apache.jdo.tck.pc.company.IAddress org.apache.jdo.tck.pc.company.CompanyFactoryAbstractImpl.newAddress(long,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)] threw exception; nested exception is javax.jdo.JDOException: Cannot read the JDO Meta-Data file "<input stream> java.lang.ClassCastException: org.jpox.metadata.EmbeddedMetaData"
    [java] org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'addr1' defined in class path resource [org/apache/jdo/tck/pc/company/companyAllRelationships.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public org.apache.jdo.tck.pc.company.IAddress org.apache.jdo.tck.pc.company.CompanyFactoryAbstractImpl.newAddress(long,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)] threw exception; nested exception is javax.jdo.JDOException: Cannot read the JDO Meta-Data file "<input stream> java.lang.ClassCastException: org.jpox.metadata.EmbeddedMetaData"
    [java] org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public org.apache.jdo.tck.pc.company.IAddress org.apache.jdo.tck.pc.company.CompanyFactoryAbstractImpl.newAddress(long,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)] threw exception; nested exception is javax.jdo.JDOException: Cannot read the JDO Meta-Data file "<input stream> java.lang.ClassCastException: org.jpox.metadata.EmbeddedMetaData"
    [java] javax.jdo.JDOException: Cannot read the JDO Meta-Data file "<input stream> java.lang.ClassCastException: org.jpox.metadata.EmbeddedMetaData"
    [java] at org.jpox.metadata.MetaDataParser.parseMetaDataStream(MetaDataParser.java:174)
    [java] at org.jpox.metadata.MetaDataParser.parseMetaData(MetaDataParser.java:107)
    [java] at org.jpox.metadata.MetaDataManager.parseFile(MetaDataManager.java:1131)
    [java] at org.jpox.metadata.MetaDataManager.loadMetaDataForClass(MetaDataManager.java:1319)
    [java] at org.jpox.metadata.MetaDataManager.addORMDataToClass(MetaDataManager.java:644)
    [java] at org.jpox.metadata.ClassMetaData.populate(ClassMetaData.java:429)
    [java] at org.jpox.metadata.MetaDataManager.populateClassesInFile(MetaDataManager.java:1211)
    [java] at org.jpox.metadata.MetaDataManager.loadMetaDataForClass(MetaDataManager.java:1325)
    [java] at org.jpox.metadata.MetaDataManager.getMetaDataForClassOrInterface(MetaDataManager.java:503)
    [java] at org.jpox.metadata.MetaDataManager.getMetaDataForInterface(MetaDataManager.java:392)
    [java] at org.jpox.AbstractPersistenceManager.newInstance(AbstractPersistenceManager.java:2250)
    [java] at org.apache.jdo.tck.pc.company.CompanyFactoryPMInterface.newAddress(CompanyFactoryPMInterface.java:38)
    [java] at org.apache.jdo.tck.pc.company.CompanyFactoryAbstractImpl.newAddress(CompanyFactoryAbstractImpl.java:46)
    [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [java] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:102)
    [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:573)
    [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:325)
    [java] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
    [java] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
    [java] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:176)
    [java] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:105)
    [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveConstructorArguments(AbstractAutowireCapableBeanFactory.java:705)
    [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:486)
    [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:325)
    [java] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
    [java] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
    [java] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:176)
    [java] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:105)
    [java] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:193)
    [java] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)
    [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveConstructorArguments(AbstractAutowireCapableBeanFactory.java:705)
    [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:611)
    [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:329)
    [java] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
    [java] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
    [java] at org.apache.jdo.tck.pc.company.CompanyModelReader.getRootList(CompanyModelReader.java:101)
    [java] at org.apache.jdo.tck.mapping.CompletenessTest.localSetUp(CompletenessTest.java:95)
    [java] at org.apache.jdo.tck.JDO_Test.setUp(JDO_Test.java:187)
    [java] at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:203)
    [java] at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:120)
    [java] at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:95)
    [java] NestedThrowablesStackTrace:
    [java] java.lang.ClassCastException: org.jpox.metadata.EmbeddedMetaData
    [java] at org.jpox.metadata.MetaDataParser.startElement(MetaDataParser.java:466)
    [java] at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:533)
    [java] at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:220)
    [java] at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:872)
    [java] at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1693)
    [java] at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
    [java] at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
    [java] at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
    [java] at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
    [java] at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242)
    [java] at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
    [java] at javax.xml.parsers.SAXParser.parse(SAXParser.java:176)
    [java] at org.jpox.metadata.MetaDataParser.parseMetaDataStream(MetaDataParser.java:162)
    [java] at org.jpox.metadata.MetaDataParser.parseMetaData(MetaDataParser.java:107)
    [java] at org.jpox.metadata.MetaDataManager.parseFile(MetaDataManager.java:1131)
    [java] at org.jpox.metadata.MetaDataManager.loadMetaDataForClass(MetaDataManager.java:1319)
    [java] at org.jpox.metadata.MetaDataManager.addORMDataToClass(MetaDataManager.java:644)
    [java] at org.jpox.metadata.ClassMetaData.populate(ClassMetaData.java:429)
    [java] at org.jpox.metadata.MetaDataManager.populateClassesInFile(MetaDataManager.java:1211)
    [java] at org.jpox.metadata.MetaDataManager.loadMetaDataForClass(MetaDataManager.java:1325)
    [java] at org.jpox.metadata.MetaDataManager.getMetaDataForClassOrInterface(MetaDataManager.java:503)
    [java] at org.jpox.metadata.MetaDataManager.getMetaDataForInterface(MetaDataManager.java:392)
    [java] at org.jpox.AbstractPersistenceManager.newInstance(AbstractPersistenceManager.java:2250)
    [java] at org.apache.jdo.tck.pc.company.CompanyFactoryPMInterface.newAddress(CompanyFactoryPMInterface.java:38)
    [java] at org.apache.jdo.tck.pc.company.CompanyFactoryAbstractImpl.newAddress(CompanyFactoryAbstractImpl.java:46)
    [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [java] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:102)
    [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:573)
    [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:325)
    [java] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
    [java] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
    [java] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:176)
    [java] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:105)
    [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveConstructorArguments(AbstractAutowireCapableBeanFactory.java:705)
    [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:486)
    [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:325)
    [java] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
    [java] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
    [java] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:176)
    [java] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:105)
    [java] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:193)
    [java] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)
    [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveConstructorArguments(AbstractAutowireCapableBeanFactory.java:705)
    [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:611)
    [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:329)
    [java] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
    [java] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
    [java] at org.apache.jdo.tck.pc.company.CompanyModelReader.getRootList(CompanyModelReader.java:101)
    [java] at org.apache.jdo.tck.mapping.CompletenessTest.localSetUp(CompletenessTest.java:95)
    [java] at org.apache.jdo.tck.JDO_Test.setUp(JDO_Test.java:187)
    [java] at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:203)
    [java] at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:120)
    [java] at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:95)
    [java] FAILURES!!!


 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Erik Bengtson added a comment - 14/Mar/06 11:50 PM
After changing JPOX, now I have this error. If I execute pm.newInstance(IDentalInsurance) out of the spring, it works. I have no ideas now.


RUN CompletenessTest.test ERROR
Description: Completeness test with standard mapping, basic testdata with all relationships and embedded objects.
Time: 005
There was 1 error:
1) test(org.apache.jdo.tck.mapping.CompletenessTest)org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'root' defined in class path resource [org/apache/jdo/tck/pc/company/companyAllRelationships.xml]: Can't resolve reference to bean 'company1' while setting property 'constructor argument with index 0[0]'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'company1' defined in class path resource [org/apache/jdo/tck/pc/company/companyAllRelationships.xml]: Can't resolve reference to bean 'dept1' while setting property 'departments[0]'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dept1' defined in class path resource [org/apache/jdo/tck/pc/company/companyAllRelationships.xml]: Can't resolve reference to bean 'emp1' while setting property 'employees[0]'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'emp1' defined in class path resource [org/apache/jdo/tck/pc/company/companyAllRelationships.xml]: Can't resolve reference to bean 'dentalIns1' while setting property 'dentalInsurance'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dentalIns1' defined in class path resource [org/apache/jdo/tck/pc/company/companyAllRelationships.xml]: Factory method 'newDentalInsurance' on class [org.apache.jdo.tck.pc.company.CompanyFactoryPMInterface] returned null
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'company1' defined in class path resource [org/apache/jdo/tck/pc/company/companyAllRelationships.xml]: Can't resolve reference to bean 'dept1' while setting property 'departments[0]'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dept1' defined in class path resource [org/apache/jdo/tck/pc/company/companyAllRelationships.xml]: Can't resolve reference to bean 'emp1' while setting property 'employees[0]'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'emp1' defined in class path resource [org/apache/jdo/tck/pc/company/companyAllRelationships.xml]: Can't resolve reference to bean 'dentalIns1' while setting property 'dentalInsurance'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dentalIns1' defined in class path resource [org/apache/jdo/tck/pc/company/companyAllRelationships.xml]: Factory method 'newDentalInsurance' on class [org.apache.jdo.tck.pc.company.CompanyFactoryPMInterface] returned null
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dept1' defined in class path resource [org/apache/jdo/tck/pc/company/companyAllRelationships.xml]: Can't resolve reference to bean 'emp1' while setting property 'employees[0]'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'emp1' defined in class path resource [org/apache/jdo/tck/pc/company/companyAllRelationships.xml]: Can't resolve reference to bean 'dentalIns1' while setting property 'dentalInsurance'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dentalIns1' defined in class path resource [org/apache/jdo/tck/pc/company/companyAllRelationships.xml]: Factory method 'newDentalInsurance' on class [org.apache.jdo.tck.pc.company.CompanyFactoryPMInterface] returned null
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'emp1' defined in class path resource [org/apache/jdo/tck/pc/company/companyAllRelationships.xml]: Can't resolve reference to bean 'dentalIns1' while setting property 'dentalInsurance'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dentalIns1' defined in class path resource [org/apache/jdo/tck/pc/company/companyAllRelationships.xml]: Factory method 'newDentalInsurance' on class [org.apache.jdo.tck.pc.company.CompanyFactoryPMInterface] returned null
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dentalIns1' defined in class path resource [org/apache/jdo/tck/pc/company/companyAllRelationships.xml]: Factory method 'newDentalInsurance' on class [org.apache.jdo.tck.pc.company.CompanyFactoryPMInterface] returned null
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:576)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:325)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:176)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:105)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1012)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:823)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:345)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:176)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:105)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedSet(BeanDefinitionValueResolver.java:208)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:113)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1012)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:823)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:345)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:176)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:105)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedSet(BeanDefinitionValueResolver.java:208)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:113)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1012)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:823)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:345)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:176)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:105)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:193)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveConstructorArguments(AbstractAutowireCapableBeanFactory.java:705)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:611)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:329)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
at org.apache.jdo.tck.pc.company.CompanyModelReader.getRootList(CompanyModelReader.java:101)
at org.apache.jdo.tck.mapping.CompletenessTest.localSetUp(CompletenessTest.java:77)
at org.apache.jdo.tck.JDO_Test.setUp(JDO_Test.java:215)
at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:231)
at org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:105)
at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:143)
at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:118)
FAILURES!!!
Error summary:
001 error: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dentalIns1' defined in class path resource [org/apache/jdo/tck/pc/company/companyAllRelationships.xml]: Factory method 'newDentalInsurance' on class [org.apache.jdo.tck.pc.company.CompanyFactoryPMInterface] returned null
derby-app-companyPMInterface-junit.txt:
    ** Tests run: 001, Time: 005 seconds. Failures: 0, Errors: 1
Excluded tests: [org.apache.jdo.tck.enhancement.FieldAccessModified, org.apache.jdo.tck.enhancement.ImplementsPersistenceCapable]

Erik Bengtson added a comment - 30/Apr/06 02:18 AM
JPOX jar passing all tests

Erik Bengtson added a comment - 30/Apr/06 02:19 AM
JPOX jar passing all tests

Craig Russell added a comment - 30/Apr/06 02:24 PM
Running tests with the uploaded jars, I found that the instances of persistent interfaces are not being cleaned up during localTearDown.

This is due to JPOX not finding instances in the database using Extent or Query. Instances can only be found using getObjectById. The tearDown method cleans up the instances using deletePersistent of the result of a query where the candidates are an Extent.

1. getExtent(ICompany.class) returns an Extent which when iterated, has no elements.
2. pm.newQuery(ICompany.class).execute() returns a Collection which when iterated, has no elements.
3. pm.newQuery().setCandidates(pm.getExtent(ICompany.class).execute() returns a Collection which when iterated, has no elements.
4. the target class stored in the oid for persistent instances is incorrect. This must be the interface, not the implementation's persistent class.
<spec section=12.6.6>
For interfaces and classes that use a SingleFieldIdentity as the object-id class, if the
returned instance is subsequently made persistent, the target class stored in the object-id
instance is the parameter of the newInstance method that created it.
</spec>

All of these symptoms might have the same root cause. The discriminator stored in the table doesn't match the value of the discriminator assumed for the persistent interface. The best solution is probably to store the interface name as the discriminator value and the name of the target class in the object id.

Please see JDO-377 for some debugging tests for this issue.

Craig Russell added a comment - 01/May/06 10:30 PM
With the latest JPOX HEAD this issue is resolved.