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 2005/10/10 02:00:33 UTC

cvs commit: db-ojb/src/java/org/apache/ojb/broker/util BrokerHelper.java

arminw      2005/10/09 17:00:33

  Modified:    src/java/org/apache/ojb/broker/util Tag: OJB_1_0_RELEASE
                        BrokerHelper.java
  Log:
  use Object identity based map to cache SqlStatement, minor improvement
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.57.2.19 +13 -21    db-ojb/src/java/org/apache/ojb/broker/util/BrokerHelper.java
  
  Index: BrokerHelper.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/util/BrokerHelper.java,v
  retrieving revision 1.57.2.18
  retrieving revision 1.57.2.19
  diff -u -r1.57.2.18 -r1.57.2.19
  --- BrokerHelper.java	9 Aug 2005 20:03:22 -0000	1.57.2.18
  +++ BrokerHelper.java	10 Oct 2005 00:00:33 -0000	1.57.2.19
  @@ -18,23 +18,23 @@
   import java.sql.PreparedStatement;
   import java.sql.ResultSet;
   import java.sql.SQLException;
  +import java.util.ArrayList;
   import java.util.Collection;
   import java.util.Iterator;
   import java.util.List;
   import java.util.Map;
   import java.util.StringTokenizer;
  -import java.util.WeakHashMap;
  -import java.util.ArrayList;
   
  -import org.apache.commons.collections.iterators.ArrayIterator;
   import org.apache.commons.collections.CollectionUtils;
  +import org.apache.commons.collections.iterators.ArrayIterator;
  +import org.apache.commons.collections.map.ReferenceIdentityMap;
   import org.apache.ojb.broker.Identity;
   import org.apache.ojb.broker.ManageableCollection;
  +import org.apache.ojb.broker.MtoNImplementor;
   import org.apache.ojb.broker.OJBRuntimeException;
   import org.apache.ojb.broker.PBKey;
   import org.apache.ojb.broker.PersistenceBrokerException;
   import org.apache.ojb.broker.PersistenceBrokerSQLException;
  -import org.apache.ojb.broker.MtoNImplementor;
   import org.apache.ojb.broker.accesslayer.StatementManagerIF;
   import org.apache.ojb.broker.accesslayer.sql.SqlExistStatement;
   import org.apache.ojb.broker.core.PersistenceBrokerImpl;
  @@ -114,8 +114,7 @@
           {
               passwd = "";
           }
  -        PBKey key = new PBKey(dbName, user, passwd);
  -        return key;
  +        return new PBKey(dbName, user, passwd);
       }
   
       /**
  @@ -420,7 +419,7 @@
       /**
        * Extract an value array of the given {@link ValueContainer} array.
        * @param containers
  -     * @return
  +     * @return An object array
        */
       public Object[] extractValueArray(ValueContainer[] containers)
       {
  @@ -491,7 +490,7 @@
       /**
        * Build a Count-Query based on aQuery
        * @param aQuery
  -     * @return
  +     * @return The count query
        */
       public Query getCountQuery(Query aQuery)
       {
  @@ -513,7 +512,7 @@
        * Create a Count-Query for QueryBySQL
        *
        * @param aQuery
  -     * @return
  +     * @return The count query
        */
       private Query getQueryBySqlCount(QueryBySQL aQuery)
       {
  @@ -536,9 +535,6 @@
   
       /**
        * Create a Count-Query for QueryByCriteria
  -     *
  -     * @param aQuery
  -     * @return
        */
       private Query getQueryByCriteriaCount(QueryByCriteria aQuery)
       {
  @@ -637,9 +633,6 @@
   
       /**
        * Create a Count-Query for ReportQueryByCriteria
  -     *
  -     * @param aQuery
  -     * @return
        */
       private Query getReportQueryByCriteriaCount(ReportQueryByCriteria aQuery)
       {
  @@ -670,11 +663,10 @@
   
   
       /*
  -    NOTE: use WeakHashMap to allow reclaiming of no longer used ClassDescriptor
  -    instances
  +    NOTE: use weak key references to allow reclaiming
  +    of no longer used ClassDescriptor instances
       */
  -    private Map sqlSelectMap = new WeakHashMap();
  -
  +    private Map sqlSelectMap = new ReferenceIdentityMap(ReferenceIdentityMap.WEAK, ReferenceIdentityMap.HARD);
       /**
        * TODO: This method should be moved to {@link org.apache.ojb.broker.accesslayer.JdbcAccess}
        * before 1.1 release. This method only checks if the requested object can be
  @@ -1012,7 +1004,7 @@
        */
       public static Object[] getCollectionArray(Object collectionOrArray)
       {
  -        Object[] result = null;
  +        Object[] result;
           if (collectionOrArray instanceof Collection)
           {
               result = ((Collection) collectionOrArray).toArray();
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org