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;
               }