Author: arminw
Date: Thu Feb 2 11:25:37 2006
New Revision: 374466
URL: http://svn.apache.org/viewcvs?rev=374466&view=rev
Log:
add tests for OJB-93
Modified:
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/InheritanceMultipleTableTest.java
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/odmg/InheritanceMultipleTableTest.java
Modified:
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/InheritanceMultipleTableTest.java
URL:
http://svn.apache.org/viewcvs/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/InheritanceMultipleTableTest.java?rev=374466&r1=374465&r2=374466&view=diff
==============================================================================
---
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/InheritanceMultipleTableTest.java
(original)
+++
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/InheritanceMultipleTableTest.java
Thu Feb 2 11:25:37 2006
@@ -1216,6 +1216,36 @@
assertNull(newM1);
}
+ public void testDelete_2()
+ {
+ long timestamp = System.currentTimeMillis();
+ Long id_2 = new Long(timestamp);
+ String name = "testDelete_2_" + timestamp;
+ Manager m1 = new Manager(id_2, "manager_" + name);
+
+ broker.beginTransaction();
+ broker.store(m1);
+ broker.commitTransaction();
+
+ Identity m1_oid = broker.serviceIdentity().buildIdentity(m1);
+ broker.clearCache();
+ Manager newM1 = (Manager) broker.getObjectByIdentity(m1_oid);
+ assertNotNull(newM1);
+
+ broker.beginTransaction();
+ broker.delete(newM1);
+ broker.commitTransaction();
+
+ newM1 = (Manager) broker.getObjectByIdentity(m1_oid);
+ assertNull(newM1);
+
+ Query q = QueryFactory.newQuery(
+ Employee.class,
+ new Criteria().addEqualTo("id", m1.getId()).addEqualTo("name",
m1.getName()));
+ Object result = broker.getObjectByQuery(q);
+ assertNull(result);
+ }
+
/**
* Check backward compatibility with 'old' super-reference handling using
explicite
* anonymous field for FK to super class/table.
Modified:
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/odmg/InheritanceMultipleTableTest.java
URL:
http://svn.apache.org/viewcvs/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/odmg/InheritanceMultipleTableTest.java?rev=374466&r1=374465&r2=374466&view=diff
==============================================================================
---
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/odmg/InheritanceMultipleTableTest.java
(original)
+++
db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/odmg/InheritanceMultipleTableTest.java
Thu Feb 2 11:25:37 2006
@@ -759,7 +759,7 @@
long timestamp = System.currentTimeMillis();
Long id_2 = new Long(timestamp);
- String name = "testUpdate" + timestamp;
+ String name = "testDelete_" + timestamp;
Employee em1 = new Employee(id_2, "employee_" + name);
Executive ex1 = new Executive(id_2, "executive_" + name,
"department_1", null);
Executive ex2 = new Executive(id_2, "executive_" + name,
"department_2", null);
@@ -809,6 +809,52 @@
assertNull(newEm1);
assertNull(newEx1);
assertNull(newM1);
+ }
+
+ public void testDelete_2() throws Exception
+ {
+ // not all objects will be deleted
+ // arminw: fixed
+ // if (ojbSkipKnownIssueProblem()) return;
+
+ long timestamp = System.currentTimeMillis();
+ Long id_2 = new Long(timestamp);
+ String name = "testDelete_2_" + timestamp;
+ Manager m1 = new Manager(id_2, "manager_" + name);
+
+ TransactionExt tx = (TransactionExt) odmg.newTransaction();
+ tx.begin();
+ database.makePersistent(m1);
+ tx.commit();
+
+ tx.begin();
+ Identity m1_oid = tx.getBroker().serviceIdentity().buildIdentity(m1);
+ tx.getBroker().clearCache();
+ Manager newM1 = (Manager) tx.getBroker().getObjectByIdentity(m1_oid);
+ tx.commit();
+
+ assertNotNull(newM1);
+ //*************************************
+ tx.begin();
+ database.deletePersistent(newM1);
+ tx.commit();
+ //*************************************
+
+ tx.begin();
+ newM1 = (Manager) tx.getBroker().getObjectByIdentity(m1_oid);
+ tx.commit();
+
+ assertNull(newM1);
+
+ tx.begin();
+ OQLQuery query = odmg.newOQLQuery();
+ // search for entry in base class table, this should removed too
+ query.create("select m from " + Employee.class.getName() + " where
name = $1");
+ query.bind(m1.getName());
+ Collection result = (Collection) query.execute();
+ tx.commit();
+
+ assertEquals(0, result.size());
}
//************************************************************
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]