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 ar...@apache.org on 2003/08/11 15:43:42 UTC
cvs commit: db-ojb/src/java/org/apache/ojb/broker/core PersistenceBrokerHandle.java DelegatingPersistenceBroker.java
arminw 2003/08/11 06:43:42
Modified: src/test/org/apache/ojb/broker PersistenceBrokerTest.java
src/java/org/apache/ojb/broker/core
PersistenceBrokerHandle.java
DelegatingPersistenceBroker.java
Log:
fix PB.isClosed problem
Thanks Scott Gustafson
He wrote:
> If I run isClosed() on a PersistenceBroker which is closed, it throws an
> exception rather than just returning true, is this the sort of behavior that
> is expected?
Revision Changes Path
1.28 +35 -7 db-ojb/src/test/org/apache/ojb/broker/PersistenceBrokerTest.java
Index: PersistenceBrokerTest.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/PersistenceBrokerTest.java,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- PersistenceBrokerTest.java 12 Jul 2003 16:17:23 -0000 1.27
+++ PersistenceBrokerTest.java 11 Aug 2003 13:43:41 -0000 1.28
@@ -216,6 +216,33 @@
assertNull("should be null after deletion", b);
}
+ public void testPBisClosed()
+ {
+ PersistenceBroker pb = PersistenceBrokerFactory.defaultPersistenceBroker();
+
+ pb.beginTransaction();
+ assertTrue(pb.isInTransaction());
+ pb.commitTransaction();
+ assertFalse(pb.isInTransaction());
+
+ pb.beginTransaction();
+ pb.abortTransaction();
+ assertFalse(pb.isInTransaction());
+
+ pb.close();
+ assertTrue(pb.isClosed());
+
+ try
+ {
+ pb.beginTransaction();
+ fail("We expect an exception, but was not thrown");
+ }
+ catch (Exception e)
+ {
+ assertTrue(true);
+ }
+ }
+
/**
* test the the PB deleteByQuery() method.
*/
@@ -385,12 +412,12 @@
}
C c1 = new C();
- Identity iC1 = new Identity(c1, broker);
+ // Identity iC1 = new Identity(c1, broker);
C c2 = new C();
- Identity iC2 = new Identity(c2, broker);
+ // Identity iC2 = new Identity(c2, broker);
D d1 = new D();
- Identity iD1 = new Identity(d1, broker);
+ // Identity iD1 = new Identity(d1, broker);
broker.store(c1);
broker.store(c2);
@@ -775,9 +802,9 @@
{
// create new items for a class with autoincrement PK
ProductGroup pg1 = new ProductGroup();
- Identity id1 = new Identity(pg1, broker);
+ // Identity id1 = new Identity(pg1, broker);
ProductGroup pg2 = new ProductGroup();
- Identity id2 = new Identity(pg2, broker);
+ // Identity id2 = new Identity(pg2, broker);
pg1.setName("AutoIncGroup1");
pg2.setName("AutoIncGroup2");
@@ -1247,6 +1274,7 @@
person.setLastname("time_" + timestamp);
broker.beginTransaction();
+ // Identity used to assign PK of object
Identity oid = new Identity(person, broker);
Person serializedPerson = (Person) SerializationUtils.clone(person);
@@ -1261,7 +1289,7 @@
Query query = QueryFactory.newQuery(Person.class, crit);
Collection result = broker.getCollectionByQuery(query);
- assertEquals("Expect to find exact 1 object", 1, result.size());
+ assertEquals("Expect to find exact 1 object for "+oid, 1, result.size());
}
public void testDoubleDelete()
@@ -1273,7 +1301,7 @@
person.setLastname("time_" + timestamp);
broker.beginTransaction();
- Identity oid = new Identity(person, broker);
+ // Identity oid = new Identity(person, broker);
Person serializedPerson = (Person) SerializationUtils.clone(person);
broker.store(person);
broker.commitTransaction();
1.4 +2 -2 db-ojb/src/java/org/apache/ojb/broker/core/PersistenceBrokerHandle.java
Index: PersistenceBrokerHandle.java
===================================================================
RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/core/PersistenceBrokerHandle.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- PersistenceBrokerHandle.java 23 Jul 2003 20:06:56 -0000 1.3
+++ PersistenceBrokerHandle.java 11 Aug 2003 13:43:42 -0000 1.4
@@ -19,7 +19,7 @@
public boolean isClosed()
{
- if(getBroker() == null) return true;
+ if(getDelegate() == null) return true;
else return super.isClosed();
}
1.7 +6 -1 db-ojb/src/java/org/apache/ojb/broker/core/DelegatingPersistenceBroker.java
Index: DelegatingPersistenceBroker.java
===================================================================
RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/core/DelegatingPersistenceBroker.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- DelegatingPersistenceBroker.java 16 Jul 2003 15:53:03 -0000 1.6
+++ DelegatingPersistenceBroker.java 11 Aug 2003 13:43:42 -0000 1.7
@@ -53,11 +53,16 @@
protected PersistenceBroker getBroker()
{
if (m_broker != null)
+ {
return m_broker;
+ }
else
- throw new IllegalStateException(
+ {
+ throw new IllegalStateException(
"This PersistenceBroker instance is already closed."+
" It's not possible to re-use closed instance.");
+ }
+
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org