[exo-jcr-commits] exo-jcr SVN: r2229 - jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/jbosscache.

do-not-reply at jboss.org do-not-reply at jboss.org
Thu Apr 8 08:42:10 EDT 2010


Author: nzamosenchuk
Date: 2010-04-08 08:42:09 -0400 (Thu, 08 Apr 2010)
New Revision: 2229

Modified:
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/jbosscache/JBossCacheWorkspaceStorageCache.java
Log:
EXOJCR-545: Configuration analyzer re-written.

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/jbosscache/JBossCacheWorkspaceStorageCache.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/jbosscache/JBossCacheWorkspaceStorageCache.java	2010-04-08 11:39:53 UTC (rev 2228)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/jbosscache/JBossCacheWorkspaceStorageCache.java	2010-04-08 12:42:09 UTC (rev 2229)
@@ -42,7 +42,7 @@
 import org.jboss.cache.Fqn;
 import org.jboss.cache.Node;
 import org.jboss.cache.config.EvictionRegionConfig;
-import org.jboss.cache.eviction.ExpirationAlgorithm;
+import org.jboss.cache.eviction.ExpirationAlgorithmConfig;
 
 import java.io.Serializable;
 import java.util.ArrayList;
@@ -287,22 +287,16 @@
       evictionConfigurations.add(parentCache.getConfiguration().getEvictionConfig().getDefaultEvictionRegionConfig());
 
       boolean useExpiration = false;
-      Iterator<EvictionRegionConfig> iterator = evictionConfigurations.iterator();
-
       // looking over all eviction configurations till the end or till some expiration algorithm subclass not found.
-      while (iterator.hasNext() && !useExpiration)
+      for (EvictionRegionConfig evictionRegionConfig : evictionConfigurations)
       {
-         try
+         if (evictionRegionConfig.getEvictionAlgorithmConfig() instanceof ExpirationAlgorithmConfig)
          {
-            String evictionClassName = iterator.next().getEvictionAlgorithmConfig().getEvictionAlgorithmClassName();
-            Class<?> evictionClass = Class.forName(evictionClassName);
-            // returns true if ExpirationAlgorithm is superClass of evictionClass
-            useExpiration = useExpiration || ExpirationAlgorithm.class.isAssignableFrom(evictionClass);
+            // force set expiration key to default value in all Expiration configurations (if any)
+            ((ExpirationAlgorithmConfig)evictionRegionConfig.getEvictionAlgorithmConfig())
+            .setExpirationKeyName(ExpirationAlgorithmConfig.EXPIRATION_KEY);
+            useExpiration = true;
          }
-         catch (ClassNotFoundException e)
-         {
-            throw new RepositoryConfigurationException("Unable to check JBossCache eviction class.", e);
-         }
       }
 
       if (useExpiration)



More information about the exo-jcr-commits mailing list