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/03/06 01:13:10 UTC
cvs commit: db-ojb/src/java/org/apache/ojb/broker/accesslayer ConnectionFactoryPooledImpl.java
arminw 2003/03/05 16:13:10
Modified: src/test/org/apache/ojb/odmg PersonWithArrayTest.java
src/java/org/apache/ojb/broker/accesslayer
ConnectionFactoryPooledImpl.java
Log:
add more logging info, remove Sys..println
Revision Changes Path
1.2 +137 -155 db-ojb/src/test/org/apache/ojb/odmg/PersonWithArrayTest.java
Index: PersonWithArrayTest.java
===================================================================
RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/odmg/PersonWithArrayTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- PersonWithArrayTest.java 15 Feb 2003 16:05:26 -0000 1.1
+++ PersonWithArrayTest.java 6 Mar 2003 00:13:10 -0000 1.2
@@ -1,159 +1,141 @@
-/**
- * (C) 2003 ppi Media
- * User: om
+/**
+ * (C) 2003 ppi Media
+ * User: om
*/
-
package org.apache.ojb.odmg;
-
-import org.apache.ojb.broker.TestHelper;
-import org.odmg.Implementation;
-import org.odmg.Database;
-import org.odmg.Transaction;
-import org.odmg.OQLQuery;
-import org.odmg.ODMGException;
-import org.odmg.QueryInvalidException;
-import org.odmg.QueryException;
-
-import java.util.List;
-import java.util.Iterator;
-import java.util.Collection;
+import org.apache.ojb.broker.TestHelper;
+import org.odmg.Implementation;
+import org.odmg.Database;
+import org.odmg.Transaction;
+import org.odmg.OQLQuery;
+import org.odmg.ODMGException;
+import org.odmg.QueryInvalidException;
+import org.odmg.QueryException;
+
+import java.util.List;
+import java.util.Iterator;
+import java.util.Collection;
import java.util.Arrays;
-
-import junit.framework.TestCase;
-
-/**
- * class PersonWithArrayTest
- *
- * @author <a href="mailto:om@ppi.de">Oliver Matz</a>
- * @version $Id$
- */
-public class PersonWithArrayTest extends TestCase
-{
- private static Class CLASS = PersonWithArrayTest.class;
-
+import junit.framework.TestCase;
+
+/**
+ * class PersonWithArrayTest
+ *
+ * @author <a href="mailto:om@ppi.de">Oliver Matz</a>
+ * @version $Id$
+ */
+public class PersonWithArrayTest extends TestCase
+{
+ private static Class CLASS = PersonWithArrayTest.class;
private String databaseName;
-
- public void setUp() throws ODMGException
- {
- databaseName = TestHelper.DEF_DATABASE_NAME;
- deleteAll(PersonImpl.class);
- }
-
- final void deleteAll(Class clazz) throws ODMGException
- {
- Implementation odmg = OJB.getInstance();
-
- Database db = odmg.newDatabase();
- db.open(databaseName, Database.OPEN_READ_WRITE);
- Transaction tx = odmg.newTransaction();
- tx.begin();
- OQLQuery query = odmg.newOQLQuery();
- query.create("select person from " + clazz.getName());
- List persons = (List) query.execute();
- Iterator it = persons.iterator();
- while (it.hasNext())
- {
- Object obj = it.next();
- db.deletePersistent(obj);
- }
- tx.commit();
-
- }
- /**
- * Insert the method's description here.
- * Creation date: (06.12.2000 21:59:14)
- */
- public void tearDown() throws Exception
- {
- databaseName = null;
- }
-
- public void testStoreThreePersons()
- {
- Implementation odmg = OJB.getInstance();
- Database db = odmg.newDatabase();
- int id = (int) System.currentTimeMillis();
- //open database
- try
- {
- db.open(databaseName, Database.OPEN_READ_WRITE);
- }
- catch (ODMGException ex)
- {
- fail("ODMGException: " + ex.getMessage());
- }
-
- Person karlHeinz = new PersonImpl(id++, "Karl-Heinz", "Schultz", 0, 0);
-
- Person knuth = new PersonImpl(id++, "Knuth", null, 0, 0);
-
- Person kurt = new PersonImpl(id++, "Kurt", null, 0, 0);
-
- Person[] karlHeinz_children = new Person[] { knuth, kurt };
- karlHeinz.setChildren(karlHeinz_children);
-
- knuth.setFather(karlHeinz);
- kurt.setFather(karlHeinz);
- Transaction tx = odmg.newTransaction();
- tx.begin();
- tx.lock(karlHeinz, Transaction.WRITE);
- tx.lock(kurt, Transaction.WRITE);
- tx.lock(knuth, Transaction.WRITE);
- tx.commit();
-
- karlHeinz.setChildren(null);
- karlHeinz.setFirstname(null);
- tx.begin();
- // make sure all objects are retrieved freshly in subsequent transactions
- ((TransactionImpl) tx).getBroker().clearCache();
- OQLQuery qry = odmg.newOQLQuery();
- try
- {
- qry.create(
- "select a from " + PersonImpl.class.getName() + " where firstname=\"Karl-Heinz\"");
- }
- catch (QueryInvalidException exc)
- {
- fail("Exception: " + exc.toString());
- }
- Collection result = null;
- try
- {
- result = (Collection) qry.execute();
- }
- catch (QueryException exc)
- {
- fail("Exception: " + exc.toString());
- }
- assertEquals("Exactly one element in result set", result.size(), 1);
- Person retKarlHeinz = (Person) (result.iterator().next());
- assertTrue("not same", retKarlHeinz != karlHeinz);
- Person[] retKarlHeinz_children = retKarlHeinz.getChildren();
- assertNotNull(retKarlHeinz_children);
- // unfortunately, PersonImpl does not have a suitable equals method.
- assertEquals(
- "children's names are equal",
- Arrays.asList(getFirstNames(retKarlHeinz_children)),
- Arrays.asList(getFirstNames(karlHeinz_children)));
- System.out.println(Arrays.asList(getFirstNames(retKarlHeinz_children)));
- tx.abort();
- }
-
- private static String[] getFirstNames(Person[] persons)
- {
- int length = persons == null ? 0 : persons.length;
- String[] ret = new String[length];
- for (int i = 0; i < ret.length; i++)
- {
- ret[i] = persons[i].getFirstname();
- }
- return ret;
-
- }
-
- public static void main(String[] args)
- {
- String[] arr = { CLASS.getName()};
- junit.textui.TestRunner.main(arr);
- }
-}
+ public void setUp() throws ODMGException
+ {
+ databaseName = TestHelper.DEF_DATABASE_NAME;
+ deleteAll(PersonImpl.class);
+ }
+ final void deleteAll(Class clazz) throws ODMGException
+ {
+ Implementation odmg = OJB.getInstance();
+ Database db = odmg.newDatabase();
+ db.open(databaseName, Database.OPEN_READ_WRITE);
+ Transaction tx = odmg.newTransaction();
+ tx.begin();
+ OQLQuery query = odmg.newOQLQuery();
+ query.create("select person from " + clazz.getName());
+ List persons = (List) query.execute();
+ Iterator it = persons.iterator();
+ while (it.hasNext())
+ {
+ Object obj = it.next();
+ db.deletePersistent(obj);
+ }
+ tx.commit();
+ }
+ /**
+ * Insert the method's description here.
+ * Creation date: (06.12.2000 21:59:14)
+ */
+ public void tearDown() throws Exception
+ {
+ databaseName = null;
+ }
+ public void testStoreThreePersons()
+ {
+ Implementation odmg = OJB.getInstance();
+ Database db = odmg.newDatabase();
+ int id = (int) System.currentTimeMillis();
+ //open database
+ try
+ {
+ db.open(databaseName, Database.OPEN_READ_WRITE);
+ }
+ catch (ODMGException ex)
+ {
+ fail("ODMGException: " + ex.getMessage());
+ }
+ Person karlHeinz = new PersonImpl(id++, "Karl-Heinz", "Schultz", 0, 0);
+ Person knuth = new PersonImpl(id++, "Knuth", null, 0, 0);
+ Person kurt = new PersonImpl(id++, "Kurt", null, 0, 0);
Person[] karlHeinz_children = new Person[] { knuth, kurt };
karlHeinz.setChildren(karlHeinz_children);
+ knuth.setFather(karlHeinz);
+ kurt.setFather(karlHeinz);
+ Transaction tx = odmg.newTransaction();
+ tx.begin();
+ tx.lock(karlHeinz, Transaction.WRITE);
+ tx.lock(kurt, Transaction.WRITE);
+ tx.lock(knuth, Transaction.WRITE);
+ tx.commit();
+
+ karlHeinz.setChildren(null);
+ karlHeinz.setFirstname(null);
+ tx.begin();
+ // make sure all objects are retrieved freshly in subsequent transactions
+ ((TransactionImpl) tx).getBroker().clearCache();
+ OQLQuery qry = odmg.newOQLQuery();
+ try
+ {
+ qry.create(
+ "select a from " + PersonImpl.class.getName() + " where firstname=\"Karl-Heinz\"");
+ }
+ catch (QueryInvalidException exc)
+ {
+ fail("Exception: " + exc.toString());
+ }
+ Collection result = null;
+ try
+ {
+ result = (Collection) qry.execute();
+ }
+ catch (QueryException exc)
+ {
+ fail("Exception: " + exc.toString());
+ }
+ assertEquals("Exactly one element in result set", result.size(), 1);
+ Person retKarlHeinz = (Person) (result.iterator().next());
+ assertTrue("not same", retKarlHeinz != karlHeinz);
+ Person[] retKarlHeinz_children = retKarlHeinz.getChildren();
+ assertNotNull(retKarlHeinz_children);
+ // unfortunately, PersonImpl does not have a suitable equals method.
+ assertEquals(
+ "children's names are equal",
+ Arrays.asList(getFirstNames(retKarlHeinz_children)),
+ Arrays.asList(getFirstNames(karlHeinz_children)));
+ // System.out.println(Arrays.asList(getFirstNames(retKarlHeinz_children)));
+ tx.abort();
+ }
+ private static String[] getFirstNames(Person[] persons)
+ {
+ int length = persons == null ? 0 : persons.length;
+ String[] ret = new String[length];
+ for (int i = 0; i < ret.length; i++)
+ {
+ ret[i] = persons[i].getFirstname();
+ }
+ return ret;
+ }
+
+ public static void main(String[] args)
+ {
+ String[] arr = { CLASS.getName()};
+ junit.textui.TestRunner.main(arr);
+ }
+}
\ No newline at end of file
1.6 +3 -3 db-ojb/src/java/org/apache/ojb/broker/accesslayer/ConnectionFactoryPooledImpl.java
Index: ConnectionFactoryPooledImpl.java
===================================================================
RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/accesslayer/ConnectionFactoryPooledImpl.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- ConnectionFactoryPooledImpl.java 15 Jan 2003 10:43:28 -0000 1.5
+++ ConnectionFactoryPooledImpl.java 6 Mar 2003 00:13:10 -0000 1.6
@@ -173,8 +173,8 @@
}
catch (SQLException e)
{
- log.warn("Validation query for connection failed, discard connection. Message: " +
- e.getMessage());
+ log.warn("Validation query for connection failed, discard connection. Query was " +
+ query + ", Message was " + e.getMessage());
if (log.isDebugEnabled()) log.debug(e);
return false;
}