Hi Andrus,

Yes I am using the Cayenne trunk. Following is the JPA class comes with Geronimo test suite & the error I am getting for it. As soon as I put the @Id annotation to the given error won't come. Is there anything am I missing here? :-)

Thanks,
Lasantha

org.apache.cayenne.jpa.JpaProviderException: Error loading ORM descriptors
at org.apache.cayenne.jpa.conf.EntityMapLoader.loadEntityMap(EntityMapLoader.java:105) at org.apache.cayenne.jpa.conf.EntityMapLoader.<init>(EntityMapLoader.java:77) at org.apache.cayenne.jpa.Provider.createContainerEntityManagerFactory(Provider.java:222) at org.apache.geronimo.persistence.PersistenceUnitGBean.<init>(PersistenceUnitGBean.java:95) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
       at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:936) at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:267) at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102) at org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124) at org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:543) at org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379) at org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:434) at org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:188) at org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:530) at org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:511) at org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(<generated>)
       at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:127) at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:855) at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239) at org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:342) at org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>)
       at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:127) at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:855) at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239) at org.apache.geronimo.system.jmx.MBeanGBeanBridge.invoke(MBeanGBeanBridge.java:168) at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:213) at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1408) at javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:81) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1245)
       at java.security.AccessController.doPrivileged(Native Method)
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1348) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:782)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
       at sun.rmi.transport.Transport$1.run(Transport.java:153)
       at java.security.AccessController.doPrivileged(Native Method)
       at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
       at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NullPointerException
at org.apache.cayenne.jpa.conf.EntityMapDefaultsProcessor$BasicVisitor.onStartNode(EntityMapDefaultsProcessor.java:219) at org.apache.cayenne.util.TraversalUtil.traverse(TraversalUtil.java:92) at org.apache.cayenne.util.TraversalUtil.traverse(TraversalUtil.java:113) at org.apache.cayenne.util.TraversalUtil.traverse(TraversalUtil.java:118) at org.apache.cayenne.util.TraversalUtil.traverse(TraversalUtil.java:113) at org.apache.cayenne.util.TraversalUtil.traverse(TraversalUtil.java:80) at org.apache.cayenne.jpa.conf.EntityMapDefaultsProcessor.applyDefaults(EntityMapDefaultsProcessor.java:74) at org.apache.cayenne.jpa.conf.EntityMapLoader.updateFromDefaults(EntityMapLoader.java:113) at org.apache.cayenne.jpa.conf.EntityMapLoader.loadEntityMap(EntityMapLoader.java:99)
       ... 52 more
08:25:24,503 ERROR [GBeanInstanceState] Error while starting; GBean is now in the FAILED state: abstractName="org.apache.geronimo.testsuite/jpa-ear/2.0-SNAPSHOT/ear?EJBModule=ejb.jar,J2EEApplication=org.apache.geronimo.testsuite/jpa-ear/2.0-SNAPSHOT/ear,j2eeType=PersistenceUnit,name=openjpa-itest"
org.apache.cayenne.jpa.JpaProviderException: Error loading ORM descriptors
at org.apache.cayenne.jpa.conf.EntityMapLoader.loadEntityMap(EntityMapLoader.java:105) at org.apache.cayenne.jpa.conf.EntityMapLoader.<init>(EntityMapLoader.java:77) at org.apache.cayenne.jpa.Provider.createContainerEntityManagerFactory(Provider.java:222) at org.apache.geronimo.persistence.PersistenceUnitGBean.<init>(PersistenceUnitGBean.java:95) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
       at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:936) at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:267) at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102) at org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124) at org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:543) at org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379) at org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:434) at org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:188) at org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:530) at org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:511) at org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(<generated>)
       at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:127) at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:855) at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239) at org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:342) at org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>)
       at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:127) at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:855) at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239) at org.apache.geronimo.system.jmx.MBeanGBeanBridge.invoke(MBeanGBeanBridge.java:168) at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:213) at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1408) at javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:81) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1245)
       at java.security.AccessController.doPrivileged(Native Method)
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1348) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:782)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
       at sun.rmi.transport.Transport$1.run(Transport.java:153)
       at java.security.AccessController.doPrivileged(Native Method)
       at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
       at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NullPointerException
at org.apache.cayenne.jpa.conf.EntityMapDefaultsProcessor$BasicVisitor.onStartNode(EntityMapDefaultsProcessor.java:219) at org.apache.cayenne.util.TraversalUtil.traverse(TraversalUtil.java:92) at org.apache.cayenne.util.TraversalUtil.traverse(TraversalUtil.java:113) at org.apache.cayenne.util.TraversalUtil.traverse(TraversalUtil.java:118) at org.apache.cayenne.util.TraversalUtil.traverse(TraversalUtil.java:113) at org.apache.cayenne.util.TraversalUtil.traverse(TraversalUtil.java:80) at org.apache.cayenne.jpa.conf.EntityMapDefaultsProcessor.applyDefaults(EntityMapDefaultsProcessor.java:74) at org.apache.cayenne.jpa.conf.EntityMapLoader.updateFromDefaults(EntityMapLoader.java:113) at org.apache.cayenne.jpa.conf.EntityMapLoader.loadEntityMap(EntityMapLoader.java:99)
       ... 52 more
