[infinispan-commits] Infinispan SVN: r1529 - in trunk/core/src: main/java/org/infinispan/manager and 4 other directories.

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Mon Feb 22 10:11:48 EST 2010


Author: vblagojevic at jboss.com
Date: 2010-02-22 10:11:47 -0500 (Mon, 22 Feb 2010)
New Revision: 1529

Modified:
   trunk/core/src/main/java/org/infinispan/config/GlobalConfiguration.java
   trunk/core/src/main/java/org/infinispan/config/InfinispanConfiguration.java
   trunk/core/src/main/java/org/infinispan/manager/CacheManager.java
   trunk/core/src/main/java/org/infinispan/manager/DefaultCacheManager.java
   trunk/core/src/main/java/org/infinispan/util/concurrent/BufferedConcurrentHashMap.java
   trunk/core/src/test/java/org/infinispan/config/parsing/Jbc2InfinispanTransformerTest.java
   trunk/core/src/test/java/org/infinispan/loaders/BaseCacheStoreFunctionalTest.java
   trunk/core/src/test/java/org/infinispan/manager/CacheManagerTest.java
Log:
move getDefaultConfiguration() from GlobalConfiguration to CacheManager 

Modified: trunk/core/src/main/java/org/infinispan/config/GlobalConfiguration.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/config/GlobalConfiguration.java	2010-02-22 12:14:20 UTC (rev 1528)
+++ trunk/core/src/main/java/org/infinispan/config/GlobalConfiguration.java	2010-02-22 15:11:47 UTC (rev 1529)
@@ -82,9 +82,6 @@
    @XmlElement
    private SerializationType serialization = new SerializationType();
 
-   @XmlTransient
-   private Configuration defaultConfiguration;
-
    @XmlElement
    private ShutdownType shutdown = new ShutdownType();
 
@@ -236,15 +233,7 @@
    public void setTransportProperties(String transportPropertiesString) {
       transport.setProperties(toTypedProperties(transportPropertiesString));
    }
-
-   public Configuration getDefaultConfiguration() {
-      return defaultConfiguration;
-   }
-
-   public void setDefaultConfiguration(Configuration defaultConfiguration) {
-      this.defaultConfiguration = defaultConfiguration;
-   }
-
+   
    public String getClusterName() {
       return transport.clusterName;
    }
@@ -376,8 +365,6 @@
          return false;
       if (transport.clusterName != null ? !transport.clusterName.equals(that.transport.clusterName) : that.transport.clusterName != null)
          return false;
-      if (defaultConfiguration != null ? !defaultConfiguration.equals(that.defaultConfiguration) : that.defaultConfiguration != null)
-         return false;
       if (evictionScheduledExecutor.factory != null ? !evictionScheduledExecutor.factory.equals(that.evictionScheduledExecutor.factory) : that.evictionScheduledExecutor.factory != null)
          return false;
       if (evictionScheduledExecutor.properties != null ? !evictionScheduledExecutor.properties.equals(that.evictionScheduledExecutor.properties) : that.evictionScheduledExecutor.properties != null)
@@ -410,8 +397,7 @@
       result = 31 * result + (replicationQueueScheduledExecutor.properties != null ? replicationQueueScheduledExecutor.properties.hashCode() : 0);
       result = 31 * result + (serialization.marshallerClass != null ? serialization.marshallerClass.hashCode() : 0);
       result = 31 * result + (transport.transportClass != null ? transport.transportClass.hashCode() : 0);
-      result = 31 * result + (transport.properties != null ? transport.properties.hashCode() : 0);
-      result = 31 * result + (defaultConfiguration != null ? defaultConfiguration.hashCode() : 0);
+      result = 31 * result + (transport.properties != null ? transport.properties.hashCode() : 0);     
       result = 31 * result + (transport.clusterName != null ? transport.clusterName.hashCode() : 0);
       result = 31 * result + (shutdown.hookBehavior.hashCode());
       result = 31 * result + serialization.version.hashCode();

Modified: trunk/core/src/main/java/org/infinispan/config/InfinispanConfiguration.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/config/InfinispanConfiguration.java	2010-02-22 12:14:20 UTC (rev 1528)
+++ trunk/core/src/main/java/org/infinispan/config/InfinispanConfiguration.java	2010-02-22 15:11:47 UTC (rev 1529)
@@ -214,14 +214,8 @@
          } else {
             source = replaceProperties(config);
          }
-         InfinispanConfiguration ic = (InfinispanConfiguration) u.unmarshal(source);                    
-       
-         // legacy, don't ask
-         GlobalConfiguration gconf = ic.parseGlobalConfiguration();
-         gconf.setDefaultConfiguration(ic.parseDefaultConfiguration());
-         if (cbv != null) {
-            ic.accept(cbv);
-         }
+         InfinispanConfiguration ic = (InfinispanConfiguration) u.unmarshal(source);                                    
+         ic.accept(cbv);
          return ic;
       } catch (ConfigurationException cex) {
          throw cex;
@@ -304,14 +298,16 @@
       super();
    }
    
