[jboss-cvs] JBossAS SVN: r107717 - in projects/cluster/ha-server-ispn/trunk/src: test/java/org/jboss/ha/ispn and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Aug 20 14:38:32 EDT 2010


Author: pferraro
Date: 2010-08-20 14:38:31 -0400 (Fri, 20 Aug 2010)
New Revision: 107717

Modified:
   projects/cluster/ha-server-ispn/trunk/src/main/java/org/jboss/ha/ispn/CacheContainerFactory.java
   projects/cluster/ha-server-ispn/trunk/src/main/java/org/jboss/ha/ispn/DefaultCacheContainerFactory.java
   projects/cluster/ha-server-ispn/trunk/src/main/java/org/jboss/ha/ispn/DefaultCacheContainerRegistry.java
   projects/cluster/ha-server-ispn/trunk/src/test/java/org/jboss/ha/ispn/DefaultCacheContainerFactoryTest.java
   projects/cluster/ha-server-ispn/trunk/src/test/java/org/jboss/ha/ispn/DefaultCacheContainerRegistryTest.java
Log:
Refactor alias logic into DefaultCacheContainerRegistry - keep CacheContainerFactory simple.

Modified: projects/cluster/ha-server-ispn/trunk/src/main/java/org/jboss/ha/ispn/CacheContainerFactory.java
===================================================================
--- projects/cluster/ha-server-ispn/trunk/src/main/java/org/jboss/ha/ispn/CacheContainerFactory.java	2010-08-20 15:43:24 UTC (rev 107716)
+++ projects/cluster/ha-server-ispn/trunk/src/main/java/org/jboss/ha/ispn/CacheContainerFactory.java	2010-08-20 18:38:31 UTC (rev 107717)
@@ -21,8 +21,6 @@
  */
 package org.jboss.ha.ispn;
 
-import java.util.Map;
-
 import org.infinispan.manager.CacheContainer;
 
 /**
@@ -35,8 +33,7 @@
    /**
     * Creates a {@link CacheContainer} from the specified configuration and alias mapping.
     * @param configuration a cache container configuration
-    * @param aliases a map of cache name aliases 
     * @return an Infinispan cache container
     */
-   CacheContainer createCacheContainer(CacheContainerConfiguration configuration, Map<String, String> aliases);
+   CacheContainer createCacheContainer(CacheContainerConfiguration configuration);
 }

Modified: projects/cluster/ha-server-ispn/trunk/src/main/java/org/jboss/ha/ispn/DefaultCacheContainerFactory.java
===================================================================
--- projects/cluster/ha-server-ispn/trunk/src/main/java/org/jboss/ha/ispn/DefaultCacheContainerFactory.java	2010-08-20 15:43:24 UTC (rev 107716)
+++ projects/cluster/ha-server-ispn/trunk/src/main/java/org/jboss/ha/ispn/DefaultCacheContainerFactory.java	2010-08-20 18:38:31 UTC (rev 107717)
@@ -21,7 +21,6 @@
  */
 package org.jboss.ha.ispn;
 
-import java.util.Map;
 import java.util.Properties;
 
 import org.infinispan.config.Configuration;
@@ -58,10 +57,10 @@
    
    /**
     * {@inheritDoc}
-    * @see org.jboss.ha.ispn.CacheContainerFactory#createCacheContainer(org.jboss.ha.ispn.CacheContainerConfiguration, java.util.Map)
+    * @see org.jboss.ha.ispn.CacheContainerFactory#createCacheContainer(org.jboss.ha.ispn.CacheContainerConfiguration)
     */
    @Override
