Return-Path: Delivered-To: apmail-db-ojb-dev-archive@www.apache.org Received: (qmail 61385 invoked from network); 26 Sep 2006 11:23:18 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 26 Sep 2006 11:23:18 -0000 Received: (qmail 34172 invoked by uid 500); 26 Sep 2006 11:23:18 -0000 Delivered-To: apmail-db-ojb-dev-archive@db.apache.org Received: (qmail 34038 invoked by uid 500); 26 Sep 2006 11:23:17 -0000 Mailing-List: contact ojb-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "OJB Developers List" Reply-To: "OJB Developers List" Delivered-To: mailing list ojb-dev@db.apache.org Received: (qmail 34027 invoked by uid 500); 26 Sep 2006 11:23:17 -0000 Received: (qmail 34024 invoked by uid 99); 26 Sep 2006 11:23:17 -0000 Received: from idunn.apache.osuosl.org (HELO idunn.apache.osuosl.org) (140.211.166.84) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 26 Sep 2006 04:23:17 -0700 Authentication-Results: idunn.apache.osuosl.org smtp.mail=arminw@apache.org; spf=permerror X-ASF-Spam-Status: No, hits=-9.4 required=5.0 tests=ALL_TRUSTED,NO_REAL_NAME Received-SPF: error (idunn.apache.osuosl.org: domain apache.org from 140.211.166.113 cause and error) Received: from [140.211.166.113] ([140.211.166.113:51459] helo=eris.apache.org) by idunn.apache.osuosl.org (ecelerity 2.1.1.8 r(12930)) with ESMTP id 4A/70-08646-4AD09154 for ; Tue, 26 Sep 2006 04:23:16 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 833461A981A; Tue, 26 Sep 2006 04:23:14 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r449988 - /db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/CollectionTest.java Date: Tue, 26 Sep 2006 11:23:14 -0000 To: ojb-commits@db.apache.org From: arminw@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20060926112314.833461A981A@eris.apache.org> X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: arminw Date: Tue Sep 26 04:23:13 2006 New Revision: 449988 URL: http://svn.apache.org/viewvc?view=rev&rev=449988 Log: add new test, fix tests Modified: db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/CollectionTest.java Modified: db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/CollectionTest.java URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/CollectionTest.java?view=diff&rev=449988&r1=449987&r2=449988 ============================================================================== --- db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/CollectionTest.java (original) +++ db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/CollectionTest.java Tue Sep 26 04:23:13 2006 @@ -12,10 +12,10 @@ import org.apache.ojb.broker.metadata.ObjectReferenceDescriptor; import org.apache.ojb.broker.query.Criteria; import org.apache.ojb.broker.query.Query; -import org.apache.ojb.broker.query.QueryByCriteria; import org.apache.ojb.broker.query.QueryFactory; +import org.apache.ojb.broker.query.QueryByCriteria; import org.apache.ojb.broker.util.ObjectModification; -import org.apache.ojb.broker.util.collections.RemovalAwareCollection; +import org.apache.ojb.broker.util.collections.RemovalAwareList; import org.apache.ojb.junit.PBTestCase; /** @@ -65,7 +65,6 @@ * * TODO: Need some refactoring and more structured tests of different auto_xyz/proxy settings * - * @author Armin Waibel * @version $Id$ */ public class CollectionTest extends PBTestCase @@ -120,7 +119,7 @@ broker.clearCache(); Criteria criteria = new Criteria(); criteria.addLike("name", prefix + "%"); - Query q = new QueryByCriteria(BookShelfItem.class, criteria); + Query q = QueryFactory.newQuery(BookShelfItem.class, criteria); Collection result = broker.getCollectionByQuery(q); assertNotNull(result); assertEquals(3, result.size()); @@ -182,7 +181,7 @@ broker.clearCache(); Criteria criteria = new Criteria(); criteria.addLike("name", prefix + "%"); - Query q = new QueryByCriteria(BookShelfItem.class, criteria); + Query q = QueryFactory.newQuery(BookShelfItem.class, criteria); Collection items = broker.getCollectionByQuery(q); assertNotNull(items); assertEquals(2, items.size()); @@ -221,6 +220,36 @@ assertEquals(4, i); } + public void testDeleteProxyCollection() throws Exception + { + String name = "testDeleteProxyCollection_"+System.currentTimeMillis(); + Gatherer gat = new Gatherer(null, name); + CollectibleB[] cols = prepareCollectibleB(name); + + gat.setCollectiblesB(Arrays.asList(cols)); + broker.beginTransaction(); + broker.store(gat); + broker.commitTransaction(); + + broker.clearCache(); + broker.beginTransaction(); + Criteria crit1 = new Criteria(); + crit1.addLike("name", name); + Query q1 = QueryFactory.newQuery(Gatherer.class, crit1); + Gatherer newGat1 = (Gatherer)broker.getObjectByQuery(q1); + newGat1.getCollectiblesB().clear(); + broker.store(newGat1); // should delete CollectibleBs + broker.commitTransaction(); + + broker.clearCache(); + Criteria crit2 = new Criteria(); + crit2.addLike("name", name); + Query q2 = QueryFactory.newQuery(Gatherer.class, crit2); + Gatherer newGat2 = (Gatherer)broker.getObjectByQuery(q2); + int size = newGat2.getCollectiblesB().size(); + assertEquals(0, size); + } + public void testStoreReadOfUserDefinedCollectionClass() { String name = "testStoreReadOfUserDefinedCollectionClass_"+System.currentTimeMillis(); @@ -319,20 +348,21 @@ Criteria criteria = new Criteria(); criteria.addLike("name", colPrefix + "_colBase*"); - Query q = new QueryByCriteria(CollectibleBase.class, criteria); + Query q = QueryFactory.newQuery(CollectibleBase.class, criteria); Collection result = broker.getCollectionByQuery(q); assertNotNull(result); assertEquals("Wrong number of queried objects", 3, result.size()); criteria = new Criteria(); criteria.addLike("name", colPrefix + "_colB*"); - q = new QueryByCriteria(CollectibleB.class, criteria); + q = QueryFactory.newQuery(CollectibleB.class, criteria); result = broker.getCollectionByQuery(q); assertNotNull(result); assertEquals("Wrong number of queried objects", 4, result.size()); criteria = new Criteria(); criteria.addLike("name", colPrefix + "*"); + //q = QueryFactory.newQuery(CollectibleBaseIF.class, criteria); q = new QueryByCriteria(CollectibleBaseIF.class, criteria); result = broker.getCollectionByQuery(q); assertNotNull(result); @@ -358,7 +388,7 @@ criteria = new Criteria(); criteria.addLike("name", colPrefix + "_colBase*"); - q = new QueryByCriteria(CollectibleBase.class, criteria); + q = QueryFactory.newQuery(CollectibleBase.class, criteria); result = broker.getCollectionByQuery(q); assertNotNull(result); // auto-delete is set true @@ -366,7 +396,7 @@ criteria = new Criteria(); criteria.addLike("name", colPrefix + "_colB*"); - q = new QueryByCriteria(CollectibleB.class, criteria); + q = QueryFactory.newQuery(CollectibleB.class, criteria); result = broker.getCollectionByQuery(q); assertNotNull(result); // auto-delete is set false, but we removed manually @@ -374,6 +404,7 @@ criteria = new Criteria(); criteria.addLike("name", colPrefix + "*"); + //q = QueryFactory.newQuery(CollectibleBaseIF.class, criteria); q = new QueryByCriteria(CollectibleBaseIF.class, criteria); result = broker.getCollectionByQuery(q); assertNotNull(result); @@ -421,27 +452,28 @@ Criteria criteria = new Criteria(); criteria.addLike("name", colPrefix + "_colBase*"); - Query q = new QueryByCriteria(CollectibleBase.class, criteria); + Query q = QueryFactory.newQuery(CollectibleBase.class, criteria); Collection result = broker.getCollectionByQuery(q); assertNotNull(result); assertEquals("Wrong number of queried objects", 3, result.size()); criteria = new Criteria(); criteria.addLike("name", colPrefix + "_colB*"); - q = new QueryByCriteria(CollectibleB.class, criteria); + q = QueryFactory.newQuery(CollectibleB.class, criteria); result = broker.getCollectionByQuery(q); assertNotNull(result); assertEquals("Wrong number of queried objects", 4, result.size()); criteria = new Criteria(); criteria.addLike("name", colPrefix + "*"); + //q = QueryFactory.newQuery(CollectibleBaseIF.class, criteria); q = new QueryByCriteria(CollectibleBaseIF.class, criteria); result = broker.getCollectionByQuery(q); assertNotNull(result); assertEquals("Wrong number of queried objects", 7, result.size()); broker.beginTransaction(); - // now get all CollectibleB + // now get all CollectibleB and delete them, because auto-delete is false List colBList = new_gatherer.getCollectiblesB(); for (Iterator iterator = colBList.iterator(); iterator.hasNext();) { @@ -457,7 +489,7 @@ criteria = new Criteria(); criteria.addLike("name", colPrefix + "_colBase*"); - q = new QueryByCriteria(CollectibleBase.class, criteria); + q = QueryFactory.newQuery(CollectibleBase.class, criteria); result = broker.getCollectionByQuery(q); assertNotNull(result); // auto-delete is set true @@ -465,7 +497,7 @@ criteria = new Criteria(); criteria.addLike("name", colPrefix + "_colB*"); - q = new QueryByCriteria(CollectibleB.class, criteria); + q = QueryFactory.newQuery(CollectibleB.class, criteria); result = broker.getCollectionByQuery(q); assertNotNull(result); // auto-delete is set false @@ -473,6 +505,7 @@ criteria = new Criteria(); criteria.addLike("name", colPrefix + "*"); + //q = QueryFactory.newQuery(CollectibleBaseIF.class, criteria); q = new QueryByCriteria(CollectibleBaseIF.class, criteria); result = broker.getCollectionByQuery(q); assertNotNull(result); @@ -516,7 +549,7 @@ Criteria criteria = new Criteria(); criteria.addLike("name", colPrefix + "*"); - Query q = new QueryByCriteria(CollectibleC2.class, criteria); + Query q = QueryFactory.newQuery(CollectibleC2.class, criteria); Collection result = broker.getCollectionByQuery(q); assertNotNull(result); assertEquals("Wrong number of queried objects", 5, result.size()); @@ -536,7 +569,7 @@ criteria = new Criteria(); criteria.addLike("name", colPrefix + "*"); - q = new QueryByCriteria(CollectibleC2.class, criteria); + q = QueryFactory.newQuery(CollectibleC2.class, criteria); result = broker.getCollectionByQuery(q); assertNotNull(result); assertEquals("Wrong number of queried objects", 0, result.size()); @@ -584,14 +617,14 @@ Criteria criteria = new Criteria(); criteria.addLike("name", colPrefix + "_colD*"); criteria.addLike("name", colPrefix + "*"); - Query q = new QueryByCriteria(CollectibleD.class, criteria); + Query q = QueryFactory.newQuery(CollectibleD.class, criteria); Collection result = broker.getCollectionByQuery(q); assertNotNull(result); assertEquals("Wrong number of queried objects", 2, result.size()); criteria = new Criteria(); criteria.addLike("name", colPrefix + "_colDD*"); - q = new QueryByCriteria(CollectibleDD.class, criteria); + q = QueryFactory.newQuery(CollectibleDD.class, criteria); result = broker.getCollectionByQuery(q); assertNotNull(result); assertEquals("Wrong number of queried objects", 3, result.size()); @@ -600,20 +633,21 @@ // should only return CollectibleD class instances criteria = new Criteria(); criteria.addLike("name", colPrefix + "*"); - q = new QueryByCriteria(CollectibleD.class, criteria); + q = QueryFactory.newQuery(CollectibleD.class, criteria); result = broker.getCollectionByQuery(q); assertNotNull(result); assertEquals("Wrong number of queried objects", 2, result.size()); // now test objConcreteClass feature criteria = new Criteria(); criteria.addLike("name", colPrefix + "*"); - q = new QueryByCriteria(CollectibleDD.class, criteria); + q = QueryFactory.newQuery(CollectibleDD.class, criteria); result = broker.getCollectionByQuery(q); assertNotNull(result); assertEquals("Wrong number of queried objects", 3, result.size()); criteria = new Criteria(); criteria.addLike("name", colPrefix + "*"); + //q = QueryFactory.newQuery(CollectibleBaseIF.class, criteria); q = new QueryByCriteria(CollectibleBaseIF.class, criteria); result = broker.getCollectionByQuery(q); assertNotNull(result); @@ -632,7 +666,7 @@ criteria = new Criteria(); criteria.addLike("name", colPrefix + "_colD*"); - q = new QueryByCriteria(CollectibleD.class, criteria); + q = QueryFactory.newQuery(CollectibleD.class, criteria); result = broker.getCollectionByQuery(q); assertNotNull(result); // auto-delete is set true @@ -640,7 +674,7 @@ criteria = new Criteria(); criteria.addLike("name", colPrefix + "_colDD*"); - q = new QueryByCriteria(CollectibleDD.class, criteria); + q = QueryFactory.newQuery(CollectibleDD.class, criteria); result = broker.getCollectionByQuery(q); assertNotNull(result); // auto-delete is set true @@ -648,6 +682,7 @@ criteria = new Criteria(); criteria.addLike("name", colPrefix + "*"); + //q = QueryFactory.newQuery(CollectibleBaseIF.class, criteria); q = new QueryByCriteria(CollectibleBaseIF.class, criteria); result = broker.getCollectionByQuery(q); assertNotNull(result); @@ -686,20 +721,21 @@ Criteria criteria = new Criteria(); criteria.addLike("name", colPrefix + "_colBase*"); - Query q = new QueryByCriteria(CollectibleBase.class, criteria); + Query q = QueryFactory.newQuery(CollectibleBase.class, criteria); Collection result = broker.getCollectionByQuery(q); assertNotNull(result); assertEquals("Wrong number of queried objects", 3, result.size()); criteria = new Criteria(); criteria.addLike("name", colPrefix + "_colB*"); - q = new QueryByCriteria(CollectibleB.class, criteria); + q = QueryFactory.newQuery(CollectibleB.class, criteria); result = broker.getCollectionByQuery(q); assertNotNull(result); assertEquals("Wrong number of queried objects", 4, result.size()); criteria = new Criteria(); criteria.addLike("name", colPrefix + "*"); + //q = QueryFactory.newQuery(CollectibleBaseIF.class, criteria); q = new QueryByCriteria(CollectibleBaseIF.class, criteria); result = broker.getCollectionByQuery(q); assertNotNull(result); @@ -739,7 +775,7 @@ // additional check, read reference objects by query Criteria criteria = new Criteria(); criteria.addLike("name", colPrefix+"*"); - Query q = new QueryByCriteria(CollectibleBase.class, criteria); + Query q = QueryFactory.newQuery(CollectibleBase.class, criteria); Collection result = broker.getCollectionByQuery(q); assertNotNull(result); assertEquals("Wrong number of queried objects", 3, result.size()); @@ -804,6 +840,7 @@ Criteria criteria = new Criteria(); criteria.addLike("name", colPrefix + "_colC*"); + // Query q = QueryFactory.newQuery(CollectibleC.class, criteria); Query q = new QueryByCriteria(CollectibleC.class, criteria); Collection result = broker.getCollectionByQuery(q); assertNotNull(result); @@ -811,6 +848,7 @@ criteria = new Criteria(); criteria.addLike("name", colPrefix + "*"); + //q = QueryFactory.newQuery(CollectibleBaseIF.class, criteria); q = new QueryByCriteria(CollectibleBaseIF.class, criteria); result = broker.getCollectionByQuery(q); assertNotNull(result); @@ -844,7 +882,7 @@ broker.clearCache(); Criteria criteria = new Criteria(); criteria.addLike("name", prefix); - Query q = new QueryByCriteria(BookShelf.class, criteria); + Query q = QueryFactory.newQuery(BookShelf.class, criteria); Collection books = broker.getCollectionByQuery(q); assertNotNull(books); assertEquals(1, books.size()); @@ -882,7 +920,7 @@ broker.clearCache(); Criteria criteria = new Criteria(); criteria.addLike("name", prefix); - Query q = new QueryByCriteria(BookShelf.class, criteria); + Query q = QueryFactory.newQuery(BookShelf.class, criteria); Iterator books = broker.getIteratorByQuery(q); assertTrue(books.hasNext()); loadedCopy = (BookShelf) books.next(); @@ -917,7 +955,7 @@ loadedCopy = (Gatherer) broker.getObjectByIdentity(gathererId); assertNotNull(loadedCopy); assertNotNull(loadedCopy.getCollectiblesBase()); - assertTrue(loadedCopy.getCollectiblesBase() instanceof RemovalAwareCollection); + assertTrue(loadedCopy.getCollectiblesBase() instanceof RemovalAwareList); assertEquals(3, loadedCopy.getCollectiblesBase().size()); // @@ -932,7 +970,7 @@ loadedCopy = (Gatherer) broker.getObjectByIdentity(gathererId); assertNotNull(loadedCopy); assertNotNull(loadedCopy.getCollectiblesBase()); - assertTrue(loadedCopy.getCollectiblesBase() instanceof RemovalAwareCollection); + assertTrue(loadedCopy.getCollectiblesBase() instanceof RemovalAwareList); assertEquals(2, loadedCopy.getCollectiblesBase().size()); // @@ -947,7 +985,7 @@ loadedCopy = (Gatherer) broker.getObjectByIdentity(gathererId); assertNotNull(loadedCopy); assertNotNull(loadedCopy.getCollectiblesBase()); - assertTrue(loadedCopy.getCollectiblesBase() instanceof RemovalAwareCollection); + assertTrue(loadedCopy.getCollectiblesBase() instanceof RemovalAwareList); assertEquals(0, loadedCopy.getCollectiblesBase().size()); } @@ -976,7 +1014,7 @@ loadedCopy = (Gatherer) broker.getObjectByIdentity(gathererId); assertNotNull(loadedCopy); assertNotNull(loadedCopy.getCollectiblesBase()); - assertTrue(loadedCopy.getCollectiblesBase() instanceof RemovalAwareCollection); + assertTrue(loadedCopy.getCollectiblesBase() instanceof RemovalAwareList); assertEquals(2, loadedCopy.getCollectiblesBase().size()); // add and remove non persistent obj @@ -1020,7 +1058,7 @@ loadedCopy = (ProductGroup) broker.getObjectByIdentity(pgId); assertNotNull(loadedCopy); assertNotNull(loadedCopy.getAllArticlesInGroup()); - assertTrue(loadedCopy.getAllArticlesInGroup() instanceof RemovalAwareCollection); + assertTrue(loadedCopy.getAllArticlesInGroup() instanceof RemovalAwareList); assertEquals(3, loadedCopy.getAllArticlesInGroup().size()); // @@ -1035,7 +1073,7 @@ loadedCopy = (ProductGroup) broker.getObjectByIdentity(pgId); assertNotNull(loadedCopy); assertNotNull(loadedCopy.getAllArticlesInGroup()); - assertTrue(loadedCopy.getAllArticlesInGroup() instanceof RemovalAwareCollection); + assertTrue(loadedCopy.getAllArticlesInGroup() instanceof RemovalAwareList); assertEquals(2, loadedCopy.getAllArticlesInGroup().size()); // @@ -1050,7 +1088,7 @@ loadedCopy = (ProductGroup) broker.getObjectByIdentity(pgId); assertNotNull(loadedCopy); assertNotNull(loadedCopy.getAllArticlesInGroup()); - assertTrue(loadedCopy.getAllArticlesInGroup() instanceof RemovalAwareCollection); + assertTrue(loadedCopy.getAllArticlesInGroup() instanceof RemovalAwareList); assertEquals(0, loadedCopy.getAllArticlesInGroup().size()); } --------------------------------------------------------------------- To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org For additional commands, e-mail: ojb-dev-help@db.apache.org