[exo-jcr-commits] exo-jcr SVN: r5955 - in kernel/trunk: exo.kernel.component.ext.cache.impl.infinispan.v5 and 6 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Mon Mar 26 03:27:50 EDT 2012
Author: dkuleshov
Date: 2012-03-26 03:27:46 -0400 (Mon, 26 Mar 2012)
New Revision: 5955
Added:
kernel/trunk/exo.kernel.container/src/test/resources/tsm-excludes.properties
Modified:
kernel/trunk/exo.kernel.component.ext.cache.impl.infinispan.v5/pom.xml
kernel/trunk/exo.kernel.component.ext.cache.impl.infinispan.v5/src/main/java/org/exoplatform/services/cache/impl/infinispan/ExoCacheFactoryImpl.java
kernel/trunk/exo.kernel.component.ext.cache.impl.infinispan.v5/src/main/java/org/exoplatform/services/ispn/DistributedCacheManager.java
kernel/trunk/exo.kernel.component.ext.cache.impl.infinispan.v5/src/test/java/org/exoplatform/services/cache/impl/infinispan/distributed/TestDistributedExoCache.java
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/xml/Configuration.java
kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/TestPortalContainer.java
kernel/trunk/pom.xml
Log:
EXOJCR-1739: ported issues:
* EXOJCR-1715
* EXOJCR-1736
* EXOJCR-1789
* EXOJCR-1800
Modified: kernel/trunk/exo.kernel.component.ext.cache.impl.infinispan.v5/pom.xml
===================================================================
--- kernel/trunk/exo.kernel.component.ext.cache.impl.infinispan.v5/pom.xml 2012-03-23 16:08:49 UTC (rev 5954)
+++ kernel/trunk/exo.kernel.component.ext.cache.impl.infinispan.v5/pom.xml 2012-03-26 07:27:46 UTC (rev 5955)
@@ -34,7 +34,7 @@
<dependency>
<groupId>org.jgroups</groupId>
<artifactId>jgroups</artifactId>
- <version>3.0.2.Final</version>
+ <version>3.0.6.Final</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
Modified: kernel/trunk/exo.kernel.component.ext.cache.impl.infinispan.v5/src/main/java/org/exoplatform/services/cache/impl/infinispan/ExoCacheFactoryImpl.java
===================================================================
--- kernel/trunk/exo.kernel.component.ext.cache.impl.infinispan.v5/src/main/java/org/exoplatform/services/cache/impl/infinispan/ExoCacheFactoryImpl.java 2012-03-23 16:08:49 UTC (rev 5954)
+++ kernel/trunk/exo.kernel.component.ext.cache.impl.infinispan.v5/src/main/java/org/exoplatform/services/cache/impl/infinispan/ExoCacheFactoryImpl.java 2012-03-26 07:27:46 UTC (rev 5955)
@@ -41,12 +41,9 @@
import org.infinispan.configuration.global.GlobalConfigurationBuilder;
import org.infinispan.configuration.parsing.ConfigurationBuilderHolder;
import org.infinispan.configuration.parsing.Parser;
-import org.infinispan.distribution.ch.ConsistentHash;
-import org.infinispan.distribution.ch.DefaultConsistentHash;
import org.infinispan.eviction.EvictionStrategy;
import org.infinispan.jmx.MBeanServerLookup;
import org.infinispan.manager.DefaultCacheManager;
-import org.infinispan.util.Util;
import java.io.InputStream;
import java.io.Serializable;
@@ -55,6 +52,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Map.Entry;
import java.util.Properties;
import java.util.Set;
import java.util.concurrent.Callable;
@@ -168,9 +166,6 @@
}
// Initialize the main cache manager
this.cacheManager = initCacheManager(cacheConfigTemplate);
- // Register the main cache manager
- mappingGlobalConfigCacheManager.put(cacheManager.getCacheManagerConfiguration().transport().clusterName(),
- cacheManager);
}
/**
@@ -216,10 +211,11 @@
throw new ExoCacheInitException("Cannot parse the configuration '" + cacheConfigTemplate + "'", e);
}
configureCacheManager(configBuilder);
+ DefaultCacheManager cacheManager;
try
{
// Create the CacheManager from the new configuration
- return new DefaultCacheManager(configBuilder.build(), config);
+ cacheManager = new DefaultCacheManager(configBuilder.build(), config);
}
catch (RuntimeException e) //NOSONAR
{
@@ -227,6 +223,10 @@
"Cannot initialize the CacheManager corresponding to the configuration '" + cacheConfigTemplate
+ "'", e);
}
+ // Register the main cache manager
+ mappingGlobalConfigCacheManager.put(cacheManager.getCacheManagerConfiguration().transport().clusterName(),
+ cacheManager);
+ return cacheManager;
}
});
}
@@ -344,10 +344,9 @@
currentCacheManager =
new DefaultCacheManager(configBuilder.build(), holder.getDefaultConfigurationBuilder()
.build(), false);
- for (ConfigurationBuilder b : holder.getConfigurationBuilders())
+ for (Entry<String, ConfigurationBuilder> entry : holder.getNamedConfigurationBuilders().entrySet())
{
- Configuration c = b.build();
- currentCacheManager.defineConfiguration(c.name(), c);
+ currentCacheManager.defineConfiguration(entry.getKey(), entry.getValue().build());
}
currentCacheManager.start();
// We register this new cache manager
@@ -370,15 +369,6 @@
}
}
confBuilder.read(cacheManager.getDefaultCacheConfiguration());
- //TODO remove it once ISPN-1687 will be fixed
- confBuilder.storeAsBinary().enabled(false);
- //TODO remove it once ISPN-1689 will be fixed
- confBuilder
- .clustering()
- .hash()
- .consistentHash(
- Util.<ConsistentHash> getInstance(DefaultConsistentHash.class.getName(), Thread.currentThread()
- .getContextClassLoader()));
}
else if (config.isDistributed())
{
@@ -399,15 +389,6 @@
if (LOG.isInfoEnabled())
LOG.info("The configuration template will be used for the the cache '" + region + "'.");
confBuilder.read(cacheManager.getDefaultCacheConfiguration());
- //TODO remove it once ISPN-1687 will be fixed
- confBuilder.storeAsBinary().enabled(false);
- //TODO remove it once ISPN-1689 will be fixed
- confBuilder
- .clustering()
- .hash()
- .consistentHash(
- Util.<ConsistentHash> getInstance(DefaultConsistentHash.class.getName(), Thread.currentThread()
- .getContextClassLoader()));
if (!config.isRepicated())
{
// The cache is local
Modified: kernel/trunk/exo.kernel.component.ext.cache.impl.infinispan.v5/src/main/java/org/exoplatform/services/ispn/DistributedCacheManager.java
===================================================================
--- kernel/trunk/exo.kernel.component.ext.cache.impl.infinispan.v5/src/main/java/org/exoplatform/services/ispn/DistributedCacheManager.java 2012-03-23 16:08:49 UTC (rev 5954)
+++ kernel/trunk/exo.kernel.component.ext.cache.impl.infinispan.v5/src/main/java/org/exoplatform/services/ispn/DistributedCacheManager.java 2012-03-26 07:27:46 UTC (rev 5955)
@@ -29,21 +29,18 @@
import org.exoplatform.services.log.Log;
import org.exoplatform.services.transaction.TransactionService;
import org.infinispan.Cache;
-import org.infinispan.configuration.cache.Configuration;
import org.infinispan.configuration.cache.ConfigurationBuilder;
import org.infinispan.configuration.global.GlobalConfigurationBuilder;
import org.infinispan.configuration.parsing.ConfigurationBuilderHolder;
import org.infinispan.configuration.parsing.Parser;
-import org.infinispan.distribution.ch.ConsistentHash;
-import org.infinispan.distribution.ch.DefaultConsistentHash;
import org.infinispan.manager.DefaultCacheManager;
import org.infinispan.manager.EmbeddedCacheManager;
import org.infinispan.transaction.lookup.TransactionManagerLookup;
-import org.infinispan.util.Util;
import org.picocontainer.Startable;
import java.security.PrivilegedExceptionAction;
import java.util.Map;
+import java.util.Map.Entry;
import javax.transaction.TransactionManager;
@@ -143,8 +140,7 @@
LOG.debug("The configuration file of the DistributedCacheManager will be loaded from " + configurationFile);
}
final TemplateConfigurationHelper helper =
- new TemplateConfigurationHelper(new String[]{"^jgroups-configuration", "^infinispan-.*"},
- new String[]{"^infinispan-configuration"}, configManager);
+ new TemplateConfigurationHelper(new String[]{"^.*"}, new String[]{}, configManager);
if (LOG.isDebugEnabled() && parameters != null && !parameters.isEmpty())
{
LOG.debug("The parameters to use while processing the configuration file are " + parameters);
@@ -168,21 +164,15 @@
return tm;
}
};
- for (ConfigurationBuilder b : holder.getConfigurationBuilders())
+ for (Entry<String, ConfigurationBuilder> entry : holder.getNamedConfigurationBuilders().entrySet())
{
+ ConfigurationBuilder b = entry.getValue();
if (tm != null)
{
- b.transaction().transactionManagerLookup(tml);
+ b.transaction().transactionManagerLookup(tml);
}
- //TODO remove it once ISPN-1689 will be fixed
- b.clustering()
- .hash()
- .consistentHash(
- Util.<ConsistentHash> getInstance(DefaultConsistentHash.class.getName(), Thread.currentThread()
- .getContextClassLoader()));
- Configuration c = b.build();
- manager.defineConfiguration(c.name(), c);
- manager.getCache(c.name());
+ manager.defineConfiguration(entry.getKey(), b.build());
+ manager.getCache(entry.getKey());
}
return manager;
}
@@ -190,8 +180,8 @@
}
catch (Exception e)//NOSONAR
{
- throw new IllegalStateException("Could not initialize the cache manager corresponding to the configuration file "
- + configurationFile, e);
+ throw new IllegalStateException(
+ "Could not initialize the cache manager corresponding to the configuration file " + configurationFile, e);
}
}
Modified: kernel/trunk/exo.kernel.component.ext.cache.impl.infinispan.v5/src/test/java/org/exoplatform/services/cache/impl/infinispan/distributed/TestDistributedExoCache.java
===================================================================
--- kernel/trunk/exo.kernel.component.ext.cache.impl.infinispan.v5/src/test/java/org/exoplatform/services/cache/impl/infinispan/distributed/TestDistributedExoCache.java 2012-03-23 16:08:49 UTC (rev 5954)
+++ kernel/trunk/exo.kernel.component.ext.cache.impl.infinispan.v5/src/test/java/org/exoplatform/services/cache/impl/infinispan/distributed/TestDistributedExoCache.java 2012-03-26 07:27:46 UTC (rev 5955)
@@ -510,7 +510,7 @@
}
}
- public static class MyKeyGenerator implements KeyGenerator<DistributedExoCache.CacheKey<MyKey>>
+ public static class MyKeyGenerator implements KeyGenerator<DistributedExoCache.CacheKey<Serializable>>
{
public static final Random rnd = new Random();
@@ -523,9 +523,9 @@
}
@Override
- public DistributedExoCache.CacheKey<MyKey> getKey()
+ public DistributedExoCache.CacheKey<Serializable> getKey()
{
- return new DistributedExoCache.CacheKey<MyKey>(fullName, new MyKey(rnd.nextLong()));
+ return new DistributedExoCache.CacheKey<Serializable>(fullName, new MyKey(rnd.nextLong()));
}
}
Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/xml/Configuration.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/xml/Configuration.java 2012-03-23 16:08:49 UTC (rev 5954)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/xml/Configuration.java 2012-03-26 07:27:46 UTC (rev 5955)
@@ -257,16 +257,8 @@
}
else if (result == null)
{
- try
- {
- // Initialize with the clone of the first non null configuration
- result = (Configuration)conf.clone();
- }
- catch (CloneNotSupportedException e)
- {
- LOG.warn("Could not clone the configuration", e);
- break;
- }
+ // Initialize with the clone of the first non null configuration
+ result = (Configuration)conf.clone();
}
else
{
@@ -276,6 +268,42 @@
}
return result;
}
+
+ /**
+ * {@inheritDoc}
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ protected Object clone()
+ {
+ try
+ {
+ Configuration conf = (Configuration)super.clone();
+ conf.component_ = (Map<String, Component>)((HashMap<String, Component>)component_).clone();
+ conf.componentLifecyclePlugin_ =
+ (Map<String, ComponentLifecyclePlugin>)((HashMap<String, ComponentLifecyclePlugin>)componentLifecyclePlugin_)
+ .clone();
+ conf.containerLifecyclePlugin_ =
+ (Map<String, ContainerLifecyclePlugin>)((HashMap<String, ContainerLifecyclePlugin>)containerLifecyclePlugin_)
+ .clone();
+ conf.externalComponentPlugins_ =
+ (Map<String, ExternalComponentPlugins>)((HashMap<String, ExternalComponentPlugins>)externalComponentPlugins_)
+ .clone();
+ if (imports_ != null)
+ {
+ conf.imports_ = (ArrayList<String>)imports_.clone();
+ }
+ if (removeConfiguration_ != null)
+ {
+ conf.removeConfiguration_ = (ArrayList<String>)removeConfiguration_.clone();
+ }
+ return conf;
+ }
+ catch (CloneNotSupportedException e)
+ {
+ throw new AssertionError("Could not clone the configuration");
+ }
+ }
/**
* Dumps the configuration in XML format into the given {@link Writer}
Modified: kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/TestPortalContainer.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/TestPortalContainer.java 2012-03-23 16:08:49 UTC (rev 5954)
+++ kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/TestPortalContainer.java 2012-03-26 07:27:46 UTC (rev 5955)
@@ -161,6 +161,36 @@
assertNull(PortalContainer.getCurrentSetting("boolean"));
}
+ public void testGetConfigurationXML()
+ {
+ URL rootURL = getClass().getResource("test-exo-container.xml");
+ URL portalURL = getClass().getResource("/conf/test-configuration.xml");
+ assertNotNull(rootURL);
+ assertNotNull(portalURL);
+ //
+ new ContainerBuilder().withRoot(rootURL).withPortal(portalURL).build();
+
+ String configXML = RootContainer.getInstance().getConfigurationXML();
+ assertNotNull(configXML);
+ int size = configXML.length();
+ int hash = configXML.hashCode();
+ configXML = RootContainer.getInstance().getConfigurationXML();
+ assertNotNull(configXML);
+ assertTrue(size > 0);
+ assertEquals(size, configXML.length());
+ assertEquals(hash, configXML.hashCode());
+
+ configXML = PortalContainer.getInstance().getConfigurationXML();
+ assertNotNull(configXML);
+ assertTrue(size > 0);
+ size = configXML.length();
+ hash = configXML.hashCode();
+ configXML = PortalContainer.getInstance().getConfigurationXML();
+ assertNotNull(configXML);
+ assertEquals(size, configXML.length());
+ assertEquals(hash, configXML.hashCode());
+ }
+
public static class MyComponent
{
private final InitParams params;
Added: kernel/trunk/exo.kernel.container/src/test/resources/tsm-excludes.properties
===================================================================
--- kernel/trunk/exo.kernel.container/src/test/resources/tsm-excludes.properties (rev 0)
+++ kernel/trunk/exo.kernel.container/src/test/resources/tsm-excludes.properties 2012-03-26 07:27:46 UTC (rev 5955)
@@ -0,0 +1 @@
+org.exoplatform.container.TestPortalContainer.testGetConfigurationXML=getConfigurationXML
\ No newline at end of file
Modified: kernel/trunk/pom.xml
===================================================================
--- kernel/trunk/pom.xml 2012-03-23 16:08:49 UTC (rev 5954)
+++ kernel/trunk/pom.xml 2012-03-26 07:27:46 UTC (rev 5955)
@@ -203,7 +203,7 @@
<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-core</artifactId>
- <version>5.1.0.CR3</version>
+ <version>5.1.2.FINAL</version>
</dependency>
<dependency>
<groupId>org.jibx</groupId>
More information about the exo-jcr-commits
mailing list