-   public void accept(ConfigurationBeanVisitor v) {
-      global.accept(v);
-      defaultConfiguration.accept(v);      
-      for (Configuration c : namedCaches) {
-         c.accept(v);
-      }            
-      v.visitInfinispanConfiguration(this);
-   }
+    public void accept(ConfigurationBeanVisitor v) {
+        if (v != null) {
+            global.accept(v);
+            defaultConfiguration.accept(v);
+            for (Configuration c : namedCaches) {
+                c.accept(v);
+            }
+            v.visitInfinispanConfiguration(this);
+        }
+    }
 
    private static InputStream findInputStream(String fileName) throws FileNotFoundException {
       if (fileName == null)

Modified: trunk/core/src/main/java/org/infinispan/manager/CacheManager.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/manager/CacheManager.java	2010-02-22 12:14:20 UTC (rev 1528)
+++ trunk/core/src/main/java/org/infinispan/manager/CacheManager.java	2010-02-22 15:11:47 UTC (rev 1529)
@@ -151,9 +151,19 @@
    ComponentStatus getStatus();
 
    /**
+    * Returns global configuration for this CacheManager
+    * 
     * @return the global configuration object associated to this CacheManager
     */
    GlobalConfiguration getGlobalConfiguration();
+   
+    /**
+     * Returns default configuration for this CacheManager
+     * 
+     * @return the default configuration associated with this CacheManager
+     */
+    Configuration getDefaultConfiguration();
+   
 
    /**
     * If no named caches are registered, this method returns an empty set.  The default cache is never included in this

Modified: trunk/core/src/main/java/org/infinispan/manager/DefaultCacheManager.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/manager/DefaultCacheManager.java	2010-02-22 12:14:20 UTC (rev 1528)
+++ trunk/core/src/main/java/org/infinispan/manager/DefaultCacheManager.java	2010-02-22 15:11:47 UTC (rev 1529)
@@ -110,10 +110,11 @@
    public static final String DEFAULT_CACHE_NAME = "___defaultcache";
    public static final String OBJECT_NAME = "CacheManager";
    private static final Log log = LogFactory.getLog(DefaultCacheManager.class);
-   protected GlobalConfiguration globalConfiguration;
+   protected final GlobalConfiguration globalConfiguration;
+   protected final Configuration defaultConfiguration;
    private final ConcurrentMap<String, Cache> caches = new ConcurrentHashMap<String, Cache>();
    private final ConcurrentMap<String, Configuration> configurationOverrides = new ConcurrentHashMap<String, Configuration>();
-   private GlobalComponentRegistry globalComponentRegistry;
+   private final GlobalComponentRegistry globalComponentRegistry;
 
    /**
     * Constructs and starts a default instance of the CacheManager, using configuration defaults.
@@ -193,8 +194,8 @@
     * @param start                if true, the cache manager is started
     */
    public DefaultCacheManager(GlobalConfiguration globalConfiguration, Configuration defaultConfiguration, boolean start) {
-      this.globalConfiguration = globalConfiguration == null ? new GlobalConfiguration() : globalConfiguration.clone();
-      this.globalConfiguration.setDefaultConfiguration(defaultConfiguration == null ? new Configuration() : defaultConfiguration.clone());
+      this.globalConfiguration = globalConfiguration == null ? new GlobalConfiguration() : globalConfiguration.clone();     
+      this.defaultConfiguration = defaultConfiguration == null ? new Configuration() : defaultConfiguration.clone();
       globalComponentRegistry = new GlobalComponentRegistry(this.globalConfiguration, this);
       if (start) start();
    }
@@ -212,28 +213,38 @@
       this(configurationFile, true);
    }
 
