--
-------------------------------------------------------------------
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/
-------------------------------------------------------------------
Index: 
test/java/org/apache/jdo/tck/api/persistencecapable/AbstractPersistenceCapableTest.java
===================================================================
--- 
test/java/org/apache/jdo/tck/api/persistencecapable/AbstractPersistenceCapableTest.java
     (revision 0)
+++ 
test/java/org/apache/jdo/tck/api/persistencecapable/AbstractPersistenceCapableTest.java
     (revision 0)
@@ -0,0 +1,27 @@
+package org.apache.jdo.tck.api.persistencecapable;
+
+import javax.jdo.JDOHelper;
+import javax.jdo.PersistenceManager;
+
+import org.apache.jdo.tck.JDO_Test;
+
+/**
+ * This class is the super class for all persistence-capable tests. 
+ * @author Michael Watzek
+ */
+abstract class AbstractPersistenceCapableTest extends JDO_Test {
+
+    /**
+     * Creates persistent instances for pc fields.
+     * @param pc the transient instance to be made persistent 
+     */
+    protected Object makePersistent(Object pc) {
+        PersistenceManager pm = getPM();
+        pm.currentTransaction().begin();
+        pm.makePersistent(pc);
+        Object result = JDOHelper.getObjectId(pc);
+        pm.currentTransaction().commit();
+        addTearDownInstance(pc);
+        return result;
+    }
+}

Property changes on: 
test/java/org/apache/jdo/tck/api/persistencecapable/AbstractPersistenceCapableTest.java
___________________________________________________________________
Name: svn:executable
   + *

Index: 
test/java/org/apache/jdo/tck/api/persistencecapable/CopyKeyFieldsFromObjectId.java
===================================================================
--- 
test/java/org/apache/jdo/tck/api/persistencecapable/CopyKeyFieldsFromObjectId.java
  (revision 0)
+++ 
test/java/org/apache/jdo/tck/api/persistencecapable/CopyKeyFieldsFromObjectId.java
  (revision 0)
