RE: Strange exception while running test cases for kodo
How are you deploying your application? (J2EE, J2SE, ...) Can you post the source to the classes, or at least IdentifiablePersistentEntity? -Patrick -- Patrick Linskey BEA Systems, Inc. ___ Notice: This email message, together with any attachments, may contain information of BEA Systems, Inc., its subsidiaries and affiliated entities, that may be confidential, proprietary, copyrighted and/or legally privileged, and is intended solely for the use of the individual or entity named in this message. If you are not the intended recipient, and have received this message in error, please immediately return this by email and then delete it. -Original Message- From: Roozbeh [mailto:[EMAIL PROTECTED] Sent: Tuesday, December 12, 2006 1:25 AM To: open-jpa-dev@incubator.apache.org Subject: Strange exception while running test cases for kodo Hi! I have a simple class called Account which inherits form IdentifiablePersistentEntity and when I want to create Account object I got this error: java.lang.NoSuchMethodError: IdentifiablePersistentEntity.pcGetManagedFieldCount() I Does anyone have any Idea? Regards, Roozbeh Maadani -- View this message in context: http://www.nabble.com/Strange-exception-while-running-test-cas es-for-kodo-tf2806392.html#a7829863 Sent from the open-jpa-dev mailing list archive at Nabble.com.
RE: Strange exception while running test cases for kodo
This is the source for IdentifiablePersistentEntity: package framework.persistence; import java.util.Collection; import javax.jdo.PersistenceManager; import javax.jdo.Query; import framework.id.Id; /** * Base class for all persistent objects that have an identifier. */ public abstract class IdentifiablePersistentEntity extends PersistentEntity { private long iId; /* * Persistence methods */ public Id makePersistent() { PersistenceManager pm = JdoPmFactorySingleton.instance().getPm(); pm.makePersistent(this); return getId(); } public Id getId() { return new Id(getIdClass(), iId); } /** * Should return the class used for the ID object. * * @return The current class or any of its domain object ancestors */ protected abstract Class getIdClass(); public static IdentifiablePersistentEntity findById(Id id) { PersistenceManager pm = JdoPmFactorySingleton.instance().getPm(); Query q = pm.newQuery(id.getObjectType(), iId == :id); CollectionIdentifiablePersistentEntity rSet = (CollectionIdentifiablePersistentEntity) q.execute(id.getValue()); if (rSet.size() 1) throw new RuntimeException(Ambigous query: + id.getValue() + :: + rSet.size()); else if (rSet.isEmpty()) return null; else return rSet.iterator().next(); } public String toString() { return (isPersistent() ? getId().toString() : non-persistent); } } and this is the source for persistententity: package framework.persistence; import java.util.Calendar; import java.util.Date; import javax.jdo.JDOHelper; import javax.jdo.PersistenceManager; import kodo.jdo.KodoPersistenceManager; /** * Base class of all first class persistent objects. */ public abstract class PersistentEntity { /* * Persistence methods */ public Object makePersistent() { PersistenceManager pm = JdoPmFactorySingleton.instance().getPm(); pm.makePersistent(this); return pm.getObjectId(this); } public Object getJdoId() { PersistenceManager pm = JdoPmFactorySingleton.instance().getPm(); return pm.getObjectId(this); } public boolean isPersistent() { return JDOHelper.isPersistent(this); } public static PersistentEntity findByJdoId(Object id) { PersistenceManager pm = JdoPmFactorySingleton.instance().getPm(); return (PersistentEntity) pm.getObjectById(id, false); } public static PersistentEntity findByJdoIdString(String idString) { return null; } public void deletePersistent() { PersistenceManager pm = JdoPmFactorySingleton.instance().getPm(); pm.deletePersistent(this); } public PersistentEntity detach() { KodoPersistenceManager pm = (KodoPersistenceManager) JdoPmFactorySingleton.instance().getPm(); return (PersistentEntity) pm.detachCopy(this); } public PersistentEntity attach() { KodoPersistenceManager pm = (KodoPersistenceManager) JdoPmFactorySingleton.instance().getPm(); return (PersistentEntity) pm.attachCopy(this,true); } public String toString() { return (isPersistent() ? getJdoId().toString() : non-persistent); } public static Date setTimeComponents(Date date, int hour, int minute, int second, int milliSecond) { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.set(Calendar.HOUR_OF_DAY, hour); cal.set(Calendar.MINUTE, minute); cal.set(Calendar.SECOND, second); cal.set(Calendar.MILLISECOND, milliSecond); return cal.getTime(); } } and we are using maven for running the test cases and the we are developing services on Servicemix. Patrick Linskey wrote: How are you deploying your application? (J2EE, J2SE, ...) Can you post the source to the classes, or at least IdentifiablePersistentEntity? -Patrick -- Patrick Linskey BEA Systems, Inc. ___ Notice: This email message, together with any attachments, may contain information of BEA Systems, Inc., its subsidiaries and affiliated entities, that may be confidential, proprietary, copyrighted and/or legally privileged, and is intended solely for the use of the individual or entity named in this message. If you are not the intended recipient, and have received this message in error, please immediately return this by email and then delete it. -Original Message- From: Roozbeh [mailto:[EMAIL PROTECTED] Sent: Tuesday, December 12, 2006 1:25 AM To: open-jpa-dev@incubator.apache.org Subject: Strange exception while running test cases for kodo Hi! I have a simple class called Account which inherits form IdentifiablePersistentEntity and when I want to create Account object I got this error: java.lang.NoSuchMethodError: IdentifiablePersistentEntity.pcGetManagedFieldCount() I Does anyone have any Idea? Regards, Roozbeh Maadani -- View this message in context:
Re: Strange exception while running test cases for kodo
I've seen this sort of thing happen if both Account and IdentifiablePersistentEntity are enhanced, but then the IdentifiablePersistentEntity superclass is recompiled so that it is no longer enhanced. Is this possible? Are you manually enhancing, or using the dynamic class enhancement? If you run javap on both IdentifiablePersistentEntity and Account, what do you see? On Dec 12, 2006, at 2:16 AM, Roozbeh wrote: This is the source for IdentifiablePersistentEntity: package framework.persistence; import java.util.Collection; import javax.jdo.PersistenceManager; import javax.jdo.Query; import framework.id.Id; /** * Base class for all persistent objects that have an identifier. */ public abstract class IdentifiablePersistentEntity extends PersistentEntity { private long iId; /* * Persistence methods */ public Id makePersistent() { PersistenceManager pm = JdoPmFactorySingleton.instance().getPm(); pm.makePersistent(this); return getId(); } public Id getId() { return new Id(getIdClass(), iId); } /** * Should return the class used for the ID object. * * @return The current class or any of its domain object ancestors */ protected abstract Class getIdClass(); public static IdentifiablePersistentEntity findById(Id id) { PersistenceManager pm = JdoPmFactorySingleton.instance().getPm(); Query q = pm.newQuery(id.getObjectType(), iId == :id); CollectionIdentifiablePersistentEntity rSet = (CollectionIdentifiablePersistentEntity) q.execute(id.getValue()); if (rSet.size() 1) throw new RuntimeException(Ambigous query: + id.getValue() + :: + rSet.size()); else if (rSet.isEmpty()) return null; else return rSet.iterator().next(); } public String toString() { return (isPersistent() ? getId().toString() : non-persistent); } } and this is the source for persistententity: package framework.persistence; import java.util.Calendar; import java.util.Date; import javax.jdo.JDOHelper; import javax.jdo.PersistenceManager; import kodo.jdo.KodoPersistenceManager; /** * Base class of all first class persistent objects. */ public abstract class PersistentEntity { /* * Persistence methods */ public Object makePersistent() { PersistenceManager pm = JdoPmFactorySingleton.instance().getPm(); pm.makePersistent(this); return pm.getObjectId(this); } public Object getJdoId() { PersistenceManager pm = JdoPmFactorySingleton.instance().getPm(); return pm.getObjectId(this); } public boolean isPersistent() { return JDOHelper.isPersistent(this); } public static PersistentEntity findByJdoId(Object id) { PersistenceManager pm = JdoPmFactorySingleton.instance().getPm(); return (PersistentEntity) pm.getObjectById(id, false); } public static PersistentEntity findByJdoIdString(String idString) { return null; } public void deletePersistent() { PersistenceManager pm = JdoPmFactorySingleton.instance().getPm(); pm.deletePersistent(this); } public PersistentEntity detach() { KodoPersistenceManager pm = (KodoPersistenceManager) JdoPmFactorySingleton.instance().getPm(); return (PersistentEntity) pm.detachCopy(this); } public PersistentEntity attach() { KodoPersistenceManager pm = (KodoPersistenceManager) JdoPmFactorySingleton.instance().getPm(); return (PersistentEntity) pm.attachCopy(this,true); } public String toString() { return (isPersistent() ? getJdoId().toString() : non- persistent); } public static Date setTimeComponents(Date date, int hour, int minute, int second, int milliSecond) { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.set(Calendar.HOUR_OF_DAY, hour); cal.set(Calendar.MINUTE, minute); cal.set(Calendar.SECOND, second); cal.set(Calendar.MILLISECOND, milliSecond); return cal.getTime(); } } and we are using maven for running the test cases and the we are developing services on Servicemix. Patrick Linskey wrote: How are you deploying your application? (J2EE, J2SE, ...) Can you post the source to the classes, or at least IdentifiablePersistentEntity? -Patrick -- Patrick Linskey BEA Systems, Inc. _ __ Notice: This email message, together with any attachments, may contain information of BEA Systems, Inc., its subsidiaries and affiliated entities, that may be confidential, proprietary, copyrighted and/or legally privileged, and is intended solely for the use of the individual or entity named in this message. If you are not the intended recipient, and have received this message in error, please immediately return this by email and then delete it. -Original Message- From: Roozbeh [mailto:[EMAIL PROTECTED] Sent: Tuesday, December 12, 2006 1:25 AM To: open-jpa-dev@incubator.apache.org Subject: Strange exception while