Return-Path: Delivered-To: apmail-db-ojb-dev-archive@www.apache.org Received: (qmail 68760 invoked from network); 19 Feb 2006 11:51:54 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 19 Feb 2006 11:51:54 -0000 Received: (qmail 58397 invoked by uid 500); 19 Feb 2006 11:51:54 -0000 Delivered-To: apmail-db-ojb-dev-archive@db.apache.org Received: (qmail 58359 invoked by uid 500); 19 Feb 2006 11:51:54 -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 58348 invoked by uid 500); 19 Feb 2006 11:51:53 -0000 Received: (qmail 58345 invoked by uid 99); 19 Feb 2006 11:51:53 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 19 Feb 2006 03:51:53 -0800 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Sun, 19 Feb 2006 03:51:52 -0800 Received: (qmail 68684 invoked by uid 65534); 19 Feb 2006 11:51:32 -0000 Message-ID: <20060219115132.68683.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r378882 - in /db/ojb/trunk/src: schema/ test/org/apache/ojb/ test/org/apache/ojb/broker/ Date: Sun, 19 Feb 2006 11:51:30 -0000 To: ojb-commits@db.apache.org From: tomdz@apache.org X-Mailer: svnmailer-1.0.6 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: tomdz Date: Sun Feb 19 03:51:27 2006 New Revision: 378882 URL: http://svn.apache.org/viewcvs?rev=378882&view=rev Log: Added unit test for proxy handling for interface inheritance heirarchies Added: db/ojb/trunk/src/test/org/apache/ojb/broker/Ownable.java db/ojb/trunk/src/test/org/apache/ojb/broker/Ownable1.java db/ojb/trunk/src/test/org/apache/ojb/broker/Ownable1Impl.java db/ojb/trunk/src/test/org/apache/ojb/broker/Ownable2.java db/ojb/trunk/src/test/org/apache/ojb/broker/Ownable2Impl.java db/ojb/trunk/src/test/org/apache/ojb/broker/Owner.java Modified: db/ojb/trunk/src/schema/ojbtest-data-new.xml db/ojb/trunk/src/schema/ojbtest-data.dtd db/ojb/trunk/src/schema/ojbtest-data.xml db/ojb/trunk/src/schema/ojbtest-schema.xml db/ojb/trunk/src/test/org/apache/ojb/broker/ProxyExamples.java db/ojb/trunk/src/test/org/apache/ojb/repository_junit.xml Modified: db/ojb/trunk/src/schema/ojbtest-data-new.xml URL: http://svn.apache.org/viewcvs/db/ojb/trunk/src/schema/ojbtest-data-new.xml?rev=378882&r1=378881&r2=378882&view=diff ============================================================================== --- db/ojb/trunk/src/schema/ojbtest-data-new.xml (original) +++ db/ojb/trunk/src/schema/ojbtest-data-new.xml Sun Feb 19 03:51:27 2006 @@ -200,4 +200,9 @@ + + + + + Modified: db/ojb/trunk/src/schema/ojbtest-data.dtd URL: http://svn.apache.org/viewcvs/db/ojb/trunk/src/schema/ojbtest-data.dtd?rev=378882&r1=378881&r2=378882&view=diff ============================================================================== --- db/ojb/trunk/src/schema/ojbtest-data.dtd (original) +++ db/ojb/trunk/src/schema/ojbtest-data.dtd Sun Feb 19 03:51:27 2006 @@ -177,7 +177,10 @@ PATable| PBTable| PCTable| - PDTable)*> + PDTable| + Owner| + Ownable1| + Ownable2)*> @@ -1362,3 +1365,18 @@ DAttrib CDATA #IMPLIED > + + + + + + + + Modified: db/ojb/trunk/src/schema/ojbtest-data.xml URL: http://svn.apache.org/viewcvs/db/ojb/trunk/src/schema/ojbtest-data.xml?rev=378882&r1=378881&r2=378882&view=diff ============================================================================== --- db/ojb/trunk/src/schema/ojbtest-data.xml (original) +++ db/ojb/trunk/src/schema/ojbtest-data.xml Sun Feb 19 03:51:27 2006 @@ -204,5 +204,10 @@ - + + + + + + Modified: db/ojb/trunk/src/schema/ojbtest-schema.xml URL: http://svn.apache.org/viewcvs/db/ojb/trunk/src/schema/ojbtest-schema.xml?rev=378882&r1=378881&r2=378882&view=diff ============================================================================== --- db/ojb/trunk/src/schema/ojbtest-schema.xml (original) +++ db/ojb/trunk/src/schema/ojbtest-schema.xml Sun Feb 19 03:51:27 2006 @@ -1879,4 +1879,14 @@ + + + +
+ + +
+ + +
Added: db/ojb/trunk/src/test/org/apache/ojb/broker/Ownable.java URL: http://svn.apache.org/viewcvs/db/ojb/trunk/src/test/org/apache/ojb/broker/Ownable.java?rev=378882&view=auto ============================================================================== --- db/ojb/trunk/src/test/org/apache/ojb/broker/Ownable.java (added) +++ db/ojb/trunk/src/test/org/apache/ojb/broker/Ownable.java Sun Feb 19 03:51:27 2006 @@ -0,0 +1,9 @@ +package org.apache.ojb.broker; + +import java.io.Serializable; + +/** + * Interface for testing proxies with interface-hierarchies. + */ +public interface Ownable extends Serializable +{} Added: db/ojb/trunk/src/test/org/apache/ojb/broker/Ownable1.java URL: http://svn.apache.org/viewcvs/db/ojb/trunk/src/test/org/apache/ojb/broker/Ownable1.java?rev=378882&view=auto ============================================================================== --- db/ojb/trunk/src/test/org/apache/ojb/broker/Ownable1.java (added) +++ db/ojb/trunk/src/test/org/apache/ojb/broker/Ownable1.java Sun Feb 19 03:51:27 2006 @@ -0,0 +1,7 @@ +package org.apache.ojb.broker; + +/** + * Interface for testing proxies with interface-hierarchies. + */ +public interface Ownable1 extends Ownable +{} Added: db/ojb/trunk/src/test/org/apache/ojb/broker/Ownable1Impl.java URL: http://svn.apache.org/viewcvs/db/ojb/trunk/src/test/org/apache/ojb/broker/Ownable1Impl.java?rev=378882&view=auto ============================================================================== --- db/ojb/trunk/src/test/org/apache/ojb/broker/Ownable1Impl.java (added) +++ db/ojb/trunk/src/test/org/apache/ojb/broker/Ownable1Impl.java Sun Feb 19 03:51:27 2006 @@ -0,0 +1,9 @@ +package org.apache.ojb.broker; + +/** + * Class for testing proxies with interface-hierarchies. + */ +public class Ownable1Impl implements Ownable1 +{ + private Integer id; +} Added: db/ojb/trunk/src/test/org/apache/ojb/broker/Ownable2.java URL: http://svn.apache.org/viewcvs/db/ojb/trunk/src/test/org/apache/ojb/broker/Ownable2.java?rev=378882&view=auto ============================================================================== --- db/ojb/trunk/src/test/org/apache/ojb/broker/Ownable2.java (added) +++ db/ojb/trunk/src/test/org/apache/ojb/broker/Ownable2.java Sun Feb 19 03:51:27 2006 @@ -0,0 +1,7 @@ +package org.apache.ojb.broker; + +/** + * Interface for testing proxies with interface-hierarchies. + */ +public interface Ownable2 extends Ownable +{} Added: db/ojb/trunk/src/test/org/apache/ojb/broker/Ownable2Impl.java URL: http://svn.apache.org/viewcvs/db/ojb/trunk/src/test/org/apache/ojb/broker/Ownable2Impl.java?rev=378882&view=auto ============================================================================== --- db/ojb/trunk/src/test/org/apache/ojb/broker/Ownable2Impl.java (added) +++ db/ojb/trunk/src/test/org/apache/ojb/broker/Ownable2Impl.java Sun Feb 19 03:51:27 2006 @@ -0,0 +1,9 @@ +package org.apache.ojb.broker; + +/** + * Class for testing proxies with interface-hierarchies. + */ +public class Ownable2Impl implements Ownable2 +{ + private Integer id; +} Added: db/ojb/trunk/src/test/org/apache/ojb/broker/Owner.java URL: http://svn.apache.org/viewcvs/db/ojb/trunk/src/test/org/apache/ojb/broker/Owner.java?rev=378882&view=auto ============================================================================== --- db/ojb/trunk/src/test/org/apache/ojb/broker/Owner.java (added) +++ db/ojb/trunk/src/test/org/apache/ojb/broker/Owner.java Sun Feb 19 03:51:27 2006 @@ -0,0 +1,18 @@ +package org.apache.ojb.broker; + +import java.io.Serializable; + +/** + * Class for testing proxies with interface-hierarchies. + */ +public class Owner implements Serializable +{ + private Integer id; + private Integer ownedId; + private Ownable owned; + + public Ownable getOwned() + { + return owned; + } +} Modified: db/ojb/trunk/src/test/org/apache/ojb/broker/ProxyExamples.java URL: http://svn.apache.org/viewcvs/db/ojb/trunk/src/test/org/apache/ojb/broker/ProxyExamples.java?rev=378882&r1=378881&r2=378882&view=diff ============================================================================== --- db/ojb/trunk/src/test/org/apache/ojb/broker/ProxyExamples.java (original) +++ db/ojb/trunk/src/test/org/apache/ojb/broker/ProxyExamples.java Sun Feb 19 03:51:27 2006 @@ -1,6 +1,5 @@ package org.apache.ojb.broker; -import java.lang.reflect.Proxy; import java.util.Collection; import java.util.Iterator; import java.util.Vector; @@ -346,4 +345,23 @@ } } + public void testReferenceProxyWithInheritance() + { + Query query = QueryFactory.newQuery(Owner.class, new Criteria()); + Collection objs = broker.getCollectionByQuery(query); + + assertEquals(2, + objs.size()); + + Iterator it = objs.iterator(); + Ownable owned1 = ((Owner)it.next()).getOwned(); + Ownable owned2 = ((Owner)it.next()).getOwned(); + + assertTrue(ojb.getProxyFactory().isProxy(owned1)); + assertTrue(ojb.getProxyFactory().isProxy(owned2)); + // This should be true according the docs of class Proxy and because + // the concrete classes are Onwable2Impl/Onwable1Impl + assertTrue(owned1 instanceof Ownable2); + assertTrue(owned2 instanceof Ownable1); + } } Modified: db/ojb/trunk/src/test/org/apache/ojb/repository_junit.xml URL: http://svn.apache.org/viewcvs/db/ojb/trunk/src/test/org/apache/ojb/repository_junit.xml?rev=378882&r1=378881&r2=378882&view=diff ============================================================================== --- db/ojb/trunk/src/test/org/apache/ojb/repository_junit.xml (original) +++ db/ojb/trunk/src/test/org/apache/ojb/repository_junit.xml Sun Feb 19 03:51:27 2006 @@ -3378,4 +3378,70 @@ jdbc-type="VARCHAR" /> + + + + + + + + + + + + + + + + + + + + + + + + --------------------------------------------------------------------- To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org For additional commands, e-mail: ojb-dev-help@db.apache.org