You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-commits@db.apache.org by ma...@apache.org on 2006/01/05 22:25:48 UTC
svn commit: r366283 - in /db/jdo/trunk/tck20/test: conf/
java/org/apache/jdo/tck/api/jdohelper/
java/org/apache/jdo/tck/pc/shoppingcart/
orm/applicationidentity/org/apache/jdo/tck/pc/shoppingcart/
orm/datastoreidentity/org/apache/jdo/tck/pc/shoppingcar...
Author: madams
Date: Thu Jan 5 13:25:43 2006
New Revision: 366283
URL: http://svn.apache.org/viewcvs?rev=366283&view=rev
Log:
JDO-272 Update to fix bugs & config problems.
Added:
db/jdo/trunk/tck20/test/orm/applicationidentity/org/apache/jdo/tck/pc/shoppingcart/package-derby8.orm
- copied, changed from r366223, db/jdo/trunk/tck20/test/orm/applicationidentity/org/apache/jdo/tck/pc/shoppingcart/package-derby.orm
db/jdo/trunk/tck20/test/orm/datastoreidentity/org/apache/jdo/tck/pc/shoppingcart/package-derby8.orm
- copied, changed from r366223, db/jdo/trunk/tck20/test/orm/datastoreidentity/org/apache/jdo/tck/pc/shoppingcart/package-derby.orm
Removed:
db/jdo/trunk/tck20/test/orm/applicationidentity/org/apache/jdo/tck/pc/shoppingcart/package-derby.orm
db/jdo/trunk/tck20/test/orm/datastoreidentity/org/apache/jdo/tck/pc/shoppingcart/package-derby.orm
Modified:
db/jdo/trunk/tck20/test/conf/alltests.conf
db/jdo/trunk/tck20/test/java/org/apache/jdo/tck/api/jdohelper/IsDetached.java
db/jdo/trunk/tck20/test/java/org/apache/jdo/tck/pc/shoppingcart/Cart.java
db/jdo/trunk/tck20/test/sql/derby/applicationidentity/schema8.sql
db/jdo/trunk/tck20/test/sql/derby/datastoreidentity/schema8.sql
Modified: db/jdo/trunk/tck20/test/conf/alltests.conf
URL: http://svn.apache.org/viewcvs/db/jdo/trunk/tck20/test/conf/alltests.conf?rev=366283&r1=366282&r2=366283&view=diff
==============================================================================
--- db/jdo/trunk/tck20/test/conf/alltests.conf (original)
+++ db/jdo/trunk/tck20/test/conf/alltests.conf Thu Jan 5 13:25:43 2006
@@ -154,9 +154,6 @@
org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransientFieldsPreservedUnchanged \
org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransientHasNoEffectOnTransientInstances \
org.apache.jdo.tck.api.persistencemanager.lifecycle.MakeTransientNotSubjectToRollback \
-org.apache.jdo.tck.api.jdohelper.IsDetached \
-org.apache.jdo.tck.api.persistencemanager.detach.SetDetachAllOnCommit \
-org.apache.jdo.tck.api.persistencemanager.detach.GetDetachAllOnCommit \
org.apache.jdo.tck.api.persistencemanagerfactory.AfterCloseGetPMThrowsException \
org.apache.jdo.tck.api.persistencemanagerfactory.AfterCloseSetMethodsThrowException \
org.apache.jdo.tck.api.persistencemanagerfactory.AfterGetPersistenceManagerNoSetMethodsSucceed \
Modified: db/jdo/trunk/tck20/test/java/org/apache/jdo/tck/api/jdohelper/IsDetached.java
URL: http://svn.apache.org/viewcvs/db/jdo/trunk/tck20/test/java/org/apache/jdo/tck/api/jdohelper/IsDetached.java?rev=366283&r1=366282&r2=366283&view=diff
==============================================================================
--- db/jdo/trunk/tck20/test/java/org/apache/jdo/tck/api/jdohelper/IsDetached.java (original)
+++ db/jdo/trunk/tck20/test/java/org/apache/jdo/tck/api/jdohelper/IsDetached.java Thu Jan 5 13:25:43 2006
@@ -21,6 +21,7 @@
import org.apache.jdo.tck.util.BatchTestRunner;
import javax.jdo.JDOHelper;
+import javax.jdo.Transaction;
/**
* <B>Title:</B> Test IsDetached
@@ -52,7 +53,7 @@
pm.currentTransaction().begin();
assertFalse(ASSERTION_FAILED + "null object is detached", JDOHelper.isDetached(null));
- assertFalse(ASSERTION_FAILED + "transient object is detached", JDOHelper.isDetached(new Cart()));
+ assertFalse(ASSERTION_FAILED + "transient object is detached", JDOHelper.isDetached(new Cart("bob")));
assertFalse(ASSERTION_FAILED + "object of class marked not detachabled is detached", JDOHelper.isDetached(new Undetachable()));
pm.currentTransaction().commit();
@@ -60,21 +61,24 @@
public void testDetachableIsDetachedTrue() {
pm = getPM();
- pm.currentTransaction().begin();
-
- Cart c = new Cart();
- Object oid = pm.getObjectId(c);
+ Transaction txn = pm.currentTransaction();
- pm.makePersistent(c);
- pm.currentTransaction().commit();
-
- pm.currentTransaction().begin();
-
- c = (Cart) pm.getObjectById(oid);
- Cart detached = (Cart) pm.detachCopy(c);
-
- assertTrue(JDOHelper.isDetached(detached));
-
- pm.currentTransaction().commit();
+ Cart c, detached;
+ Object oid;
+ txn.begin();
+ {
+ c = new Cart("bob");
+ pm.makePersistent(c);
+ oid = pm.getObjectId(c);
+ }
+ txn.commit();
+
+ txn.begin();
+ {
+ c = (Cart) pm.getObjectById(oid);
+ detached = (Cart) pm.detachCopy(c);
+ assertTrue(JDOHelper.isDetached(detached));
+ }
+ txn.commit();
}
}
Modified: db/jdo/trunk/tck20/test/java/org/apache/jdo/tck/pc/shoppingcart/Cart.java
URL: http://svn.apache.org/viewcvs/db/jdo/trunk/tck20/test/java/org/apache/jdo/tck/pc/shoppingcart/Cart.java?rev=366283&r1=366282&r2=366283&view=diff
==============================================================================
--- db/jdo/trunk/tck20/test/java/org/apache/jdo/tck/pc/shoppingcart/Cart.java (original)
+++ db/jdo/trunk/tck20/test/java/org/apache/jdo/tck/pc/shoppingcart/Cart.java Thu Jan 5 13:25:43 2006
@@ -16,11 +16,7 @@
package org.apache.jdo.tck.pc.shoppingcart;
import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
+import java.util.*;
/** This class represents an online shopping cart. It has a list of entries of
* type CartEntry.
@@ -40,14 +36,18 @@
protected String customerId;
/** The list of entries in this cart */
- protected List entries = new ArrayList(); // element-type CartEntry
+ protected Set entries = new HashSet(); // element-type CartEntry
- public Cart() {
- this(nextId());
+ /** For JDO compliance only; not for public consumption. */
+ protected Cart() {}
+
+ public Cart(String customerId) {
+ this(nextId(), customerId);
}
- protected Cart(long id) {
+ protected Cart(long id, String customerId) {
setId(id);
+ setCustomerId(customerId);
}
public long getId() {
@@ -80,102 +80,6 @@
this.customerId = customerId;
}
- public void add(int arg0, CartEntry arg1) {
- entries.add(arg0, arg1);
- }
-
- public boolean add(CartEntry arg0) {
- return entries.add(arg0);
- }
-
- public boolean addAll(int arg0, Collection arg1) {
- Iterator i = arg1.iterator();
- while (i.hasNext()) {
- CartEntry entry = (CartEntry) i.next();
- }
- return entries.addAll(arg0, arg1);
- }
-
- public boolean addAll(Collection arg0) {
- Iterator i = arg0.iterator();
- while (i.hasNext()) {
- CartEntry entry = (CartEntry) i.next();
- }
- return entries.addAll(arg0);
- }
-
- public void clear() {
- entries.clear();
- }
-
- public boolean contains(CartEntry o) {
- return entries.contains(o);
- }
-
- public boolean containsAll(Collection arg0) {
- return entries.containsAll(arg0);
- }
-
- public CartEntry get(int index) {
- return (CartEntry) entries.get(index);
- }
-
- public int indexOf(CartEntry o) {
- return entries.indexOf(o);
- }
-
- public boolean isEmpty() {
- return entries.isEmpty();
- }
-
- public Iterator iterator() {
- return entries.iterator();
- }
-
- public int lastIndexOf(CartEntry o) {
- return entries.lastIndexOf(o);
- }
-
- public ListIterator listIterator() {
- return entries.listIterator();
- }
-
- public ListIterator listIterator(int index) {
- return entries.listIterator(index);
- }
-
- public Object remove(int index) {
- return entries.remove(index);
- }
-
- public boolean remove(CartEntry o) {
- return entries.remove(o);
- }
-
- public boolean removeAll(Collection arg0) {
- Iterator i = arg0.iterator();
- while (i.hasNext()) {
- CartEntry entry = (CartEntry) i.next();
- }
- return entries.removeAll(arg0);
- }
-
- public boolean retainAll(Collection arg0) {
- return entries.retainAll(arg0);
- }
-
- public Object set(int arg0, CartEntry arg1) {
- return entries.set(arg0, arg1);
- }
-
- public int entrySize() {
- return entries.size();
- }
-
- public List subList(int fromIndex, int toIndex) {
- return entries.subList(fromIndex, toIndex);
- }
-
public boolean equals(Object that) {
if (this == that) {
return true;
@@ -188,7 +92,7 @@
}
return equals((Cart) that);
}
-
+
public boolean equals(Cart that) {
if (this == that) {
return true;
@@ -198,7 +102,7 @@
}
return this.id == that.id;
}
-
+
public int hashCode() {
return (int) id;
}
Copied: db/jdo/trunk/tck20/test/orm/applicationidentity/org/apache/jdo/tck/pc/shoppingcart/package-derby8.orm (from r366223, db/jdo/trunk/tck20/test/orm/applicationidentity/org/apache/jdo/tck/pc/shoppingcart/package-derby.orm)
URL: http://svn.apache.org/viewcvs/db/jdo/trunk/tck20/test/orm/applicationidentity/org/apache/jdo/tck/pc/shoppingcart/package-derby8.orm?p2=db/jdo/trunk/tck20/test/orm/applicationidentity/org/apache/jdo/tck/pc/shoppingcart/package-derby8.orm&p1=db/jdo/trunk/tck20/test/orm/applicationidentity/org/apache/jdo/tck/pc/shoppingcart/package-derby.orm&r1=366223&r2=366283&rev=366283&view=diff
==============================================================================
--- db/jdo/trunk/tck20/test/orm/applicationidentity/org/apache/jdo/tck/pc/shoppingcart/package-derby.orm (original)
+++ db/jdo/trunk/tck20/test/orm/applicationidentity/org/apache/jdo/tck/pc/shoppingcart/package-derby8.orm Thu Jan 5 13:25:43 2006
@@ -16,8 +16,8 @@
<class name="CartEntry" table="CART_ENTRIES">
<field name="id" column="ID"/>
<field name="quantity" column="QUANTITY"/>
- <field name="product" column="SKU"/>
- <field name="cart" column="CART_ID"/>
+ <field name="product" column="SKU" foreign-key="true"/>
+ <field name="cart" column="CART_ID" foreign-key="true"/>
</class>
<class name="Product" table="PRODUCTS">
@@ -26,7 +26,7 @@
</class>
<class name="Undetachable" table="UNDETACHABLES">
- <field name="id" column="UNDETACHABLE_ID"/>
+ <field name="id" column="ID"/>
<field name="foo" column="FOO"/>
<field name="bar" column="BAR"/>
</class>
Copied: db/jdo/trunk/tck20/test/orm/datastoreidentity/org/apache/jdo/tck/pc/shoppingcart/package-derby8.orm (from r366223, db/jdo/trunk/tck20/test/orm/datastoreidentity/org/apache/jdo/tck/pc/shoppingcart/package-derby.orm)
URL: http://svn.apache.org/viewcvs/db/jdo/trunk/tck20/test/orm/datastoreidentity/org/apache/jdo/tck/pc/shoppingcart/package-derby8.orm?p2=db/jdo/trunk/tck20/test/orm/datastoreidentity/org/apache/jdo/tck/pc/shoppingcart/package-derby8.orm&p1=db/jdo/trunk/tck20/test/orm/datastoreidentity/org/apache/jdo/tck/pc/shoppingcart/package-derby.orm&r1=366223&r2=366283&rev=366283&view=diff
==============================================================================
--- db/jdo/trunk/tck20/test/orm/datastoreidentity/org/apache/jdo/tck/pc/shoppingcart/package-derby.orm (original)
+++ db/jdo/trunk/tck20/test/orm/datastoreidentity/org/apache/jdo/tck/pc/shoppingcart/package-derby8.orm Thu Jan 5 13:25:43 2006
@@ -8,25 +8,33 @@
<package name="org.apache.jdo.tck.pc.shoppingcart">
<class name="Cart" table="CARTS">
- <field name="id" column="CART_ID" primary-key="true"/>
+ <datastore-identity strategy="increment" column="DATASTORE_ID"/>
+
+ <field name="id" column="CART_ID"/>
<field name="customerId" column="CUSTOMER_ID"/>
<field name="entries" mapped-by="cart"/>
</class>
<class name="CartEntry" table="CART_ENTRIES">
- <field name="id" column="ID" primary-key="true"/>
+ <datastore-identity strategy="increment" column="DATASTORE_ID"/>
+
+ <field name="id" column="ID"/>
<field name="quantity" column="QUANTITY"/>
<field name="product" column="SKU" foreign-key="true"/>
<field name="cart" column="CART_ID" foreign-key="true"/>
</class>
<class name="Product" table="PRODUCTS">
- <field name="sku" column="SKU" primary-key="true"/>
+ <datastore-identity strategy="uuid-hex" column="DATASTORE_ID"/>
+
+ <field name="sku" column="SKU"/>
<field name="description" column="DESCRIPTION"/>
</class>
<class name="Undetachable" table="UNDETACHABLES">
- <field name="id" column="UNDETACHABLE_ID" primary-key="true"/>
+ <datastore-identity strategy="increment" column="DATASTORE_ID"/>
+
+ <field name="id" column="ID"/>
<field name="foo" column="FOO"/>
<field name="bar" column="BAR"/>
</class>
Modified: db/jdo/trunk/tck20/test/sql/derby/applicationidentity/schema8.sql
URL: http://svn.apache.org/viewcvs/db/jdo/trunk/tck20/test/sql/derby/applicationidentity/schema8.sql?rev=366283&r1=366282&r2=366283&view=diff
==============================================================================
--- db/jdo/trunk/tck20/test/sql/derby/applicationidentity/schema8.sql (original)
+++ db/jdo/trunk/tck20/test/sql/derby/applicationidentity/schema8.sql Thu Jan 5 13:25:43 2006
@@ -12,7 +12,7 @@
CREATE TABLE CARTS (
CART_ID BIGINT NOT NULL,
- CUSTOMER_ID INTEGER NOT NULL,
+ CUSTOMER_ID VARCHAR(128) NOT NULL,
CONSTRAINT CARTS_PK PRIMARY KEY (CART_ID)
);
@@ -26,6 +26,7 @@
CREATE TABLE CART_ENTRIES (
ID BIGINT NOT NULL,
+ QUANTITY INTEGER DEFAULT 0,
CART_ID BIGINT NOT NULL,
SKU VARCHAR(48) NOT NULL,
Modified: db/jdo/trunk/tck20/test/sql/derby/datastoreidentity/schema8.sql
URL: http://svn.apache.org/viewcvs/db/jdo/trunk/tck20/test/sql/derby/datastoreidentity/schema8.sql?rev=366283&r1=366282&r2=366283&view=diff
==============================================================================
--- db/jdo/trunk/tck20/test/sql/derby/datastoreidentity/schema8.sql (original)
+++ db/jdo/trunk/tck20/test/sql/derby/datastoreidentity/schema8.sql Thu Jan 5 13:25:43 2006
@@ -11,33 +11,46 @@
DROP TABLE UNDETACHABLES;
CREATE TABLE CARTS (
+
+ DATASTORE_ID BIGINT NOT NULL,
CART_ID BIGINT NOT NULL,
- CUSTOMER_ID INTEGER NOT NULL,
+ CUSTOMER_ID VARCHAR(128) NOT NULL,
- CONSTRAINT CARTS_PK PRIMARY KEY (CART_ID)
+ CONSTRAINT CARTS_PK PRIMARY KEY (DATASTORE_ID),
+ CONSTRAINT CARTS_UK UNIQUE (CART_ID)
);
CREATE TABLE PRODUCTS (
+
+ DATASTORE_ID VARCHAR(48) NOT NULL,
SKU VARCHAR(48) NOT NULL,
DESCRIPTION VARCHAR(128),
- CONSTRAINT PRODUCTS_PK PRIMARY KEY (SKU)
+ CONSTRAINT PRODUCTS_PK PRIMARY KEY (DATASTORE_ID),
+ CONSTRAINT PRODUCTS_UK UNIQUE (SKU)
);
CREATE TABLE CART_ENTRIES (
+
+ DATASTORE_ID BIGINT NOT NULL,
ID BIGINT NOT NULL,
+ QUANTITY INTEGER DEFAULT 0,
CART_ID BIGINT NOT NULL,
SKU VARCHAR(48) NOT NULL,
- CONSTRAINT CART_ENTRIES_PK PRIMARY KEY (ID),
+ CONSTRAINT CART_ENTRIES_PK PRIMARY KEY (DATASTORE_ID),
+ CONSTRAINT CART_ENTRIES_UK UNIQUE (ID),
CONSTRAINT CARTS_FK FOREIGN KEY (CART_ID) REFERENCES CARTS,
CONSTRAINT PRODUCTS_FK FOREIGN KEY (SKU) REFERENCES PRODUCTS
);
CREATE TABLE UNDETACHABLES (
+
+ DATASTORE_ID BIGINT NOT NULL,
ID BIGINT NOT NULL,
FOO INTEGER,
BAR INTEGER,
- CONSTRAINT UNDETACHABLES_PK PRIMARY KEY (ID)
+ CONSTRAINT UNDETACHABLES_PK PRIMARY KEY (DATASTORE_ID),
+ CONSTRAINT UNDETACHABLES_UK UNIQUE (ID)
);