08:25:25,821 ERROR [GBeanInstanceState] Error while starting; GBean is now in the FAILED state: abstractName="org.apache.geronimo.testsuite/jpa-ear/2.0-SNAPSHOT/ear?J2EEApplication=org.apache.geronimo.testsuite/jpa-ear/2.0-SNAPSHOT/ear,PersistenceUnitModule=ejb.jar,j2eeType=PersistenceUnit,name=openjpa-itest"
org.apache.cayenne.jpa.JpaProviderException: Error loading ORM descriptors
at org.apache.cayenne.jpa.conf.EntityMapLoader.loadEntityMap(EntityMapLoader.java:105) at org.apache.cayenne.jpa.conf.EntityMapLoader.<init>(EntityMapLoader.java:77) at org.apache.cayenne.jpa.Provider.createContainerEntityManagerFactory(Provider.java:222) at org.apache.geronimo.persistence.PersistenceUnitGBean.<init>(PersistenceUnitGBean.java:95) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
       at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:936) at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:267) at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102) at org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124) at org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:543) at org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379) at org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:434) at org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:188) at org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:530) at org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:511) at org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(<generated>)
       at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:127) at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:855) at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239) at org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:342) at org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>)
       at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:127) at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:855) at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239) at org.apache.geronimo.system.jmx.MBeanGBeanBridge.invoke(MBeanGBeanBridge.java:168) at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:213) at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1408) at javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:81) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1245)
       at java.security.AccessController.doPrivileged(Native Method)
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1348) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:782)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
       at sun.rmi.transport.Transport$1.run(Transport.java:153)
       at java.security.AccessController.doPrivileged(Native Method)
       at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
       at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NullPointerException
at org.apache.cayenne.jpa.conf.EntityMapDefaultsProcessor$BasicVisitor.onStartNode(EntityMapDefaultsProcessor.java:219) at org.apache.cayenne.util.TraversalUtil.traverse(TraversalUtil.java:92) at org.apache.cayenne.util.TraversalUtil.traverse(TraversalUtil.java:113) at org.apache.cayenne.util.TraversalUtil.traverse(TraversalUtil.java:118) at org.apache.cayenne.util.TraversalUtil.traverse(TraversalUtil.java:113) at org.apache.cayenne.util.TraversalUtil.traverse(TraversalUtil.java:80) at org.apache.cayenne.jpa.conf.EntityMapDefaultsProcessor.applyDefaults(EntityMapDefaultsProcessor.java:74) at org.apache.cayenne.jpa.conf.EntityMapLoader.updateFromDefaults(EntityMapLoader.java:113) at org.apache.cayenne.jpa.conf.EntityMapLoader.loadEntityMap(EntityMapLoader.java:99)
       ... 52 more

package org.apache.geronimo.itest.jpa;


import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class AllFieldTypes {
private short shortField;
   private int intField;
   private boolean booleanField;
   private long longField;
   private float floatField;
   private char charField;
   private double doubleField;
   private byte byteField;
   private String stringField;
   private Date dateField;
   private Set<String> setOfStrings = new HashSet<String>();
   private String[] arrayOfStrings;
public void setShortField(short shortField) {
       this.shortField = shortField;
   }

   public short getShortField() {
       return this.shortField;
   }

   public void setIntField(int intField) {
       this.intField = intField;
   }
public int getIntField() {
       return this.intField;
   }

   public void setBooleanField(boolean booleanField) {
       this.booleanField = booleanField;
   }

   public boolean getBooleanField() {
       return this.booleanField;
   }

   public void setLongField(long longField) {
       this.longField = longField;
   }

   public long getLongField() {
       return this.longField;
   }

   public void setFloatField(float floatField) {
       this.floatField = floatField;
   }

   public float getFloatField() {
       return this.floatField;
   }

   public void setCharField(char charField) {
       this.charField = charField;
   }

   public char getCharField() {
       return this.charField;
   }

   public void setDoubleField(double doubleField) {
       this.doubleField = doubleField;
   }

   public double getDoubleField() {
       return this.doubleField;
   }

   public void setByteField(byte byteField) {
       this.byteField = byteField;
   }

   public byte getByteField() {
       return this.byteField;
   }

   public void setStringField(String stringField) {
       this.stringField = stringField;
   }

   public String getStringField() {
       return this.stringField;
   }

   public void setDateField(Date dateField) {
       this.dateField = dateField;
   }

   public Date getDateField() {
       return this.dateField;
   }

   public void setSetOfStrings(Set<String> setOfStrings) {
       this.setOfStrings = setOfStrings;
   }

   public Set<String> getSetOfStrings() {
       return this.setOfStrings;
   }

   public void setArrayOfStrings(String[] arrayOfStrings) {
       this.arrayOfStrings = arrayOfStrings;
   }

   public String[] getArrayOfStrings() {
       return this.arrayOfStrings;
   }
}


Andrus Adamchik wrote:
Hi Lasantha,

Are you using trunk build of Cayenne? While property access is not yet implemented, field access should work just fine and should be the default. If this is a bug, I'll be happy to look into it. Do you have more info about the error?

Thanks
Andrus


On Mar 31, 2007, at 11:15 PM, Lasantha Ranaweera wrote:

Hi Cayenne Experts,

I have been working with Cayenne Geronimo integration quite a sometime (working with my own speed) ;-) . After introduction of runtime entity enhancement feature in Geronimo Cayenne also working fine. So we are almost there :-) .

When am I executing JPA sample application given with Geronimo causes a NPE in Cayenne side. Looks like it is due to the missing feature in Cayenne side (according to the Cayenne source code comments). This sample JPA does not provide field or property level annotations. So it makes access level to null in Cayenne causes NPE (related to JSR 220 - 2.1.1). As soon as I introduce a property level annotation it works fine. Any ideas comments?

(If this is a missing feature I would be greatful if somebody can fix this issue ASAP :-) )

Thanks,
Lasantha





--No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.446 / Virus Database: 268.18.24/742 - Release Date: 4/1/2007 8:49 PM



Reply via email to