[ http://issues.apache.org/jira/browse/JDO-326?page=comments#action_12368806 ]
Craig Russell commented on JDO-326: ----------------------------------- This test only uses persistent classes as arguments to pm.newInstance. Another test uses persistent interfaces. <spec> Object newInstance(Class persistenceCapable); The parameter must be one of the following: •an abstract class that is declared in the metadata using the class element, or •an interface that is declared in the metadata using the interface element, or •a concrete class that is declared in the metadata as persistence-capable. In this case, <---this test case uses this example the concrete class must declare a public no-args constructor. </spec> > JPOX fails to create new instance of PC class via pm.newInstance(PCClass) > ------------------------------------------------------------------------- > > Key: JDO-326 > URL: http://issues.apache.org/jira/browse/JDO-326 > Project: JDO > Type: Bug > Components: tck20 > Versions: JDO 2 rc1 > Reporter: Craig Russell > Fix For: JDO 2 final > > Using the company factory class CompanyFactoryPMClass for the > CompletenessTest, JPOX fails to create a new instance of a PC class. > maven -o -Djdo.tck.cfglist=companyPMClass.conf runtck.jdori > IAddress newAddress() { > return (IAddress)pm.newInstance(Address.class); <-- fails here > } > [java] RUN CompletenessTest.test ERROR > [java] Description: Completeness test with standard mapping, basic > testdata with all relationships and embedded objects. > [java] Time: 013 > [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 java.lang.NullPointerException: null > [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 java.lang.NullPointerException: null > [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 java.lang.NullPointerException: null > [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 java.lang.NullPointerException: null > [java] java.lang.NullPointerException > [java] at > org.jpox.enhancer.ImplementationGenerator.<init>(ImplementationGenerator.java:74) > [java] at > org.jpox.enhancer.ImplementationCreatorImpl.newInstance(ImplementationCreatorImpl.java:46) > [java] at > org.jpox.AbstractPersistenceManager.newInstance(AbstractPersistenceManager.java:2253) > [java] at > org.apache.jdo.tck.pc.company.CompanyFactoryPMClass.newAddress(CompanyFactoryPMClass.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!!! -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
