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
*/
-
+@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.