-   /**
-    * Constructs a new instance of the CacheManager, using the configuration file name passed in.  This constructor
-    * first searches for the named file on the classpath, and failing that, treats the file name as an absolute path.
-    *
-    * @param configurationFile name of configuration file to use as a template for all caches created
-    * @param start             if true, the cache manager is started
-    * @throws java.io.IOException if there is a problem with the configuration file.
-    */
-   public DefaultCacheManager(String configurationFile, boolean start) throws IOException {
-      try {
-         InfinispanConfiguration configuration = InfinispanConfiguration.newInfinispanConfiguration(
-               configurationFile,
-               InfinispanConfiguration.resolveSchemaPath(),
-               new ConfigurationValidatingVisitor());
+    /**
+     * Constructs a new instance of the CacheManager, using the configuration file name passed in.
+     * This constructor first searches for the named file on the classpath, and failing that, treats
+     * the file name as an absolute path.
+     * 
+     * @param configurationFile
+     *            name of configuration file to use as a template for all caches created
+     * @param start
+     *            if true, the cache manager is started
+     * @throws java.io.IOException
+     *             if there is a problem with the configuration file.
+     */
+    public DefaultCacheManager(String configurationFile, boolean start) throws IOException {
+        try {
+            InfinispanConfiguration configuration = InfinispanConfiguration.newInfinispanConfiguration(configurationFile, 
+                                                                                                                InfinispanConfiguration.resolveSchemaPath(),
+                                                                                                                new ConfigurationValidatingVisitor());
 
-         initialize(configuration);
-      } catch (RuntimeException re) {
-         throw new ConfigurationException(re);
-      }
-      if (start)
-         start();
-   }
+            globalConfiguration = configuration.parseGlobalConfiguration();
+            defaultConfiguration = configuration.parseDefaultConfiguration();
+            for (Map.Entry<String, Configuration> entry : configuration.parseNamedConfigurations().entrySet()) {
+                Configuration c = defaultConfiguration.clone();
+                c.applyOverrides(entry.getValue());
+                configurationOverrides.put(entry.getKey(), c);
+            }
+            globalComponentRegistry = new GlobalComponentRegistry(globalConfiguration, this);
+        } catch (RuntimeException re) {
+            throw new ConfigurationException(re);
+        }
+        if (start)
+            start();
+    }
 
    /**
     * Constructs and starts a new instance of the CacheManager, using the input stream passed in to read configuration
@@ -261,7 +272,14 @@
          InfinispanConfiguration configuration = InfinispanConfiguration.newInfinispanConfiguration(configurationStream,
                                                                                                     InfinispanConfiguration.findSchemaInputStream(),
                                                                                                     new ConfigurationValidatingVisitor());
-         initialize(configuration);
+         globalConfiguration = configuration.parseGlobalConfiguration();
+         defaultConfiguration = configuration.parseDefaultConfiguration();
+         for (Map.Entry<String, Configuration> entry : configuration.parseNamedConfigurations().entrySet()) {
+            Configuration c = defaultConfiguration.clone();
+            c.applyOverrides(entry.getValue());
+            configurationOverrides.put(entry.getKey(), c);
+         }
+         globalComponentRegistry = new GlobalComponentRegistry(globalConfiguration, this);
       } catch (ConfigurationException ce) {
          throw ce;
       } catch (RuntimeException re) {
@@ -269,23 +287,12 @@
       }
       if (start) start();
    }
-
-   private void initialize(XmlConfigurationParser initializedParser) {
-      globalConfiguration = initializedParser.parseGlobalConfiguration();
-      for (Map.Entry<String, Configuration> entry : initializedParser.parseNamedConfigurations().entrySet()) {
-         Configuration c = globalConfiguration.getDefaultConfiguration().clone();
-         c.applyOverrides(entry.getValue());
-         configurationOverrides.put(entry.getKey(), c);
-
-      }
-      globalComponentRegistry = new GlobalComponentRegistry(globalConfiguration, this);
-   }
-
+   
    /**
     * {@inheritDoc}
     */
    public Configuration defineConfiguration(String cacheName, Configuration configurationOverride) {
-      return defineConfiguration(cacheName, configurationOverride, globalConfiguration.getDefaultConfiguration(), true);
+      return defineConfiguration(cacheName, configurationOverride, defaultConfiguration, true);
    }
 
    /**
@@ -358,20 +365,17 @@
       return globalConfiguration.getClusterName();
    }
 
-   public List<Address> getMembers() {
-      if (globalComponentRegistry == null) return null;
+   public List<Address> getMembers() {      
       Transport t = globalComponentRegistry.getComponent(Transport.class);
       return t == null ? null : t.getMembers();
    }
 
-   public Address getAddress() {
-      if (globalComponentRegistry == null) return null;
+   public Address getAddress() {      
       Transport t = globalComponentRegistry.getComponent(Transport.class);
       return t == null ? null : t.getAddress();
    }
 
-   public boolean isCoordinator() {
-      if (globalComponentRegistry == null) return false;
+   public boolean isCoordinator() {      
       Transport t = globalComponentRegistry.getComponent(Transport.class);
       return t != null && t.isCoordinator();
    }
@@ -379,7 +383,7 @@
    private Cache createCache(String cacheName) {
       Configuration c;
       if (cacheName.equals(DEFAULT_CACHE_NAME) || !configurationOverrides.containsKey(cacheName))
-         c = globalConfiguration.getDefaultConfiguration().clone();
+         c = defaultConfiguration.clone();
       else
          c = configurationOverrides.get(cacheName);
 
@@ -447,6 +451,10 @@
    public GlobalConfiguration getGlobalConfiguration() {
       return globalConfiguration;
    }
+   
+   public Configuration getDefaultConfiguration() {
+       return defaultConfiguration;
+   }
 
    public Set<String> getCacheNames() {
       Set<String> names = new HashSet<String>(configurationOverrides.keySet());

Modified: trunk/core/src/main/java/org/infinispan/util/concurrent/BufferedConcurrentHashMap.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/util/concurrent/BufferedConcurrentHashMap.java	2010-02-22 12:14:20 UTC (rev 1528)
+++ trunk/core/src/main/java/org/infinispan/util/concurrent/BufferedConcurrentHashMap.java	2010-02-22 15:11:47 UTC (rev 1529)
@@ -1091,11 +1091,14 @@
 
     /**
      * Creates a new, empty map with the specified initial capacity, load factor and concurrency
-     * level.
+     * level. Note that initialCapacity is in fact targeted maximum map capacity in case when 
+     * eviction other than <code>Eviction.NONE</code> is used.  
      * 
      * @param initialCapacity
      *            the initial capacity. The implementation performs internal sizing to accommodate
-     *            this many elements.
+     *            this many elements. Note that initial capacity becomes max capacity in case when
+     *            eviction other than <code>Eviction.NONE</code> is used.                                 
+     *            
      * @param loadFactor
      *            the load factor threshold, used to control resizing. Resizing may be performed
      *            when the average number of elements per bin exceeds this threshold.

Modified: trunk/core/src/test/java/org/infinispan/config/parsing/Jbc2InfinispanTransformerTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/config/parsing/Jbc2InfinispanTransformerTest.java	2010-02-22 12:14:20 UTC (rev 1528)
+++ trunk/core/src/test/java/org/infinispan/config/parsing/Jbc2InfinispanTransformerTest.java	2010-02-22 15:11:47 UTC (rev 1529)
@@ -44,7 +44,7 @@
          XmlConfigurationParser newParser = InfinispanConfiguration.newInfinispanConfiguration(new ByteArrayInputStream(baos.toByteArray()));
          GlobalConfiguration globalConfig = newParser.parseGlobalConfiguration();
          Map<String, Configuration> map = newParser.parseNamedConfigurations();
-         Configuration defaultConfig = globalConfig.getDefaultConfiguration();
+         Configuration defaultConfig = newParser.parseDefaultConfiguration();
          assert defaultConfig.getIsolationLevel().equals(IsolationLevel.READ_COMMITTED);
          assert defaultConfig.getLockAcquisitionTimeout() == 234000;
          assert defaultConfig.isWriteSkewCheck();

Modified: trunk/core/src/test/java/org/infinispan/loaders/BaseCacheStoreFunctionalTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/loaders/BaseCacheStoreFunctionalTest.java	2010-02-22 12:14:20 UTC (rev 1528)
+++ trunk/core/src/test/java/org/infinispan/loaders/BaseCacheStoreFunctionalTest.java	2010-02-22 15:11:47 UTC (rev 1529)
@@ -68,7 +68,7 @@
          GlobalConfiguration configuration = localCacheManager.getGlobalConfiguration();
          CacheLoaderManagerConfig clmConfig = new CacheLoaderManagerConfig();
          clmConfig.setCacheLoaderConfigs(Collections.singletonList((CacheLoaderConfig) csConfig));
-         configuration.getDefaultConfiguration().setCacheLoaderManagerConfig(clmConfig);
+         localCacheManager.getDefaultConfiguration().setCacheLoaderManagerConfig(clmConfig);
          localCacheManager.defineConfiguration("first", new Configuration());
          localCacheManager.defineConfiguration("second", new Configuration());
 

Modified: trunk/core/src/test/java/org/infinispan/manager/CacheManagerTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/manager/CacheManagerTest.java	2010-02-22 12:14:20 UTC (rev 1528)
+++ trunk/core/src/test/java/org/infinispan/manager/CacheManagerTest.java	2010-02-22 15:11:47 UTC (rev 1529)
@@ -92,10 +92,10 @@
       }
       
       Configuration c = cm.defineConfiguration("cache1", null, new Configuration());
-      assert c.equals(cm.getGlobalConfiguration().getDefaultConfiguration());
+      assert c.equals(cm.getDefaultConfiguration());
       
       c = cm.defineConfiguration("cache1", "does-not-exist-cache", new Configuration());
-      assert c.equals(cm.getGlobalConfiguration().getDefaultConfiguration());
+      assert c.equals(cm.getDefaultConfiguration());
    }
 
    public void testDefiningConfigurationWithTemplateName() {



More information about the infinispan-commits mailing list