Author: arminw
Date: Sun Jan 8 11:58:11 2006
New Revision: 367077
URL: http://svn.apache.org/viewcvs?rev=367077&view=rev
Log:
add new Test, update Tests to check PersistentFieldCGLibImpl too
Modified:
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/metadata/PersistentFieldPerfTest.java
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/metadata/PersistentFieldTest.java
Modified:
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/metadata/PersistentFieldPerfTest.java
URL:
http://svn.apache.org/viewcvs/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/metadata/PersistentFieldPerfTest.java?rev=367077&r1=367076&r2=367077&view=diff
==============================================================================
---
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/metadata/PersistentFieldPerfTest.java
(original)
+++
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/metadata/PersistentFieldPerfTest.java
Sun Jan 8 11:58:11 2006
@@ -8,6 +8,7 @@
import org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDirectImpl;
import
org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldIntrospectorImpl;
import
org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldPrivilegedImpl;
+import org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldCGLibImpl;
import org.apache.ojb.broker.util.ClassHelper;
import org.apache.ojb.junit.OJBTestCase;
@@ -52,6 +53,7 @@
Class[] persistentFieldClasses = new Class[]{
PersistentFieldDirectImpl.class
+ , PersistentFieldCGLibImpl.class
, PersistentFieldIntrospectorImpl.class
, PersistentFieldPrivilegedImpl.class
, PersistentFieldAutoProxyImpl.class};
Modified:
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/metadata/PersistentFieldTest.java
URL:
http://svn.apache.org/viewcvs/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/metadata/PersistentFieldTest.java?rev=367077&r1=367076&r2=367077&view=diff
==============================================================================
---
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/metadata/PersistentFieldTest.java
(original)
+++
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/metadata/PersistentFieldTest.java
Sun Jan 8 11:58:11 2006
@@ -15,6 +15,7 @@
import org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDynaBeanImpl;
import
org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldIntrospectorImpl;
import
org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldPrivilegedImpl;
+import org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldCGLibImpl;
import org.apache.ojb.broker.util.ClassHelper;
import org.apache.ojb.broker.util.configuration.impl.OjbConfiguration;
import org.apache.ojb.broker.util.configuration.impl.OjbConfigurator;
@@ -48,6 +49,7 @@
Class[] persistentFieldClasses = new Class[]{
PersistentFieldDirectImpl.class
+ , PersistentFieldCGLibImpl.class
, PersistentFieldIntrospectorImpl.class
, PersistentFieldPrivilegedImpl.class
, PersistentFieldAutoProxyImpl.class
@@ -261,7 +263,43 @@
assertEquals("XXXX", result);
}
+ public void testPersistentFieldAuto() throws Exception
+ {
+ PersistentField pf_id = new
PersistentFieldAutoProxyImpl(TestObj.class, "id");
+ PersistentField pf_name = new
PersistentFieldAutoProxyImpl(TestObj.class, "name");
+ PersistentField pf_int = new
PersistentFieldAutoProxyImpl(TestObj.class, "aInt");
+ PersistentField pf_value = new
PersistentFieldAutoProxyImpl(TestObj.class, "value");
+
+ TestObj obj = new TestObj(new Integer(17), "name", 33, "value");
+
+ assertEquals(new Integer(17), pf_id.get(obj));
+ assertEquals("name", pf_name.get(obj));
+ assertEquals(new Integer(33), pf_int.get(obj));
+ assertEquals("value", pf_value.get(obj));
+
+ pf_id.set(obj, new Integer(222));
+ pf_name.set(obj, "new");
+ pf_int.set(obj, new Integer(111));
+ pf_value.set(obj, "new_value");
+
+ assertEquals(new Integer(222), pf_id.get(obj));
+ assertEquals("new", pf_name.get(obj));
+ assertEquals(new Integer(111), pf_int.get(obj));
+ assertEquals("new_value", pf_value.get(obj));
+ // test for exception
+ try
+ {
+ PersistentField pf_NotExist = new
PersistentFieldAutoProxyImpl(TestObj.class, "not_exist");
+ pf_NotExist.get(obj);
+ fail("Expect error for invalid field");
+ }
+ catch(Exception expected)
+ {
+ //expected.printStackTrace();
+ // is expected
+ }
+ }
//************************************************************************
// helper methods
@@ -544,6 +582,51 @@
public void setName(String name)
{
this.name = name;
+ }
+ }
+
+ abstract static class Base
+ {
+ Integer id;
+ private String name;
+ int aInt;
+
+ protected Base(Integer id, String name, int aInt)
+ {
+ this.id = id;
+ this.name = name;
+ this.aInt = aInt;
+ }
+ }
+
+ public static class TestObj extends Base
+ {
+ private String value;
+
+ public TestObj(Integer id, String name, int aInt, String value)
+ {
+ super(id, name, aInt);
+ this.value = value;
+ }
+
+ public int getaInt()
+ {
+ return aInt;
+ }
+
+ public void setaInt(int aInt)
+ {
+ this.aInt = aInt;
+ }
+
+ public String getValue()
+ {
+ return value;
+ }
+
+ public void setValue(String value)
+ {
+ this.value = value;
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]