openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Roozbeh <roozbehmaad...@yahoo.com>
Subject RE: Strange exception while running test cases for kodo
Date Tue, 12 Dec 2006 10:16:54 GMT

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");
    Collection<IdentifiablePersistentEntity> rSet =
(Collection<IdentifiablePersistentEntity>) 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:roozbehmaadani@yahoo.com] 
>> 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.
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Strange-exception-while-running-test-cases-for-kodo-tf2806392.html#a7830452
Sent from the open-jpa-dev mailing list archive at Nabble.com.


Mime
View raw message