You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by br...@apache.org on 2004/08/04 23:05:19 UTC

cvs commit: db-ojb/src/test/org/apache/ojb repository_junit.xml

brj         2004/08/04 14:05:19

  Modified:    src/test/org/apache/ojb/broker ProxyExamples.java
               src/test/org/apache/ojb repository_junit.xml
  Log:
  testcase for proxied references
  
  Revision  Changes    Path
  1.15      +44 -3     db-ojb/src/test/org/apache/ojb/broker/ProxyExamples.java
  
  Index: ProxyExamples.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/ProxyExamples.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- ProxyExamples.java	15 Jul 2004 21:46:56 -0000	1.14
  +++ ProxyExamples.java	4 Aug 2004 21:05:18 -0000	1.15
  @@ -1,15 +1,16 @@
   package org.apache.ojb.broker;
   
  +import java.lang.reflect.Proxy;
   import java.util.Collection;
   import java.util.Iterator;
   import java.util.Vector;
   
  +import org.apache.ojb.broker.core.proxy.ProxyHelper;
   import org.apache.ojb.broker.core.proxy.VirtualProxy;
  +import org.apache.ojb.broker.query.Criteria;
   import org.apache.ojb.broker.query.Query;
   import org.apache.ojb.broker.query.QueryFactory;
   import org.apache.ojb.junit.PBTestCase;
  -//#ifdef JDK13
  -import java.lang.reflect.Proxy;
   //#else
   /*
   import com.develop.java.lang.reflect.Proxy;
  @@ -253,7 +254,7 @@
   		}
   	}
   
  -	public void testReferenceProxies()
  +	public void testReferenceProxies1()
   	{
   		ArticleWithReferenceProxy a = new ArticleWithReferenceProxy();
   //		a.setArticleId(8888);
  @@ -275,6 +276,46 @@
   		ArticleWithReferenceProxy ar = (ArticleWithReferenceProxy) broker.getObjectByQuery(q);
   
   		assertEquals(id, ar.getProductGroup().getId());
  +	}
  +
  +	public void testReferenceProxies2()
  +	{
  +		ArticleWithReferenceProxy ar;
  +		InterfaceProductGroup pg, pga, pg_real;
  +		Criteria crit;
  +		Query query;
  +
  +		// load real obj first, then proxied obj
  +		broker.clearCache();
  +
  +		crit = new Criteria();
  +		crit.addEqualTo("groupId",new Integer(1));
  +		query = QueryFactory.newQuery(ProductGroupWithCollectionProxy.class, crit);
  +		pg = (InterfaceProductGroup)broker.getObjectByQuery(query);
  +
  +		crit = new Criteria();
  +		crit.addEqualTo("articleName","Chai");
  +		query = QueryFactory.newQuery(ArticleWithReferenceProxy.class, crit);
  +		ar = (ArticleWithReferenceProxy)broker.getObjectByQuery(query);
  +		pga = ar.getProductGroup(); 	// returns the real obj
  +
  +		assertSame(pg, pga);
  +		
  +		// load proxied obj first, then proxied obj
  +		broker.clearCache();
  +
  +		crit = new Criteria();
  +		crit.addEqualTo("articleName","Chai");
  +		query = QueryFactory.newQuery(ArticleWithReferenceProxy.class, crit);
  +		ar = (ArticleWithReferenceProxy)broker.getObjectByQuery(query);
  +		pga = ar.getProductGroup();		// returns a proxy
  +
  +		crit = new Criteria();
  +		crit.addEqualTo("groupId",new Integer(1));
  +		query = QueryFactory.newQuery(ProductGroupWithCollectionProxy.class, crit);
  +		pg = (InterfaceProductGroup)broker.getObjectByQuery(query);
  +		
  +		assertSame(pg, ProxyHelper.getIndirectionHandler(pga).getRealSubject());
   	}
   
   	/**
  
  
  
  1.118     +2 -2      db-ojb/src/test/org/apache/ojb/repository_junit.xml
  
  Index: repository_junit.xml
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/repository_junit.xml,v
  retrieving revision 1.117
  retrieving revision 1.118
  diff -u -r1.117 -r1.118
  --- repository_junit.xml	27 Jul 2004 23:38:50 -0000	1.117
  +++ repository_junit.xml	4 Aug 2004 21:05:19 -0000	1.118
  @@ -489,7 +489,7 @@
         />
         <reference-descriptor
            name="productGroup"
  -         class-ref="org.apache.ojb.broker.ProductGroup"
  +         class-ref="org.apache.ojb.broker.ProductGroupWithCollectionProxy"
            proxy="true"
            auto-update="true"
         >
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org