Hi Eric,
the TCK implements two enhancement tests for field access annotation and
class augmentation. Both tests are currently not included into a test run.
Today I run the class augmentation test and I encountered a JPOX
enhancer bug:
- Accessor/mutator methods for persistent public fields have no access
modifiers, e.g. field "doubleB".
To follow the bug please have a look into the javap output below.
Regards,
Michael
public class org.apache.jdo.tck.pc.inheritance.AllPersist extends
java.lang.Object implements javax.jdo.spi.PersistenceCapable{
public int intA;
public double doubleB;
public int intB;
private int keyValue;
private static int nextKeyValue;
protected transient javax.jdo.spi.StateManager jdoStateManager;
protected transient byte jdoFlags;
private static final byte[] jdoFieldFlags;
private static final java.lang.Class jdoPersistenceCapableSuperclass;
private static final java.lang.Class[] jdoFieldTypes;
private static final java.lang.String[] jdoFieldNames;
private static final int jdoInheritedFieldCount;
static {};
public boolean equals(java.lang.Object);
public org.apache.jdo.tck.pc.inheritance.AllPersist();
public org.apache.jdo.tck.pc.inheritance.AllPersist(int,double,int);
public void
jdoCopyKeyFieldsFromObjectId(javax.jdo.spi.PersistenceCapable$ObjectIdFieldConsumer,java.lang.Object);
protected void jdoCopyKeyFieldsFromObjectId(java.lang.Object);
public final void jdoCopyKeyFieldsToObjectId(java.lang.Object);
public final void
jdoCopyKeyFieldsToObjectId(javax.jdo.spi.PersistenceCapable$ObjectIdFieldSupplier,java.lang.Object);
public final java.lang.Object jdoGetObjectId();
public final java.lang.Object jdoGetVersion();
protected final void jdoPreSerialize();
public final javax.jdo.PersistenceManager jdoGetPersistenceManager();
public final java.lang.Object jdoGetTransactionalObjectId();
public final boolean jdoIsDeleted();
public final boolean jdoIsDirty();
public final boolean jdoIsNew();
public final boolean jdoIsPersistent();
public final boolean jdoIsTransactional();
public final boolean jdoIsDetached();
public final void jdoMakeDirty(java.lang.String);
public final java.lang.Object jdoNewObjectIdInstance();
public final java.lang.Object jdoNewObjectIdInstance(java.lang.Object);
public final void jdoProvideFields(int[]);
public final void jdoReplaceFields(int[]);
public final void jdoReplaceFlags();
public final synchronized void
jdoReplaceStateManager(javax.jdo.spi.StateManager);
public javax.jdo.spi.PersistenceCapable
jdoNewInstance(javax.jdo.spi.StateManager);
public javax.jdo.spi.PersistenceCapable
jdoNewInstance(javax.jdo.spi.StateManager,java.lang.Object);
public void jdoReplaceField(int);
public void jdoProvideField(int);
protected final void
jdoCopyField(org.apache.jdo.tck.pc.inheritance.AllPersist,int);
public void jdoCopyFields(java.lang.Object,int[]);
private static final java.lang.String[] __jdoFieldNamesInit();
private static final java.lang.Class[] __jdoFieldTypesInit();
private static final byte[] __jdoFieldFlagsInit();
protected static int __jdoGetInheritedFieldCount();
protected static int jdoGetManagedFieldCount();
private static java.lang.Class __jdoPersistenceCapableSuperclassInit();
public static java.lang.Class ___jdo$loadClass(java.lang.String);
private java.lang.Object jdoSuperClone();
throws java/lang/CloneNotSupportedException
static void
jdoSetdoubleB(org.apache.jdo.tck.pc.inheritance.AllPersist,double);
static double
jdoGetdoubleB(org.apache.jdo.tck.pc.inheritance.AllPersist);
static void
jdoSetintB(org.apache.jdo.tck.pc.inheritance.AllPersist,int);
static int jdoGetintB(org.apache.jdo.tck.pc.inheritance.AllPersist);
private static void
jdoSetkeyValue(org.apache.jdo.tck.pc.inheritance.AllPersist,int);
private static int
jdoGetkeyValue(org.apache.jdo.tck.pc.inheritance.AllPersist);
public int hashCode();
}
--
-------------------------------------------------------------------
Michael Watzek [EMAIL PROTECTED] Engineering GmbH
mailto:[EMAIL PROTECTED] Buelowstr. 66
Tel.: ++49/30/235 520 36 10783 Berlin - Germany
Fax.: ++49/30/217 520 12 http://www.spree.de/
-------------------------------------------------------------------