[hibernate-commits] Hibernate SVN: r20939 - in core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate: hql/classic and 5 other directories.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Mon May 16 04:00:35 EDT 2011


Author: stliu
Date: 2011-05-16 04:00:34 -0400 (Mon, 16 May 2011)
New Revision: 20939

Modified:
   core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/collection/AbstractPersistentCollection.java
   core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/hql/classic/WhereParser.java
   core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/impl/SessionFactoryObjectFactory.java
   core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/persister/entity/JoinedSubclassEntityPersister.java
   core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/persister/entity/SingleTableEntityPersister.java
   core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/pretty/Formatter.java
   core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/tuple/EntityModeToTuplizerMapping.java
   core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/util/FastHashMap.java
   core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/util/SoftLimitMRUCache.java
Log:
JBPAPP-6526 HHH-3050 Convert usage of Hibernate's FastHashMap to ConcurrentHashMap (Java 1.5)

Modified: core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/collection/AbstractPersistentCollection.java
===================================================================
--- core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/collection/AbstractPersistentCollection.java	2011-05-07 12:07:30 UTC (rev 20938)
+++ core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/collection/AbstractPersistentCollection.java	2011-05-16 08:00:34 UTC (rev 20939)
@@ -119,7 +119,7 @@
 				if ( hasQueuedOperations() ) {
 					session.flush();
 				}
-				return new Boolean( persister.indexExists( entry.getLoadedKey(), index, session ) );
+				return persister.indexExists( entry.getLoadedKey(), index, session );
 			}
 		}
 		read();
@@ -136,7 +136,7 @@
 				if ( hasQueuedOperations() ) {
 					session.flush();
 				}
-				return new Boolean( persister.elementExists( entry.getLoadedKey(), element, session ) );
+				return persister.elementExists( entry.getLoadedKey(), element, session );
 			}
 		}
 		read();

Modified: core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/hql/classic/WhereParser.java
===================================================================
--- core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/hql/classic/WhereParser.java	2011-05-07 12:07:30 UTC (rev 20938)
+++ core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/hql/classic/WhereParser.java	2011-05-16 08:00:34 UTC (rev 20939)
@@ -254,7 +254,7 @@
 		}
 
 		if ( lcToken.equals( "not" ) ) {
-			nots.addLast( new Boolean( !( ( Boolean ) nots.removeLast() ).booleanValue() ) );
+			nots.addLast(  !( ( Boolean ) nots.removeLast() ).booleanValue()  );
 			negated = !negated;
 			return; //NOTE: early return
 		}

Modified: core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/impl/SessionFactoryObjectFactory.java
===================================================================
--- core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/impl/SessionFactoryObjectFactory.java	2011-05-07 12:07:30 UTC (rev 20938)
+++ core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/impl/SessionFactoryObjectFactory.java	2011-05-16 08:00:34 UTC (rev 20939)
@@ -4,6 +4,7 @@
 import java.util.Hashtable;
 import java.util.Iterator;
 import java.util.Properties;
+import java.util.concurrent.ConcurrentHashMap;
 
 import javax.naming.Context;
 import javax.naming.InvalidNameException;
@@ -18,7 +19,6 @@
 import javax.naming.spi.ObjectFactory;
 
 import org.hibernate.SessionFactory;
-import org.hibernate.util.FastHashMap;
 import org.hibernate.util.NamingHelper;
 
 import org.apache.commons.logging.Log;
@@ -39,8 +39,8 @@
 		log.debug("initializing class SessionFactoryObjectFactory");
 	}
 
-	private static final FastHashMap INSTANCES = new FastHashMap();
-	private static final FastHashMap NAMED_INSTANCES = new FastHashMap();
+	private static final ConcurrentHashMap<String, SessionFactory> INSTANCES = new ConcurrentHashMap<String, SessionFactory>();
+	private static final ConcurrentHashMap<String, SessionFactory> NAMED_INSTANCES = new ConcurrentHashMap<String, SessionFactory>();
 
 	private static final NamingListener LISTENER = new NamespaceChangeListener() {
 		public void objectAdded(NamingEvent evt) {

Modified: core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/persister/entity/JoinedSubclassEntityPersister.java
===================================================================
--- core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/persister/entity/JoinedSubclassEntityPersister.java	2011-05-07 12:07:30 UTC (rev 20938)
+++ core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/persister/entity/JoinedSubclassEntityPersister.java	2011-05-16 08:00:34 UTC (rev 20939)
@@ -135,7 +135,7 @@
 				keyCols[k] = ( (Column) citer.next() ).getQuotedName( factory.getDialect() );
 			}
 			keyColumns.add(keyCols);
-			cascadeDeletes.add( new Boolean( key.isCascadeDeleteEnabled() && factory.getDialect().supportsCascadeDelete() ) );
+			cascadeDeletes.add( ( key.isCascadeDeleteEnabled() && factory.getDialect().supportsCascadeDelete() ) );
 		}
 		naturalOrderTableNames = ArrayHelper.toStringArray(tables);
 		naturalOrderTableKeyColumns = ArrayHelper.to2DStringArray(keyColumns);
