[jboss-cvs] JBossCache/src/org/jboss/cache/eviction ...

Manik Surtani manik at jboss.org
Tue Mar 6 16:16:49 EST 2007


  User: msurtani
  Date: 07/03/06 16:16:49

  Modified:    src/org/jboss/cache/eviction  Tag: Branch_JBossCache_1_4_0
                        RegionManager.java
  Log:
  JBCACHE-826
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.16.2.4  +16 -11    JBossCache/src/org/jboss/cache/eviction/Attic/RegionManager.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: RegionManager.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/eviction/Attic/RegionManager.java,v
  retrieving revision 1.16.2.3
  retrieving revision 1.16.2.4
  diff -u -b -r1.16.2.3 -r1.16.2.4
  --- RegionManager.java	28 Feb 2007 18:37:05 -0000	1.16.2.3
  +++ RegionManager.java	6 Mar 2007 21:16:49 -0000	1.16.2.4
  @@ -13,6 +13,8 @@
   import org.jboss.cache.Fqn;
   import org.jboss.cache.TreeCache;
   import org.jboss.cache.TreeCacheListener;
  +import org.jboss.cache.marshall.*;
  +import org.jboss.cache.marshall.Region;
   import org.jboss.cache.optimistic.FqnComparator;
   import org.jboss.cache.xml.XmlHelper;
   import org.jgroups.View;
  @@ -25,6 +27,11 @@
   import java.util.HashMap;
   import java.util.Map;
   import java.util.Timer;
  +import java.util.Set;
  +import java.util.TreeSet;
  +import java.util.Iterator;
  +
  +import EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap;
   
   /**
    * Factory to create region from configuration, to track region,
  @@ -34,7 +41,7 @@
    *
    * @author Ben Wang 02-2004
    * @author Daniel Huang (dhuang at jboss.org)
  - * @version $Id: RegionManager.java,v 1.16.2.3 2007/02/28 18:37:05 msurtani Exp $
  + * @version $Id: RegionManager.java,v 1.16.2.4 2007/03/06 21:16:49 msurtani Exp $
    */
   public class RegionManager
   {
  @@ -48,7 +55,7 @@
      public final static Fqn DEFAULT_REGION = new Fqn("_default_");
      private static final Log log_ = LogFactory.getLog(RegionManager.class);
   
  -   private final Map regionMap_ = Collections.synchronizedMap(new HashMap());
  +   private final Map regionMap_ = new ConcurrentHashMap();
      private int longestFqn = 0;
   
      private Timer evictionThread_;
  @@ -113,13 +120,10 @@
   
      private void addRegion(Fqn fqn, Region region) throws RegionNameConflictException
      {
  -      synchronized (regionMap_)
  -      {
            checkConflict(fqn);
            regionMap_.put(fqn, region);
            longestFqn = Math.max(longestFqn, fqn.size());
         }
  -   }
   
      /**
       * Create a region based on fqn.
  @@ -307,9 +311,10 @@
       */
      public Region[] getRegions()
      {
  -      Region r[] = (Region[]) regionMap_.values().toArray(new Region[]{});
  -      Arrays.sort(r, new RegionComparator());
  -      return r;
  +       Set s = new TreeSet(new RegionComparator());
  +        for (Iterator i = regionMap_.values().iterator(); i.hasNext();) s.add(i.next());
  +
  +        return (org.jboss.cache.marshall.Region[]) s.toArray(new Region[]{});
      }
   
      /**
  
  
  



More information about the jboss-cvs-commits mailing list