@@ -0,0 +1,254 @@
+package org.apache.jdo.tck.api.persistencecapable;
+
+import javax.jdo.identity.ByteIdentity;
+import javax.jdo.identity.CharIdentity;
+import javax.jdo.identity.IntIdentity;
+import javax.jdo.identity.LongIdentity;
+import javax.jdo.identity.ShortIdentity;
+import javax.jdo.identity.SingleFieldIdentity;
+import javax.jdo.identity.StringIdentity;
+import javax.jdo.spi.PersistenceCapable;
+
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleField;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldByte;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldCharacter;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldInteger;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldLong;
+import 
org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitivebyte;
+import 
org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitivechar;
+import 
org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitiveint;
+import 
org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitivelong;
+import 
org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitiveshort;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldShort;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldString;
+import org.apache.jdo.tck.util.BatchTestRunner;
+
+/**
+ *<B>Title:</B>CopyKeyFieldsFromObjectId of PersistenceCapable
+ *<BR>
+ *<B>Keywords:</B> persistencecapable
+ *<BR>
+ *<B>Assertion IDs:</B> A7.12-25
+ *<BR>
+ *<B>Assertion Description: </B>
+ *<p>
+ * A7.12-25<br>
+ * public void jdoCopyKeyFieldsFromObjectId(ObjectIdFieldConsumer fc, Object 
oid);
+ * This method copies fields to the field manager instance 
+ * from the second parameter instance.
+ * 
+ * @author Michael Watzek
+ */
+public class CopyKeyFieldsFromObjectId  extends AbstractPersistenceCapableTest 
{
+
+    /** */
+    private static final String FAILED = 
+        " (jdoCopyKeyFieldsFromObjectId) failed: ";
+
+    /** */
+    private static final String ASSERTION_A7_12_25_FAILED = 
+        "Assertion A7.12-25" + FAILED;
+
+    /**
+     * The <code>main</code> is called when the class
+     * is directly executed from the command line.
+     * @param args The arguments passed to the program.
+     */
+    public static void main(String[] args) {
+        BatchTestRunner.run(CopyKeyFieldsFromObjectId .class);
+    }
+
+    /**
+     * The common method for test cases checking for assertion A7.12-25:<br>
+     * public void jdoCopyKeyFieldsFromObjectId(ObjectIdFieldConsumer fc, 
Object oid);
+     * This method copies fields to the field manager instance 
+     * from the second parameter instance.
+     * @param o the object to check
+     */
+    private void singleFieldIdentity(PCPointSingleField o) {
+        if (isApplicationIdentitySupported() &&
+            runsWithApplicationIdentity() &&
+            o instanceof PersistenceCapable) {
+            SingleFieldIdentity sfi = (SingleFieldIdentity) makePersistent(o);
+            PersistenceCapable pc = (PersistenceCapable) o;
+            ObjectIdFieldConsumer objectIdFieldConsumer = 
+                new ObjectIdFieldConsumer();
+            pc.jdoCopyKeyFieldsFromObjectId(objectIdFieldConsumer, sfi);
+            if (!objectIdFieldConsumer.equals(sfi)) {
+                fail(ASSERTION_A7_12_25_FAILED + 
+                        "pc.jdoCopyKeyFieldsFromObjectId copies unexpected " +
+                        "fields into an object id field consumer using a " +
+                        "single field indentity object id.");
+            }
+        }
+    }
+    
+    public void testSingleFieldIdentitybyte() {
+        singleFieldIdentity(new PCPointSingleFieldPrimitivebyte(1, 2));
+    }
+    
+    public void testSingleFieldIdentityByte() {
+        singleFieldIdentity(new PCPointSingleFieldByte(1, 2));
+    }
+    
+    public void testSingleFieldIdentitychar() {
+        singleFieldIdentity(new PCPointSingleFieldPrimitivechar(1, 2));
+    }
+    
+    public void testSingleFieldIdentityCharacter() {
+        singleFieldIdentity(new PCPointSingleFieldCharacter(1, 2));
+    }
+    
+    public void testSingleFieldIdentityint() {
+        singleFieldIdentity(new PCPointSingleFieldPrimitiveint(1, 2));
+    }
+    
+    public void testSingleFieldIdentityInteger() {
+        singleFieldIdentity(new PCPointSingleFieldInteger(1, 2));
+    }
+    
+    public void testSingleFieldIdentitylong() {
+        singleFieldIdentity(new PCPointSingleFieldPrimitivelong(1, 2));
+    }
+    
+    public void testSingleFieldIdentityLong() {
+        singleFieldIdentity(new PCPointSingleFieldLong(1, 2));
+    }
+    
+    public void testSingleFieldIdentityshort() {
+        singleFieldIdentity(new PCPointSingleFieldPrimitiveshort(1, 2));
+    }
+    
+    public void testSingleFieldIdentityShort() {
+        singleFieldIdentity(new PCPointSingleFieldShort(1, 2));
+    }
+    
+    public void testSingleFieldIdentityString() {
+        singleFieldIdentity(new PCPointSingleFieldString(1, 2));
+    }
+    
+    private static class ObjectIdFieldConsumer 
+        implements PersistenceCapable.ObjectIdFieldConsumer {
+        
+        private boolean booleanField;
+        private byte byteField;
+        private char charField;
+        private double doubleField;
+        private float floatField;
+        private int intField;
+        private long longField;
+        private short shortField;
+        private Object objectField;
+        private String stringField;
+
+        /*
+         * @see 
PersistenceCapable.ObjectIdFieldConsumer#storeBooleanField(int, boolean)
+         */
+        public void storeBooleanField(int fieldNumber, boolean value) {
+            this.booleanField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeCharField(int, 
char)
+         */
+        public void storeCharField(int fieldNumber, char value) {
+            this.charField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeByteField(int, 
byte)
+         */
+        public void storeByteField(int fieldNumber, byte value) {
+            this.byteField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeShortField(int, 
short)
+         */
+        public void storeShortField(int fieldNumber, short value) {
+            this.shortField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeIntField(int, 
int)
+         */
+        public void storeIntField(int fieldNumber, int value) {
+            this.intField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeLongField(int, 
long)
+         */
+        public void storeLongField(int fieldNumber, long value) {
+            this.longField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeFloatField(int, 
float)
+         */
+        public void storeFloatField(int fieldNumber, float value) {
+            this.floatField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeDoubleField(int, 
double)
+         */
+        public void storeDoubleField(int fieldNumber, double value) {
+            this.doubleField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeStringField(int, 
java.lang.String)
+         */
+        public void storeStringField(int fieldNumber, String value) {
+            this.stringField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeObjectField(int, 
java.lang.Object)
+         */
+        public void storeObjectField(int fieldNumber, Object value) {
+            if (value instanceof Boolean)
+                this.booleanField = ((Boolean)value).booleanValue();
+            else if (value instanceof Boolean)
+                this.booleanField = ((Boolean)value).booleanValue();
+            else if (value instanceof Byte)
+                this.byteField = ((Byte)value).byteValue();
+            else if (value instanceof Character)
+                this.charField = ((Character)value).charValue();
+            else if (value instanceof Double)
+                this.doubleField = ((Double)value).doubleValue();
+            else if (value instanceof Float)
+                this.floatField = ((Float)value).floatValue();
+            else if (value instanceof Integer)
+                this.intField = ((Integer)value).intValue();
+            else if (value instanceof Long)
+                this.longField = ((Long)value).longValue();
+            else if (value instanceof Short)
+                this.shortField = ((Short)value).shortValue();
+            else if (value instanceof String)
+                this.stringField = (String)value;
+            else
+                this.objectField = value;
+        }
+        
+        public boolean equals(SingleFieldIdentity sfi) {
+            boolean result = false;
+            if (sfi instanceof ByteIdentity) 
+                result = ((ByteIdentity)sfi).getKey()==this.byteField;
+            else if (sfi instanceof CharIdentity) 
+                result = ((CharIdentity)sfi).getKey()==this.charField;
+            else if (sfi instanceof IntIdentity) 
+                result = ((IntIdentity)sfi).getKey()==this.intField;
+            else if (sfi instanceof LongIdentity) 
+                result = ((LongIdentity)sfi).getKey()==this.longField;
+            else if (sfi instanceof ShortIdentity) 
+                result = ((ShortIdentity)sfi).getKey()==this.shortField;
+            else if (sfi instanceof StringIdentity) 
+                result = 
this.stringField.equals(((StringIdentity)sfi).getKey());
+            //TODO: else 
+                //TODO: result = 
this.objectField.equals(((ObjectIdentity)sfi).getKey());
+            return result;
+        }
+    }
+}

Property changes on: 
test/java/org/apache/jdo/tck/api/persistencecapable/CopyKeyFieldsFromObjectId.java
___________________________________________________________________
Name: svn:executable
   + *

Index: 
test/java/org/apache/jdo/tck/api/persistencecapable/NewObjectIdInstance.java
===================================================================
--- 
test/java/org/apache/jdo/tck/api/persistencecapable/NewObjectIdInstance.java    
    (revision 0)
+++ 
test/java/org/apache/jdo/tck/api/persistencecapable/NewObjectIdInstance.java    
    (revision 0)
@@ -0,0 +1,180 @@
+package org.apache.jdo.tck.api.persistencecapable;
+
+import javax.jdo.JDOFatalInternalException;
+import javax.jdo.identity.SingleFieldIdentity;
+import javax.jdo.spi.PersistenceCapable;
+
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleField;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldByte;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldCharacter;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldInteger;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldLong;
+import 
org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitivebyte;
+import 
org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitivechar;
+import 
org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitiveint;
+import 
org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitivelong;
+import 
org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitiveshort;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldShort;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldString;
+import org.apache.jdo.tck.util.BatchTestRunner;
+
+/**
+ *<B>Title:</B>NewObjectIdInstance of PersistenceCapable
+ *<BR>
+ *<B>Keywords:</B> persistencecapable
+ *<BR>
+ *<B>Assertion IDs:</B> A7.12-38, A7.12-39
+ *<BR>
+ *<B>Assertion Description: </B>
+ *<p>
+ * A7.12-38:<br>
+ * For classes using single field identity method 
+ * <code>PersistenceCapable.newObjectIdInstance()</code> must be called 
+ * on a persistent instance with its primary key field initialized, 
+ * or a JDOFatalInternalException is thrown.<p>
+ * 
+ * A7.12-39:<br>
+ * The instance returned is initialized with the value of the primary key 
+ * field of the instance on which the method is called.
+ * 
+ * @author Michael Watzek
+ */
+public class NewObjectIdInstance extends AbstractPersistenceCapableTest {
+
+    /** */
+    private static final String FAILED = 
+        " (jdoNewObjectIdInstance) failed: ";
+
+    /** */
+    private static final String ASSERTION_A7_12_38_FAILED = 
+        "Assertion A7.12-38" + FAILED;
+
+    /** */
+    private static final String ASSERTION_A7_12_39_FAILED = 
+        "Assertion A7.12-39" + FAILED;
+
+    /**
+     * The <code>main</code> is called when the class
+     * is directly executed from the command line.
+     * @param args The arguments passed to the program.
+     */
+    public static void main(String[] args) {
+        BatchTestRunner.run(NewObjectIdInstance.class);
+    }
+
+    /**
+     * The common method for test cases checking for assertion A7.12-38:<br>
+     * For classes using single field identity method 
+     * <code>PersistenceCapable.newObjectIdInstance()</code> must be called 
+     * on a persistent instance with its primary key field initialized, 
+     * @param o the object to check
+     */
+    private void singleFieldIdentityNotInitialized(PCPointSingleField o) {
+        if (isApplicationIdentitySupported() &&
+            runsWithApplicationIdentity() &&
+            o instanceof PersistenceCapable) {
+            PersistenceCapable pc = (PersistenceCapable) o;
+            try {
+                pc.jdoNewObjectIdInstance();
+                String message = ASSERTION_A7_12_38_FAILED + 
+                "pc.jdoNewObjectIdInstance should throw " +
+                "JDOFatalInternalException if PK field is null.";
+                fail(message);
+            } catch (JDOFatalInternalException e) {
+                // expected exception
+                if (debug)
+                    logger.debug("caught expected exception " + e.toString());
+            } 
+        }
+    }
+    
+    /**
+     * The common method for test cases checking for assertion A7.12-39:<br>
+     * The instance returned is initialized with the value of the primary key 
+     * field of the instance on which the method is called.
+     * @param o the persistent instance to check
+     */
+    private void singleFieldIdentityInitialized(PCPointSingleField o) {
+        if (isApplicationIdentitySupported() &&
+            runsWithApplicationIdentity() &&
+            o instanceof PersistenceCapable) {
+            makePersistent(o);
+            PersistenceCapable pc = (PersistenceCapable) o;
+            SingleFieldIdentity sfi = 
+                (SingleFieldIdentity) pc.jdoNewObjectIdInstance();
+            if (!o.equals(sfi)) {
+                fail(ASSERTION_A7_12_39_FAILED + 
+                        "pc.jdoNewObjectIdInstance() returned unexpected " +
+                        "single field identity object id.");
+            }
+        }
+    }
+    
+    public void testSingleFieldIdentityNotInitializedByte() {
+        singleFieldIdentityNotInitialized(new PCPointSingleFieldByte());
+    }
+    
+    public void testSingleFieldIdentityNotInitializedCharacter() {
+        singleFieldIdentityNotInitialized(new PCPointSingleFieldCharacter());
+    }
+    
+    public void testSingleFieldIdentityNotInitializedInteger() {
+        singleFieldIdentityNotInitialized(new PCPointSingleFieldInteger());
+    }
+    
+    public void testSingleFieldIdentityNotInitializedLong() {
+        singleFieldIdentityNotInitialized(new PCPointSingleFieldLong());
+    }
+    
+    public void testSingleFieldIdentityNotInitializedShort() {
+        singleFieldIdentityNotInitialized(new PCPointSingleFieldShort());
+    }
+    
+    public void testSingleFieldIdentityNotInitializedString() {
+        singleFieldIdentityNotInitialized(new PCPointSingleFieldString());
+    }
+
+    public void testSingleFieldIdentityInitializedbyte() {
+        singleFieldIdentityInitialized(new PCPointSingleFieldPrimitivebyte(1, 
2));
+    }
+    
+    public void testSingleFieldIdentityInitializedByte() {
+        singleFieldIdentityInitialized(new PCPointSingleFieldByte(1, 2));
+    }
+    
+    public void testSingleFieldIdentityInitializedchar() {
+        singleFieldIdentityInitialized(new PCPointSingleFieldPrimitivechar(1, 
2));
+    }
+    
+    public void testSingleFieldIdentityInitializedCharacter() {
+        singleFieldIdentityInitialized(new PCPointSingleFieldCharacter(1, 2));
+    }
+    
+    public void testSingleFieldIdentityInitializedint() {
+        singleFieldIdentityInitialized(new PCPointSingleFieldPrimitiveint(1, 
2));
+    }
+    
+    public void testSingleFieldIdentityInitializedInteger() {
+        singleFieldIdentityInitialized(new PCPointSingleFieldInteger(1, 2));
+    }
+    
+    public void testSingleFieldIdentityInitializedlong() {
+        singleFieldIdentityInitialized(new PCPointSingleFieldPrimitivelong(1, 
2));
+    }
+    
+    public void testSingleFieldIdentityInitializedLong() {
+        singleFieldIdentityInitialized(new PCPointSingleFieldLong(1, 2));
+    }
+    
+    public void testSingleFieldIdentityInitializedshort() {
+        singleFieldIdentityInitialized(new PCPointSingleFieldPrimitiveshort(1, 
2));
+    }
+    
+    public void testSingleFieldIdentityInitializedShort() {
+        singleFieldIdentityInitialized(new PCPointSingleFieldShort(1, 2));
+    }
+    
+    public void testSingleFieldIdentityInitializedString() {
+        singleFieldIdentityInitialized(new PCPointSingleFieldString(1, 2));
+    }
+}

Property changes on: 
test/java/org/apache/jdo/tck/api/persistencecapable/NewObjectIdInstance.java
___________________________________________________________________
Name: svn:executable
   + *

Index: 
test/java/org/apache/jdo/tck/api/persistencecapable/AbstractPersistenceCapableTest.java
===================================================================
--- 
test/java/org/apache/jdo/tck/api/persistencecapable/AbstractPersistenceCapableTest.java
     (revision 0)
+++ 
test/java/org/apache/jdo/tck/api/persistencecapable/AbstractPersistenceCapableTest.java
     (revision 0)
@@ -0,0 +1,27 @@
+package org.apache.jdo.tck.api.persistencecapable;
+
+import javax.jdo.JDOHelper;
+import javax.jdo.PersistenceManager;
+
+import org.apache.jdo.tck.JDO_Test;
+
+/**
+ * This class is the super class for all persistence-capable tests. 
+ * @author Michael Watzek
+ */
+abstract class AbstractPersistenceCapableTest extends JDO_Test {
+
+    /**
+     * Creates persistent instances for pc fields.
+     * @param pc the transient instance to be made persistent 
+     */
+    protected Object makePersistent(Object pc) {
+        PersistenceManager pm = getPM();
+        pm.currentTransaction().begin();
+        pm.makePersistent(pc);
+        Object result = JDOHelper.getObjectId(pc);
+        pm.currentTransaction().commit();
+        addTearDownInstance(pc);
+        return result;
+    }
+}

Property changes on: 
test/java/org/apache/jdo/tck/api/persistencecapable/AbstractPersistenceCapableTest.java
___________________________________________________________________
Name: svn:executable
   + *

Index: 
test/java/org/apache/jdo/tck/api/persistencecapable/CopyKeyFieldsFromObjectId.java
===================================================================
--- 
test/java/org/apache/jdo/tck/api/persistencecapable/CopyKeyFieldsFromObjectId.java
  (revision 0)
+++ 
test/java/org/apache/jdo/tck/api/persistencecapable/CopyKeyFieldsFromObjectId.java
  (revision 0)
@@ -0,0 +1,254 @@
+package org.apache.jdo.tck.api.persistencecapable;
+
+import javax.jdo.identity.ByteIdentity;
+import javax.jdo.identity.CharIdentity;
+import javax.jdo.identity.IntIdentity;
+import javax.jdo.identity.LongIdentity;
+import javax.jdo.identity.ShortIdentity;
+import javax.jdo.identity.SingleFieldIdentity;
+import javax.jdo.identity.StringIdentity;
+import javax.jdo.spi.PersistenceCapable;
+
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleField;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldByte;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldCharacter;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldInteger;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldLong;
+import 
org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitivebyte;
+import 
org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitivechar;
+import 
org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitiveint;
+import 
org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitivelong;
+import 
org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitiveshort;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldShort;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldString;
+import org.apache.jdo.tck.util.BatchTestRunner;
+
+/**
+ *<B>Title:</B>CopyKeyFieldsFromObjectId of PersistenceCapable
+ *<BR>
+ *<B>Keywords:</B> persistencecapable
+ *<BR>
+ *<B>Assertion IDs:</B> A7.12-25
+ *<BR>
+ *<B>Assertion Description: </B>
+ *<p>
+ * A7.12-25<br>
+ * public void jdoCopyKeyFieldsFromObjectId(ObjectIdFieldConsumer fc, Object 
oid);
+ * This method copies fields to the field manager instance 
+ * from the second parameter instance.
+ * 
+ * @author Michael Watzek
+ */
+public class CopyKeyFieldsFromObjectId  extends AbstractPersistenceCapableTest 
{
+
+    /** */
+    private static final String FAILED = 
+        " (jdoCopyKeyFieldsFromObjectId) failed: ";
+
+    /** */
+    private static final String ASSERTION_A7_12_25_FAILED = 
+        "Assertion A7.12-25" + FAILED;
+
+    /**
+     * The <code>main</code> is called when the class
+     * is directly executed from the command line.
+     * @param args The arguments passed to the program.
+     */
+    public static void main(String[] args) {
+        BatchTestRunner.run(CopyKeyFieldsFromObjectId .class);
+    }
+
+    /**
+     * The common method for test cases checking for assertion A7.12-25:<br>
+     * public void jdoCopyKeyFieldsFromObjectId(ObjectIdFieldConsumer fc, 
Object oid);
+     * This method copies fields to the field manager instance 
+     * from the second parameter instance.
+     * @param o the object to check
+     */
+    private void singleFieldIdentity(PCPointSingleField o) {
+        if (isApplicationIdentitySupported() &&
+            runsWithApplicationIdentity() &&
+            o instanceof PersistenceCapable) {
+            SingleFieldIdentity sfi = (SingleFieldIdentity) makePersistent(o);
+            PersistenceCapable pc = (PersistenceCapable) o;
+            ObjectIdFieldConsumer objectIdFieldConsumer = 
+                new ObjectIdFieldConsumer();
+            pc.jdoCopyKeyFieldsFromObjectId(objectIdFieldConsumer, sfi);
+            if (!objectIdFieldConsumer.equals(sfi)) {
+                fail(ASSERTION_A7_12_25_FAILED + 
+                        "pc.jdoCopyKeyFieldsFromObjectId copies unexpected " +
+                        "fields into an object id field consumer using a " +
+                        "single field indentity object id.");
+            }
+        }
+    }
+    
+    public void testSingleFieldIdentitybyte() {
+        singleFieldIdentity(new PCPointSingleFieldPrimitivebyte(1, 2));
+    }
+    
+    public void testSingleFieldIdentityByte() {
+        singleFieldIdentity(new PCPointSingleFieldByte(1, 2));
+    }
+    
+    public void testSingleFieldIdentitychar() {
+        singleFieldIdentity(new PCPointSingleFieldPrimitivechar(1, 2));
+    }
+    
+    public void testSingleFieldIdentityCharacter() {
+        singleFieldIdentity(new PCPointSingleFieldCharacter(1, 2));
+    }
+    
+    public void testSingleFieldIdentityint() {
+        singleFieldIdentity(new PCPointSingleFieldPrimitiveint(1, 2));
+    }
+    
+    public void testSingleFieldIdentityInteger() {
+        singleFieldIdentity(new PCPointSingleFieldInteger(1, 2));
+    }
+    
+    public void testSingleFieldIdentitylong() {
+        singleFieldIdentity(new PCPointSingleFieldPrimitivelong(1, 2));
+    }
+    
+    public void testSingleFieldIdentityLong() {
+        singleFieldIdentity(new PCPointSingleFieldLong(1, 2));
+    }
+    
+    public void testSingleFieldIdentityshort() {
+        singleFieldIdentity(new PCPointSingleFieldPrimitiveshort(1, 2));
+    }
+    
+    public void testSingleFieldIdentityShort() {
+        singleFieldIdentity(new PCPointSingleFieldShort(1, 2));
+    }
+    
+    public void testSingleFieldIdentityString() {
+        singleFieldIdentity(new PCPointSingleFieldString(1, 2));
+    }
+    
+    private static class ObjectIdFieldConsumer 
+        implements PersistenceCapable.ObjectIdFieldConsumer {
+        
+        private boolean booleanField;
+        private byte byteField;
+        private char charField;
+        private double doubleField;
+        private float floatField;
+        private int intField;
+        private long longField;
+        private short shortField;
+        private Object objectField;
+        private String stringField;
+
+        /*
+         * @see 
PersistenceCapable.ObjectIdFieldConsumer#storeBooleanField(int, boolean)
+         */
+        public void storeBooleanField(int fieldNumber, boolean value) {
+            this.booleanField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeCharField(int, 
char)
+         */
+        public void storeCharField(int fieldNumber, char value) {
+            this.charField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeByteField(int, 
byte)
+         */
+        public void storeByteField(int fieldNumber, byte value) {
+            this.byteField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeShortField(int, 
short)
+         */
+        public void storeShortField(int fieldNumber, short value) {
+            this.shortField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeIntField(int, 
int)
+         */
+        public void storeIntField(int fieldNumber, int value) {
+            this.intField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeLongField(int, 
long)
+         */
+        public void storeLongField(int fieldNumber, long value) {
+            this.longField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeFloatField(int, 
float)
+         */
+        public void storeFloatField(int fieldNumber, float value) {
+            this.floatField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeDoubleField(int, 
double)
+         */
+        public void storeDoubleField(int fieldNumber, double value) {
+            this.doubleField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeStringField(int, 
java.lang.String)
+         */
+        public void storeStringField(int fieldNumber, String value) {
+            this.stringField = value;
+        }
+
+        /*
+         * @see PersistenceCapable.ObjectIdFieldConsumer#storeObjectField(int, 
java.lang.Object)
+         */
+        public void storeObjectField(int fieldNumber, Object value) {
+            if (value instanceof Boolean)
+                this.booleanField = ((Boolean)value).booleanValue();
+            else if (value instanceof Boolean)
+                this.booleanField = ((Boolean)value).booleanValue();
+            else if (value instanceof Byte)
+                this.byteField = ((Byte)value).byteValue();
+            else if (value instanceof Character)
+                this.charField = ((Character)value).charValue();
+            else if (value instanceof Double)
+                this.doubleField = ((Double)value).doubleValue();
+            else if (value instanceof Float)
+                this.floatField = ((Float)value).floatValue();
+            else if (value instanceof Integer)
+                this.intField = ((Integer)value).intValue();
+            else if (value instanceof Long)
+                this.longField = ((Long)value).longValue();
+            else if (value instanceof Short)
+                this.shortField = ((Short)value).shortValue();
+            else if (value instanceof String)
+                this.stringField = (String)value;
+            else
+                this.objectField = value;
+        }
+        
+        public boolean equals(SingleFieldIdentity sfi) {
+            boolean result = false;
+            if (sfi instanceof ByteIdentity) 
+                result = ((ByteIdentity)sfi).getKey()==this.byteField;
+            else if (sfi instanceof CharIdentity) 
+                result = ((CharIdentity)sfi).getKey()==this.charField;
+            else if (sfi instanceof IntIdentity) 
+                result = ((IntIdentity)sfi).getKey()==this.intField;
+            else if (sfi instanceof LongIdentity) 
+                result = ((LongIdentity)sfi).getKey()==this.longField;
+            else if (sfi instanceof ShortIdentity) 
+                result = ((ShortIdentity)sfi).getKey()==this.shortField;
+            else if (sfi instanceof StringIdentity) 
+                result = 
this.stringField.equals(((StringIdentity)sfi).getKey());
+            //TODO: else 
+                //TODO: result = 
this.objectField.equals(((ObjectIdentity)sfi).getKey());
+            return result;
+        }
+    }
+}

Property changes on: 
test/java/org/apache/jdo/tck/api/persistencecapable/CopyKeyFieldsFromObjectId.java
___________________________________________________________________
Name: svn:executable
   + *

Index: 
test/java/org/apache/jdo/tck/api/persistencecapable/NewObjectIdInstance.java
===================================================================
--- 
test/java/org/apache/jdo/tck/api/persistencecapable/NewObjectIdInstance.java    
    (revision 0)
+++ 
test/java/org/apache/jdo/tck/api/persistencecapable/NewObjectIdInstance.java    
    (revision 0)
@@ -0,0 +1,180 @@
+package org.apache.jdo.tck.api.persistencecapable;
+
+import javax.jdo.JDOFatalInternalException;
+import javax.jdo.identity.SingleFieldIdentity;
+import javax.jdo.spi.PersistenceCapable;
+
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleField;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldByte;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldCharacter;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldInteger;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldLong;
+import 
org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitivebyte;
+import 
org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitivechar;
+import 
org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitiveint;
+import 
org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitivelong;
+import 
org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldPrimitiveshort;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldShort;
+import org.apache.jdo.tck.pc.singlefieldidentity.PCPointSingleFieldString;
+import org.apache.jdo.tck.util.BatchTestRunner;
+
+/**
+ *<B>Title:</B>NewObjectIdInstance of PersistenceCapable
+ *<BR>
+ *<B>Keywords:</B> persistencecapable
+ *<BR>
+ *<B>Assertion IDs:</B> A7.12-38, A7.12-39
+ *<BR>
+ *<B>Assertion Description: </B>
+ *<p>
+ * A7.12-38:<br>
+ * For classes using single field identity method 
+ * <code>PersistenceCapable.newObjectIdInstance()</code> must be called 
+ * on a persistent instance with its primary key field initialized, 
+ * or a JDOFatalInternalException is thrown.<p>
+ * 
+ * A7.12-39:<br>
+ * The instance returned is initialized with the value of the primary key 
+ * field of the instance on which the method is called.
+ * 
+ * @author Michael Watzek
+ */
+public class NewObjectIdInstance extends AbstractPersistenceCapableTest {
+
+    /** */
+    private static final String FAILED = 
+        " (jdoNewObjectIdInstance) failed: ";
+
+    /** */
+    private static final String ASSERTION_A7_12_38_FAILED = 
+        "Assertion A7.12-38" + FAILED;
+
+    /** */
+    private static final String ASSERTION_A7_12_39_FAILED = 
+        "Assertion A7.12-39" + FAILED;
+
+    /**
+     * The <code>main</code> is called when the class
+     * is directly executed from the command line.
+     * @param args The arguments passed to the program.
+     */
+    public static void main(String[] args) {
+        BatchTestRunner.run(NewObjectIdInstance.class);
+    }
+
+    /**
+     * The common method for test cases checking for assertion A7.12-38:<br>
+     * For classes using single field identity method 
+     * <code>PersistenceCapable.newObjectIdInstance()</code> must be called 
+     * on a persistent instance with its primary key field initialized, 
+     * @param o the object to check
+     */
+    private void singleFieldIdentityNotInitialized(PCPointSingleField o) {
+        if (isApplicationIdentitySupported() &&
+            runsWithApplicationIdentity() &&
+            o instanceof PersistenceCapable) {
+            PersistenceCapable pc = (PersistenceCapable) o;
+            try {
+                pc.jdoNewObjectIdInstance();
+                String message = ASSERTION_A7_12_38_FAILED + 
+                "pc.jdoNewObjectIdInstance should throw " +
+                "JDOFatalInternalException if PK field is null.";
+                fail(message);
+            } catch (JDOFatalInternalException e) {
+                // expected exception
+                if (debug)
+                    logger.debug("caught expected exception " + e.toString());
+            } 
+        }
+    }
+    
+    /**
+     * The common method for test cases checking for assertion A7.12-39:<br>
+     * The instance returned is initialized with the value of the primary key 
+     * field of the instance on which the method is called.
+     * @param o the persistent instance to check
+     */
+    private void singleFieldIdentityInitialized(PCPointSingleField o) {
+        if (isApplicationIdentitySupported() &&
+            runsWithApplicationIdentity() &&
+            o instanceof PersistenceCapable) {
+            makePersistent(o);
+            PersistenceCapable pc = (PersistenceCapable) o;
+            SingleFieldIdentity sfi = 
+                (SingleFieldIdentity) pc.jdoNewObjectIdInstance();
+            if (!o.equals(sfi)) {
+                fail(ASSERTION_A7_12_39_FAILED + 
+                        "pc.jdoNewObjectIdInstance() returned unexpected " +
+                        "single field identity object id.");
+            }
+        }
+    }
+    
+    public void testSingleFieldIdentityNotInitializedByte() {
+        singleFieldIdentityNotInitialized(new PCPointSingleFieldByte());
+    }
+    
+    public void testSingleFieldIdentityNotInitializedCharacter() {
+        singleFieldIdentityNotInitialized(new PCPointSingleFieldCharacter());
+    }
+    
+    public void testSingleFieldIdentityNotInitializedInteger() {
+        singleFieldIdentityNotInitialized(new PCPointSingleFieldInteger());
+    }
+    
+    public void testSingleFieldIdentityNotInitializedLong() {
+        singleFieldIdentityNotInitialized(new PCPointSingleFieldLong());
+    }
+    
+    public void testSingleFieldIdentityNotInitializedShort() {
+        singleFieldIdentityNotInitialized(new PCPointSingleFieldShort());
+    }
+    
+    public void testSingleFieldIdentityNotInitializedString() {
+        singleFieldIdentityNotInitialized(new PCPointSingleFieldString());
+    }
+
+    public void testSingleFieldIdentityInitializedbyte() {
+        singleFieldIdentityInitialized(new PCPointSingleFieldPrimitivebyte(1, 
2));
+    }
+    
+    public void testSingleFieldIdentityInitializedByte() {
+        singleFieldIdentityInitialized(new PCPointSingleFieldByte(1, 2));
+    }
+    
+    public void testSingleFieldIdentityInitializedchar() {
+        singleFieldIdentityInitialized(new PCPointSingleFieldPrimitivechar(1, 
2));
+    }
+    
+    public void testSingleFieldIdentityInitializedCharacter() {
+        singleFieldIdentityInitialized(new PCPointSingleFieldCharacter(1, 2));
+    }
+    
+    public void testSingleFieldIdentityInitializedint() {
+        singleFieldIdentityInitialized(new PCPointSingleFieldPrimitiveint(1, 
2));
+    }
+    
+    public void testSingleFieldIdentityInitializedInteger() {
+        singleFieldIdentityInitialized(new PCPointSingleFieldInteger(1, 2));
+    }
+    
+    public void testSingleFieldIdentityInitializedlong() {
+        singleFieldIdentityInitialized(new PCPointSingleFieldPrimitivelong(1, 
2));
+    }
+    
+    public void testSingleFieldIdentityInitializedLong() {
+        singleFieldIdentityInitialized(new PCPointSingleFieldLong(1, 2));
+    }
+    
+    public void testSingleFieldIdentityInitializedshort() {
+        singleFieldIdentityInitialized(new PCPointSingleFieldPrimitiveshort(1, 
2));
+    }
+    
+    public void testSingleFieldIdentityInitializedShort() {
+        singleFieldIdentityInitialized(new PCPointSingleFieldShort(1, 2));
+    }
+    
+    public void testSingleFieldIdentityInitializedString() {
+        singleFieldIdentityInitialized(new PCPointSingleFieldString(1, 2));
+    }
+}

Property changes on: 
test/java/org/apache/jdo/tck/api/persistencecapable/NewObjectIdInstance.java
___________________________________________________________________
Name: svn:executable
   + *

Index: test/java/org/apache/jdo/tck/util/BatchResultPrinter.java
===================================================================
--- test/java/org/apache/jdo/tck/util/BatchResultPrinter.java   (revision 
209442)
+++ test/java/org/apache/jdo/tck/util/BatchResultPrinter.java   (working copy)
@@ -17,10 +17,16 @@
 package org.apache.jdo.tck.util;
 
 import java.io.PrintStream;
+import java.text.DecimalFormat;
+import java.util.Arrays;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Map;
 
 import junit.framework.AssertionFailedError;
 import junit.framework.Test;
 import junit.framework.TestCase;
+import junit.framework.TestFailure;
 import junit.framework.TestResult;
 import junit.textui.ResultPrinter;
 
@@ -33,6 +39,9 @@
     extends ResultPrinter
 {
     /** */
+    private long runtime;
+    
+    /** */
     public BatchResultPrinter(PrintStream writer) {
         super(writer);
     }
@@ -61,14 +70,15 @@
         else {
             testName = test.toString();
         }
-        getWriter().print("RUN " + testName);
+        getWriter().print("RUN " + testName + '\t');
+        getWriter().flush();
     }
         
     /** */
     protected void printHeader(long runTime) {
+        this.runtime = runTime;
+        getWriter().println("Description: " + 
System.getProperty("jdo.tck.description"));    
         getWriter().println("Time: "+elapsedTimeAsString(runTime));
-        getWriter().println("Description: " +
-                            System.getProperty("jdo.tck.description"));
     }
         
     /** */
@@ -79,9 +89,11 @@
                 
         } else {
             getWriter().println("FAILURES!!!");
+            printErrorSummery(result);
             getWriter().println("Tests run: "+result.runCount()+ 
                                 ",  Failures: "+result.failureCount()+
-                                ",  Errors: "+result.errorCount());
+                                ",  Errors: "+result.errorCount()+
+                                ", Time: "+elapsedTimeAsString(this.runtime)+" 
seconds.");
         }
     }
         
@@ -100,6 +112,77 @@
         return className;
     }
         
+    private void printErrorSummery(TestResult result) {
+        Object[] array = getSortedArrayOfErrorSummeryEntries(result);
+        if (array.length>0) {
+            getWriter().println("Error summery:");
+            for (int i=0; i<array.length; i++) {
+                getWriter().println(array[i]);
+            }
+        }
+    }
+    
+    private static Object[] getSortedArrayOfErrorSummeryEntries(TestResult 
result) {
+        Map map = new HashMap();
+        for (Enumeration e=result.errors(); e.hasMoreElements(); ) {
+            TestFailure testFailure = (TestFailure) e.nextElement();
+            Throwable t = testFailure.thrownException();
+            String message = getRootCause(t).toString();
+            ErrorSummeryEntry errorSummeryEntry = (ErrorSummeryEntry) 
map.get(message);
+            if (errorSummeryEntry==null ) {
+                errorSummeryEntry = new ErrorSummeryEntry(t);
+                map.put(message, errorSummeryEntry);
+            }
+            errorSummeryEntry.count++;   
+        }
+        
+        Object[] array = map.values().toArray();
+        Arrays.sort(array);
+        return array;
+    }
+    
+    private static Throwable getRootCause(Throwable t) {
+        while (t.getCause()!=null) {
+            t = t.getCause();
+        }
+        return t;
+    }
+    
+    private static class ErrorSummeryEntry implements Comparable {
+        private static DecimalFormat decimalFormat = new DecimalFormat("000");
+        private int count = 0;
+        private Throwable t;
+        
+        private ErrorSummeryEntry(Throwable t) {
+            this.t = t;
+        }
+        
+        public boolean equals(Object o) {
+            return compareTo(o)==0;
+        }
+        
+        public int hashCode() {
+            return this.count;
+        }
+        
+        public int compareTo(Object o) {
+            return this.count - ((ErrorSummeryEntry)o).count;
+        }
+        
+        public String toString() {
+            StringBuffer buffer = new 
StringBuffer(decimalFormat.format(count));
+            buffer.append(" error" );
+            if (this.count!=1) {
+                buffer.append("s: ");
+            } else {
+                buffer.append(":  ");
+            }
+            buffer.append(getRootCause());
+            return buffer.toString();
+        }
+        
+        private Throwable getRootCause() {
+            return BatchResultPrinter.getRootCause(this.t);
+        }
+    }
 }
-
-
Index: 
test/jdo/applicationidentity/org/apache/jdo/tck/pc/singlefieldidentity/package.jdo
===================================================================
--- 
test/jdo/applicationidentity/org/apache/jdo/tck/pc/singlefieldidentity/package.jdo
  (revision 0)
+++ 
test/jdo/applicationidentity/org/apache/jdo/tck/pc/singlefieldidentity/package.jdo
  (revision 0)
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE jdo PUBLIC "-//Sun Microsystems, Inc.//DTD Java Data Objects 
Metadata 2.0//EN" "http://java.sun.com/dtd/jdo_2_0.dtd";>
+
+<jdo>
+  <package name="org.apache.jdo.tck.pc.singlefieldidentity">
+
+    <class name="PCPointSingleFieldPrimitivebyte"
+           identity-type="application" 
objectid-class="javax.jdo.identity.ByteIdentity">
+      <field name="id" primary-key="true"/>
+    </class>
+
+    <class name="PCPointSingleFieldByte"
+           identity-type="application" 
objectid-class="javax.jdo.identity.ByteIdentity">
+      <field name="id" primary-key="true"/>
+    </class>
+
+    <class name="PCPointSingleFieldPrimitivechar"
+           identity-type="application" 
objectid-class="javax.jdo.identity.CharIdentity">
+      <field name="id" primary-key="true"/>
+    </class>
+
+    <class name="PCPointSingleFieldCharacter"
+           identity-type="application" 
objectid-class="javax.jdo.identity.CharIdentity">
+      <field name="id" primary-key="true"/>
+    </class>
+
+    <class name="PCPointSingleFieldPrimitiveint"
+           identity-type="application" 
objectid-class="javax.jdo.identity.IntIdentity">
+      <field name="id" primary-key="true"/>
+    </class>
+
+    <class name="PCPointSingleFieldInteger"
+           identity-type="application" 
objectid-class="javax.jdo.identity.IntIdentity">
+      <field name="id" primary-key="true"/>
+    </class>
+
+    <class name="PCPointSingleFieldPrimitivelong"
+           identity-type="application" 
objectid-class="javax.jdo.identity.LongIdentity">
+      <field name="id" primary-key="true"/>
+    </class>
+
+    <class name="PCPointSingleFieldLong"
+           identity-type="application" 
objectid-class="javax.jdo.identity.LongIdentity">
+      <field name="id" primary-key="true"/>
+    </class>
+
+    <class name="PCPointSingleFieldPrimitiveshort"
+           identity-type="application" 
objectid-class="javax.jdo.identity.ShortIdentity">
+      <field name="id" primary-key="true"/>
+    </class>
+
+    <class name="PCPointSingleFieldShort"
+           identity-type="application" 
objectid-class="javax.jdo.identity.ShortIdentity">
+      <field name="id" primary-key="true"/>
+    </class>
+
+    <class name="PCPointSingleFieldString"
+           identity-type="application" 
objectid-class="javax.jdo.identity.StringIdentity">
+      <field name="id" primary-key="true"/>
+    </class>
+
+  </package>
+</jdo>
+

Property changes on: 
test/jdo/applicationidentity/org/apache/jdo/tck/pc/singlefieldidentity/package.jdo
___________________________________________________________________
Name: svn:executable
   + *

Index: 
test/jdo/applicationidentity/org/apache/jdo/tck/pc/singlefieldidentity/package.jdo
===================================================================
--- 
test/jdo/applicationidentity/org/apache/jdo/tck/pc/singlefieldidentity/package.jdo
  (revision 0)
+++ 
test/jdo/applicationidentity/org/apache/jdo/tck/pc/singlefieldidentity/package.jdo
  (revision 0)
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE jdo PUBLIC "-//Sun Microsystems, Inc.//DTD Java Data Objects 
Metadata 2.0//EN" "http://java.sun.com/dtd/jdo_2_0.dtd";>
+
+<jdo>
+  <package name="org.apache.jdo.tck.pc.singlefieldidentity">
+
+    <class name="PCPointSingleFieldPrimitivebyte"
+           identity-type="application" 
objectid-class="javax.jdo.identity.ByteIdentity">
+      <field name="id" primary-key="true"/>
+    </class>
+
+    <class name="PCPointSingleFieldByte"
+           identity-type="application" 
objectid-class="javax.jdo.identity.ByteIdentity">
+      <field name="id" primary-key="true"/>
+    </class>
+
+    <class name="PCPointSingleFieldPrimitivechar"
+           identity-type="application" 
objectid-class="javax.jdo.identity.CharIdentity">
+      <field name="id" primary-key="true"/>
+    </class>
+
+    <class name="PCPointSingleFieldCharacter"
+           identity-type="application" 
objectid-class="javax.jdo.identity.CharIdentity">
+      <field name="id" primary-key="true"/>
+    </class>
+
+    <class name="PCPointSingleFieldPrimitiveint"
+           identity-type="application" 
objectid-class="javax.jdo.identity.IntIdentity">
+      <field name="id" primary-key="true"/>
+    </class>
+
+    <class name="PCPointSingleFieldInteger"
+           identity-type="application" 
objectid-class="javax.jdo.identity.IntIdentity">
+      <field name="id" primary-key="true"/>
+    </class>
+
+    <class name="PCPointSingleFieldPrimitivelong"
+           identity-type="application" 
objectid-class="javax.jdo.identity.LongIdentity">
+      <field name="id" primary-key="true"/>
+    </class>
+
+    <class name="PCPointSingleFieldLong"
+           identity-type="application" 
objectid-class="javax.jdo.identity.LongIdentity">
+      <field name="id" primary-key="true"/>
+    </class>
+
+    <class name="PCPointSingleFieldPrimitiveshort"
+           identity-type="application" 
objectid-class="javax.jdo.identity.ShortIdentity">
+      <field name="id" primary-key="true"/>
+    </class>
+
+    <class name="PCPointSingleFieldShort"
+           identity-type="application" 
objectid-class="javax.jdo.identity.ShortIdentity">
+      <field name="id" primary-key="true"/>
+    </class>
+
+    <class name="PCPointSingleFieldString"
+           identity-type="application" 
objectid-class="javax.jdo.identity.StringIdentity">
+      <field name="id" primary-key="true"/>
+    </class>
+
+  </package>
+</jdo>
+

Property changes on: 
test/jdo/applicationidentity/org/apache/jdo/tck/pc/singlefieldidentity/package.jdo
___________________________________________________________________
Name: svn:executable
   + *

Index: 
test/orm/applicationidentity/org/apache/jdo/tck/pc/singlefieldidentity/package-derby.orm
===================================================================
--- 
test/orm/applicationidentity/org/apache/jdo/tck/pc/singlefieldidentity/package-derby.orm
    (revision 0)
+++ 
test/orm/applicationidentity/org/apache/jdo/tck/pc/singlefieldidentity/package-derby.orm
    (revision 0)
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE orm PUBLIC "-//Sun Microsystems, Inc.//DTD Java Data Objects Mapping 
Metadata 2.0//EN" "http://java.sun.com/dtd/orm_2_0.dtd";>
+<orm>
+  <package name="org.apache.jdo.tck.pc.singlefieldidentity">
+
+    <class name="PCPointSingleFieldPrimitivebyte" 
table="PCPointSingleFieldPrimitivebyte">
+      <field name="id" column="ID" primary-key="true"/>
+      <field name="x" column="X"/>
+      <field name="y" column="Y"/>
+    </class>
+
+    <class name="PCPointSingleFieldByte" table="PCPointSingleFieldByte">
+      <field name="id" column="ID" primary-key="true"/>
+      <field name="x" column="X"/>
+      <field name="y" column="Y"/>
+    </class>
+
+    <class name="PCPointSingleFieldPrimitivechar" 
table="PCPointSingleFieldPrimitivechar">
+      <field name="id" column="ID" primary-key="true"/>
+      <field name="x" column="X"/>
+      <field name="y" column="Y"/>
+    </class>
+
+    <class name="PCPointSingleFieldCharacter" 
table="PCPointSingleFieldCharacter">
+      <field name="id" column="ID" primary-key="true"/>
+      <field name="x" column="X"/>
+      <field name="y" column="Y"/>
+    </class>
+
+    <class name="PCPointSingleFieldPrimitiveint" 
table="PCPointSingleFieldPrimitiveint">
+      <field name="id" column="ID" primary-key="true"/>
+      <field name="x" column="X"/>
+      <field name="y" column="Y"/>
+    </class>
+
+    <class name="PCPointSingleFieldInteger" table="PCPointSingleFieldInteger">
+      <field name="id" column="ID" primary-key="true"/>
+      <field name="x" column="X"/>
+      <field name="y" column="Y"/>
+    </class>
+
+    <class name="PCPointSingleFieldPrimitivelong" 
table="PCPointSingleFieldPrimitivelong">
+      <field name="id" column="ID" primary-key="true"/>
+      <field name="x" column="X"/>
+      <field name="y" column="Y"/>
+    </class>
+
+    <class name="PCPointSingleFieldLong" table="PCPointSingleFieldLong">
+      <field name="id" column="ID" primary-key="true"/>
+      <field name="x" column="X"/>
+      <field name="y" column="Y"/>
+    </class>
+
+    <class name="PCPointSingleFieldPrimitiveshort" 
table="PCPointSingleFieldPrimitiveshort">
+      <field name="id" column="ID" primary-key="true"/>
+      <field name="x" column="X"/>
+      <field name="y" column="Y"/>
+    </class>
+
+    <class name="PCPointSingleFieldShort" table="PCPointSingleFieldShort">
+      <field name="id" column="ID" primary-key="true"/>
+      <field name="x" column="X"/>
+      <field name="y" column="Y"/>
+    </class>
+
+    <class name="PCPointSingleFieldString" table="PCPointSingleFieldString">
+      <field name="id" column="ID" primary-key="true"/>
+      <field name="x" column="X"/>
+      <field name="y" column="Y"/>
+    </class>
+
+  </package>
+</orm>
+

Property changes on: 
test/orm/applicationidentity/org/apache/jdo/tck/pc/singlefieldidentity/package-derby.orm
___________________________________________________________________
Name: svn:executable
   + *

Index: 
test/orm/applicationidentity/org/apache/jdo/tck/pc/singlefieldidentity/package-derby.orm
===================================================================
--- 
test/orm/applicationidentity/org/apache/jdo/tck/pc/singlefieldidentity/package-derby.orm
    (revision 0)
+++ 
test/orm/applicationidentity/org/apache/jdo/tck/pc/singlefieldidentity/package-derby.orm
    (revision 0)
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE orm PUBLIC "-//Sun Microsystems, Inc.//DTD Java Data Objects Mapping 
Metadata 2.0//EN" "http://java.sun.com/dtd/orm_2_0.dtd";>
+<orm>
+  <package name="org.apache.jdo.tck.pc.singlefieldidentity">
+
+    <class name="PCPointSingleFieldPrimitivebyte" 
table="PCPointSingleFieldPrimitivebyte">
+      <field name="id" column="ID" primary-key="true"/>
+      <field name="x" column="X"/>
+      <field name="y" column="Y"/>
+    </class>
+
+    <class name="PCPointSingleFieldByte" table="PCPointSingleFieldByte">
+      <field name="id" column="ID" primary-key="true"/>
+      <field name="x" column="X"/>
+      <field name="y" column="Y"/>
+    </class>
+
+    <class name="PCPointSingleFieldPrimitivechar" 
table="PCPointSingleFieldPrimitivechar">
+      <field name="id" column="ID" primary-key="true"/>
+      <field name="x" column="X"/>
+      <field name="y" column="Y"/>
+    </class>
+
+    <class name="PCPointSingleFieldCharacter" 
table="PCPointSingleFieldCharacter">
+      <field name="id" column="ID" primary-key="true"/>
+      <field name="x" column="X"/>
+      <field name="y" column="Y"/>
+    </class>
+
+    <class name="PCPointSingleFieldPrimitiveint" 
table="PCPointSingleFieldPrimitiveint">
+      <field name="id" column="ID" primary-key="true"/>
+      <field name="x" column="X"/>
+      <field name="y" column="Y"/>
+    </class>
+
+    <class name="PCPointSingleFieldInteger" table="PCPointSingleFieldInteger">
+      <field name="id" column="ID" primary-key="true"/>
+      <field name="x" column="X"/>
+      <field name="y" column="Y"/>
+    </class>
+
+    <class name="PCPointSingleFieldPrimitivelong" 
table="PCPointSingleFieldPrimitivelong">
+      <field name="id" column="ID" primary-key="true"/>
+      <field name="x" column="X"/>
+      <field name="y" column="Y"/>
+    </class>
+
+    <class name="PCPointSingleFieldLong" table="PCPointSingleFieldLong">
+      <field name="id" column="ID" primary-key="true"/>
+      <field name="x" column="X"/>
+      <field name="y" column="Y"/>
+    </class>
+
+    <class name="PCPointSingleFieldPrimitiveshort" 
table="PCPointSingleFieldPrimitiveshort">
+      <field name="id" column="ID" primary-key="true"/>
+      <field name="x" column="X"/>
+      <field name="y" column="Y"/>
+    </class>
+
+    <class name="PCPointSingleFieldShort" table="PCPointSingleFieldShort">
+      <field name="id" column="ID" primary-key="true"/>
+      <field name="x" column="X"/>
+      <field name="y" column="Y"/>
+    </class>
+
+    <class name="PCPointSingleFieldString" table="PCPointSingleFieldString">
+      <field name="id" column="ID" primary-key="true"/>
+      <field name="x" column="X"/>
+      <field name="y" column="Y"/>
+    </class>
+
+  </package>
+</orm>
+

Property changes on: 
test/orm/applicationidentity/org/apache/jdo/tck/pc/singlefieldidentity/package-derby.orm
___________________________________________________________________
Name: svn:executable
   + *

Reply via email to