@@ -147,7 +147,7 @@
 		titer = persistentClass.getSubclassTableClosureIterator();
 		while ( titer.hasNext() ) {
 			Table tab = (Table) titer.next();
-			isConcretes.add( new Boolean( persistentClass.isClassOrSuperclassTable(tab) ) );
+			isConcretes.add( ( persistentClass.isClassOrSuperclassTable(tab) ) );
 			String tabname = tab.getQualifiedName( 
 					factory.getDialect(), 
 					factory.getSettings().getDefaultCatalogName(), 

Modified: core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/persister/entity/SingleTableEntityPersister.java
===================================================================
--- core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/persister/entity/SingleTableEntityPersister.java	2011-05-07 12:07:30 UTC (rev 20938)
+++ core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/persister/entity/SingleTableEntityPersister.java	2011-05-16 08:00:34 UTC (rev 20939)
@@ -228,11 +228,11 @@
 		joinIter = persistentClass.getSubclassJoinClosureIterator();
 		while ( joinIter.hasNext() ) {
 			Join join = (Join) joinIter.next();
-			isConcretes.add( new Boolean( persistentClass.isClassOrSuperclassJoin(join) ) );
-			isDeferreds.add( new Boolean( join.isSequentialSelect() ) );
-			isInverses.add( new Boolean( join.isInverse() ) );
-			isNullables.add( new Boolean( join.isOptional() ) );
-			isLazies.add( new Boolean( lazyAvailable && join.isLazy() ) );
+			isConcretes.add( ( persistentClass.isClassOrSuperclassJoin(join) ) );
+			isDeferreds.add( ( join.isSequentialSelect() ) );
+			isInverses.add( ( join.isInverse() ) );
+			isNullables.add( ( join.isOptional() ) );
+			isLazies.add( ( lazyAvailable && join.isLazy() ) );
 			if ( join.isSequentialSelect() && !persistentClass.isClassOrSuperclassJoin(join) ) hasDeferred = true;
 			subclassTables.add( join.getTable().getQualifiedName( 
 					factory.getDialect(), 

Modified: core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/pretty/Formatter.java
===================================================================
--- core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/pretty/Formatter.java	2011-05-07 12:07:30 UTC (rev 20938)
+++ core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/pretty/Formatter.java	2011-05-16 08:00:34 UTC (rev 20939)
@@ -247,8 +247,8 @@
 		out();
 		indent++;
 		newline();
-		parenCounts.addLast( new Integer(parensSinceSelect) );
-		afterByOrFromOrSelects.addLast( new Boolean(afterByOrSetOrFromOrSelect) );
+		parenCounts.addLast( parensSinceSelect );
+		afterByOrFromOrSelects.addLast( (afterByOrSetOrFromOrSelect) );
 		parensSinceSelect = 0;
 		afterByOrSetOrFromOrSelect = true;
 	}

Modified: core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/tuple/EntityModeToTuplizerMapping.java
===================================================================
--- core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/tuple/EntityModeToTuplizerMapping.java	2011-05-07 12:07:30 UTC (rev 20938)
+++ core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/tuple/EntityModeToTuplizerMapping.java	2011-05-16 08:00:34 UTC (rev 20939)
@@ -3,10 +3,10 @@
 import java.io.Serializable;
 import java.util.Iterator;
 import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 
 import org.hibernate.EntityMode;
 import org.hibernate.HibernateException;
-import org.hibernate.util.FastHashMap;
 
 /**
  * Centralizes handling of {@link EntityMode} to {@link Tuplizer} mappings.
@@ -16,10 +16,11 @@
 public abstract class EntityModeToTuplizerMapping implements Serializable {
 
 	// map of EntityMode -> Tuplizer
-	private final Map tuplizers;
+	private final Map<EntityMode,Tuplizer> tuplizers;
 
+
 	public EntityModeToTuplizerMapping() {
-		tuplizers = new FastHashMap();
+		tuplizers = new ConcurrentHashMap<EntityMode,Tuplizer>();
 	}
 
 	public EntityModeToTuplizerMapping(Map tuplizers) {
@@ -45,6 +46,11 @@
 				return ( EntityMode ) entry.getKey();
 			}
 		}
+		for ( Map.Entry<EntityMode, Tuplizer> entityModeTuplizerEntry : tuplizers.entrySet() ) {
+			if ( entityModeTuplizerEntry.getValue().isInstance( object ) ) {
+				return entityModeTuplizerEntry.getKey();
+			}
+		}
 		return null;
 	}
 
@@ -56,7 +62,7 @@
 	 * @return The tuplizer, or null if not found.
 	 */
 	public Tuplizer getTuplizerOrNull(EntityMode entityMode) {
-		return ( Tuplizer ) tuplizers.get( entityMode );
+		return tuplizers.get( entityMode );
 	}
 
 	/**

Modified: core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/util/FastHashMap.java
===================================================================
--- core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/util/FastHashMap.java	2011-05-07 12:07:30 UTC (rev 20938)
+++ core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/util/FastHashMap.java	2011-05-16 08:00:34 UTC (rev 20939)
@@ -82,9 +82,9 @@
  * <code>HashMap</code> only within a single thread, you should use
  * <code>java.util.HashMap</code> directly (with no synchronization), for
  * maximum performance.</p>
- *
+ *@Deprecated
  */
-
+ at Deprecated
 public final class FastHashMap implements Map, Serializable {
 
 	// ----------------------------------------------------------- Constructors

Modified: core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/util/SoftLimitMRUCache.java
===================================================================
--- core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/util/SoftLimitMRUCache.java	2011-05-07 12:07:30 UTC (rev 20938)
+++ core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/util/SoftLimitMRUCache.java	2011-05-16 08:00:34 UTC (rev 20939)
@@ -93,6 +93,15 @@
 	}
 
 	/**
+	 * to keep search compatibility
+	 * @Deprecated
+	 */
+	@Deprecated
+	public SoftLimitMRUCache(int strongRefCount) {
+		this( strongRefCount, DEFAULT_SOFT_REF_COUNT );
+	}
+
+	/**
 	 * Constructs a cache with the specified settings.
 	 *
 	 * @param strongRefCount the strong reference count.



More information about the hibernate-commits mailing list