[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