-   public CacheContainer createCacheContainer(CacheContainerConfiguration configuration, Map<String, String> aliases)
+   public CacheContainer createCacheContainer(CacheContainerConfiguration configuration)
    {
       GlobalConfiguration globalConfiguration = configuration.getGlobalConfiguration();
       Properties properties = globalConfiguration.getTransportProperties();
@@ -79,7 +78,7 @@
       
       manager.start();
       
-      return (aliases != null) && !aliases.isEmpty() ? new AliasAwareCacheContainer(manager, aliases) : manager;
+      return manager;
    }
    
    /**

Modified: projects/cluster/ha-server-ispn/trunk/src/main/java/org/jboss/ha/ispn/DefaultCacheContainerRegistry.java
===================================================================
--- projects/cluster/ha-server-ispn/trunk/src/main/java/org/jboss/ha/ispn/DefaultCacheContainerRegistry.java	2010-08-20 15:43:24 UTC (rev 107716)
+++ projects/cluster/ha-server-ispn/trunk/src/main/java/org/jboss/ha/ispn/DefaultCacheContainerRegistry.java	2010-08-20 18:38:31 UTC (rev 107717)
@@ -176,7 +176,13 @@
    public void add(CacheContainerRegistryConfigurationEntry entry) throws NamingException
    {
       CacheContainerConfiguration configuration = new CacheContainerConfigurationAdapter(entry.getConfiguration());
-      CacheContainer container = this.factory.createCacheContainer(configuration, this.mapAliases(entry));
+      CacheContainer container = this.factory.createCacheContainer(configuration);
+
+      Map<String, String> aliases = this.mapAliases(entry);
+      if (!aliases.isEmpty())
+      {
+         container = new AliasAwareCacheContainer(container, aliases);
+      }
       
       String jndiName = entry.getJndiName();
       

Modified: projects/cluster/ha-server-ispn/trunk/src/test/java/org/jboss/ha/ispn/DefaultCacheContainerFactoryTest.java
===================================================================
--- projects/cluster/ha-server-ispn/trunk/src/test/java/org/jboss/ha/ispn/DefaultCacheContainerFactoryTest.java	2010-08-20 15:43:24 UTC (rev 107716)
+++ projects/cluster/ha-server-ispn/trunk/src/test/java/org/jboss/ha/ispn/DefaultCacheContainerFactoryTest.java	2010-08-20 18:38:31 UTC (rev 107717)
@@ -40,7 +40,7 @@
       
       EasyMock.replay(configuration, channelFactory);
       
-      CacheContainer result = factory.createCacheContainer(configuration, Collections.singletonMap("alias", CacheContainer.DEFAULT_CACHE_NAME));
+      CacheContainer result = factory.createCacheContainer(configuration);
       
       try
       {
@@ -66,27 +66,15 @@
             Assert.assertSame(manager, cache.getCacheManager());
             Assert.assertSame(ComponentStatus.RUNNING, manager.getStatus());
             
-            Cache<?, ?> aliasCache = result.getCache("alias");
+            Cache<?, ?> otherCache = result.getCache("other");
             
             try
             {
-               Assert.assertSame(cache, aliasCache);
-               
-               Cache<?, ?> otherCache = result.getCache("other");
-               
-               try
-               {
-                  Assert.assertNotSame(cache, otherCache);
-                  Assert.assertNotSame(aliasCache, otherCache);
-               }
-               finally
-               {
-                  otherCache.stop();
-               }
+               Assert.assertNotSame(cache, otherCache);
             }
             finally
             {
-               aliasCache.stop();
+               otherCache.stop();
             }
          }
          finally

Modified: projects/cluster/ha-server-ispn/trunk/src/test/java/org/jboss/ha/ispn/DefaultCacheContainerRegistryTest.java
===================================================================
--- projects/cluster/ha-server-ispn/trunk/src/test/java/org/jboss/ha/ispn/DefaultCacheContainerRegistryTest.java	2010-08-20 15:43:24 UTC (rev 107716)
+++ projects/cluster/ha-server-ispn/trunk/src/test/java/org/jboss/ha/ispn/DefaultCacheContainerRegistryTest.java	2010-08-20 18:38:31 UTC (rev 107717)
@@ -16,6 +16,7 @@
 import org.easymock.Capture;
 import org.easymock.CaptureType;
 import org.easymock.EasyMock;
+import org.infinispan.Cache;
 import org.infinispan.config.Configuration;
 import org.infinispan.config.InfinispanConfiguration;
 import org.infinispan.manager.CacheContainer;
@@ -64,12 +65,12 @@
       
       EasyMock.expect(source.getRegistryConfiguration()).andReturn(configRegistry);
       
-      EasyMock.expect(factory.createCacheContainer(EasyMock.capture(capturedConfiguration), EasyMock.eq(Collections.<String, String>emptyMap()))).andReturn(defaultCacheManager);
+      EasyMock.expect(factory.createCacheContainer(EasyMock.capture(capturedConfiguration))).andReturn(defaultCacheManager);
       EasyMock.expect(context.composeName("default", "java:CacheManager")).andReturn("java:CacheManager/default");
       
       context.rebind(EasyMock.eq("java:CacheManager/default"), EasyMock.capture(capturedReferences));
 
-      EasyMock.expect(factory.createCacheContainer(EasyMock.capture(capturedConfiguration), EasyMock.eq(Collections.<String, String>emptyMap()))).andReturn(otherCacheManager);
+      EasyMock.expect(factory.createCacheContainer(EasyMock.capture(capturedConfiguration))).andReturn(otherCacheManager);
       EasyMock.expect(context.composeName("other", "java:CacheManager")).andReturn("java:CacheManager/other");
       
       context.rebind(EasyMock.eq("java:CacheManager/other"), EasyMock.capture(capturedReferences));
@@ -192,11 +193,11 @@
       
       EasyMock.expect(provider.getRegistryConfiguration()).andReturn(configRegistry);
       
-      EasyMock.expect(factory.createCacheContainer(EasyMock.capture(capturedConfiguration), EasyMock.eq(Collections.singletonMap("legacy-other-cache", "other-cache")))).andReturn(otherCacheManager);
+      EasyMock.expect(factory.createCacheContainer(EasyMock.capture(capturedConfiguration))).andReturn(otherCacheManager);
       
       context.rebind(EasyMock.eq("java:other"), EasyMock.capture(capturedReferences));
 
-      EasyMock.expect(factory.createCacheContainer(EasyMock.capture(capturedConfiguration), EasyMock.eq(Collections.singletonMap("legacy-default-cache", "default-cache")))).andReturn(defaultCacheManager);
+      EasyMock.expect(factory.createCacheContainer(EasyMock.capture(capturedConfiguration))).andReturn(defaultCacheManager);
       EasyMock.expect(context.composeName("default", "java:Infinispan")).andReturn("java:Infinispan/default");
       
       context.rebind(EasyMock.eq("java:Infinispan/default"), EasyMock.capture(capturedReferences));
@@ -212,12 +213,16 @@
       Assert.assertTrue(names.contains("default"));
       Assert.assertTrue(names.contains("other"));
       
-      Assert.assertSame(defaultCacheManager, registry.getCacheContainer());
-      Assert.assertSame(defaultCacheManager, registry.getCacheContainer(null));
-      Assert.assertSame(defaultCacheManager, registry.getCacheContainer("default"));
-      Assert.assertSame(defaultCacheManager, registry.getCacheContainer("unknown"));
-      Assert.assertSame(otherCacheManager, registry.getCacheContainer("other"));
-
+      CacheContainer defaultContainer = registry.getCacheContainer();
+      
+      Assert.assertSame(defaultContainer, registry.getCacheContainer(null));
+      Assert.assertSame(defaultContainer, registry.getCacheContainer("default"));
+      Assert.assertSame(defaultContainer, registry.getCacheContainer("unknown"));
+      
+      CacheContainer otherContainer = registry.getCacheContainer("other");
+      
+      Assert.assertNotSame(defaultContainer, otherContainer);
+      
       List<CacheContainerConfiguration> configurations = capturedConfiguration.getValues();
       Assert.assertEquals(2, configurations.size());
       
@@ -242,16 +247,21 @@
       RefAddr addr = reference.get("nns");
       Assert.assertNotNull(addr);
       Assert.assertEquals("java:other", addr.getContent());
-      Assert.assertSame(otherCacheManager, NonSerializableFactory.lookup("java:other"));
+      Assert.assertSame(otherContainer, NonSerializableFactory.lookup("java:other"));
       reference = references.get(1);
       addr = reference.get("nns");
       Assert.assertNotNull(addr);
       Assert.assertEquals("java:Infinispan/default", addr.getContent());
-      Assert.assertSame(defaultCacheManager, NonSerializableFactory.lookup("java:Infinispan/default"));
+      Assert.assertSame(defaultContainer, NonSerializableFactory.lookup("java:Infinispan/default"));
       
       EasyMock.reset(factory, provider, context, defaultCacheManager, otherCacheManager);
-
       
+      this.verifyCacheAlias(defaultContainer, defaultCacheManager, "default-cache", "default-cache");
+      this.verifyCacheAlias(defaultContainer, defaultCacheManager, "legacy-default-cache", "default-cache");
+      
+      this.verifyCacheAlias(otherContainer, otherCacheManager, "other-cache", "other-cache");
+      this.verifyCacheAlias(otherContainer, otherCacheManager, "legacy-other-cache", "other-cache");
+      
       defaultCacheManager.stop();
       context.unbind("java:Infinispan/default");
       otherCacheManager.stop();
@@ -269,4 +279,22 @@
       
       EasyMock.reset(factory, context, defaultCacheManager, otherCacheManager);
    }
+   
+   private void verifyCacheAlias(CacheContainer container, CacheContainer mockContainer, String cacheName, String expectedCacheName)
+   {
+      @SuppressWarnings("unchecked")
+      Cache<Object, Object> cache = EasyMock.createMock(Cache.class);
+      
+      EasyMock.expect(mockContainer.getCache(expectedCacheName)).andReturn(cache);
+      
+      EasyMock.replay(mockContainer);
+      
+      Cache<Object, Object> result = container.getCache(cacheName);
+
+      EasyMock.verify(mockContainer);
+      
+      Assert.assertSame(cache, result);
+      
+      EasyMock.reset(mockContainer);
+   }
 }



More information about the jboss-cvs-commits mailing list