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/
-------------------------------------------------------------------

Reply via email to