add test checking file disk is created

git-svn-id: https://svn.apache.org/repos/asf/archiva/redback/redback-components/trunk@1447470 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/spring-cache-providers/spring-cache-ehcache/src/main/java/org/apache/archiva/redback/components/cache/ehcache/EhcacheCache.java b/spring-cache-providers/spring-cache-ehcache/src/main/java/org/apache/archiva/redback/components/cache/ehcache/EhcacheCache.java
index 9ec6dfb..365f961 100644
--- a/spring-cache-providers/spring-cache-ehcache/src/main/java/org/apache/archiva/redback/components/cache/ehcache/EhcacheCache.java
+++ b/spring-cache-providers/spring-cache-ehcache/src/main/java/org/apache/archiva/redback/components/cache/ehcache/EhcacheCache.java
@@ -26,7 +26,7 @@
 import net.sf.ehcache.config.CacheConfiguration;
 import net.sf.ehcache.config.Configuration;
 import net.sf.ehcache.config.DiskStoreConfiguration;
-import net.sf.ehcache.config.PersistenceConfiguration;
+import net.sf.ehcache.config.MemoryUnit;
 import net.sf.ehcache.store.MemoryStoreEvictionPolicy;
 import org.apache.archiva.redback.components.cache.CacheStatistics;
 import org.slf4j.Logger;
@@ -65,7 +65,7 @@
                 return 0.0;
             }
 
-            return (double) hits / (double) ( hits + miss );
+            return hits / ( hits + miss );
         }
 
         public long getCacheHits()
@@ -112,7 +112,7 @@
     /**
      *
      */
-    private int maxElementsInMemory = 1000;
+    private int maxElementsInMemory = 0;
 
     /**
      *
@@ -164,6 +164,16 @@
      */
     private int maxElementsOnDisk;
 
+    /**
+     * @since 2.1
+     */
+    //private String persistenceStrategy = PersistenceConfiguration.Strategy.LOCALTEMPSWAP.name();
+
+    /**
+     * @since 2.1
+     */
+    //private boolean synchronousWrites = false;
+
     private boolean statisticsEnabled = true;
 
     private CacheManager cacheManager = null;//CacheManager.getInstance();
@@ -199,7 +209,8 @@
         }
         else
         {
-            this.cacheManager = new CacheManager( new Configuration().name( getName() ) );
+            this.cacheManager = new CacheManager( new Configuration().name( getName() ).diskStore(
+                new DiskStoreConfiguration().path( getDiskStorePath() ) ) );
         }
 
         boolean cacheExists = cacheManager.cacheExists( getName() );
@@ -219,20 +230,28 @@
 
         if ( !cacheExists )
         {
-            CacheConfiguration cacheConfiguration = new CacheConfiguration().name( getName() ).maxEntriesLocalHeap(
-                getMaxElementsInMemory() ).memoryStoreEvictionPolicy( getMemoryStoreEvictionPolicy() ).eternal(
-                isEternal() ).timeToLiveSeconds( getTimeToLiveSeconds() ).timeToIdleSeconds(
-                getTimeToIdleSeconds() ).diskExpiryThreadIntervalSeconds(
-                getDiskExpiryThreadIntervalSeconds() ).overflowToOffHeap( isOverflowToOffHeap() ).maxEntriesLocalDisk(
-                getMaxElementsOnDisk() ).overflowToDisk( isOverflowToDisk() ).diskPersistent( diskPersistent );
+            CacheConfiguration cacheConfiguration =
+                new CacheConfiguration().name( getName() ).memoryStoreEvictionPolicy(
+                    getMemoryStoreEvictionPolicy() ).eternal( isEternal() ).timeToLiveSeconds(
+                    getTimeToLiveSeconds() ).timeToIdleSeconds(
+                    getTimeToIdleSeconds() ).diskExpiryThreadIntervalSeconds(
+                    getDiskExpiryThreadIntervalSeconds() ).overflowToOffHeap(
+                    isOverflowToOffHeap() ).maxEntriesLocalDisk( getMaxElementsOnDisk() ).diskPersistent(
+                    isDiskPersistent() ).overflowToDisk( overflowToDisk );
+
+            if ( getMaxElementsInMemory() > 0 )
+            {
+                cacheConfiguration = cacheConfiguration.maxEntriesLocalHeap( getMaxElementsInMemory() );
+            }
 
             if ( getMaxBytesLocalHeap() > 0 )
             {
-                cacheConfiguration.setMaxBytesLocalHeap( getMaxBytesLocalHeap() );
+                cacheConfiguration = cacheConfiguration.maxBytesLocalHeap( getMaxBytesLocalHeap(), MemoryUnit.BYTES );
             }
             if ( getMaxBytesLocalOffHeap() > 0 )
             {
-                cacheConfiguration.setMaxBytesLocalOffHeap( getMaxBytesLocalOffHeap() );
+                cacheConfiguration =
+                    cacheConfiguration.maxBytesLocalOffHeap( getMaxBytesLocalOffHeap(), MemoryUnit.BYTES );
             }
 
             ehcache = new Cache( cacheConfiguration );
@@ -503,4 +522,24 @@
             this.ehcache.getCacheConfiguration().maxEntriesLocalDisk( this.maxElementsOnDisk );
         }
     }
+
+    /*public String getPersistenceStrategy()
+    {
+        return persistenceStrategy;
+    }
+
+    public void setPersistenceStrategy( String persistenceStrategy )
+    {
+        this.persistenceStrategy = persistenceStrategy;
+    }
+
+    public boolean isSynchronousWrites()
+    {
+        return synchronousWrites;
+    }
+
+    public void setSynchronousWrites( boolean synchronousWrites )
+    {
+        this.synchronousWrites = synchronousWrites;
+    }*/
 }
diff --git a/spring-cache-providers/spring-cache-ehcache/src/test/java/org/apache/archiva/redback/components/cache/ehcache/EhcacheCacheTest.java b/spring-cache-providers/spring-cache-ehcache/src/test/java/org/apache/archiva/redback/components/cache/ehcache/EhcacheCacheTest.java
index b7ee8fe..8938c59 100644
--- a/spring-cache-providers/spring-cache-ehcache/src/test/java/org/apache/archiva/redback/components/cache/ehcache/EhcacheCacheTest.java
+++ b/spring-cache-providers/spring-cache-ehcache/src/test/java/org/apache/archiva/redback/components/cache/ehcache/EhcacheCacheTest.java
@@ -20,60 +20,66 @@
 import org.apache.archiva.redback.components.cache.ehcache.EhcacheCache;
 import org.apache.archiva.redback.components.cache.test.AbstractCacheTestCase;
 import org.apache.archiva.redback.components.cache.test.examples.wine.Wine;
+import org.springframework.test.annotation.DirtiesContext;
 
 import javax.inject.Inject;
 import javax.inject.Named;
 
 /**
- * EhcacheCacheTest 
+ * EhcacheCacheTest
  *
  * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
- *
  */
+@DirtiesContext( classMode = DirtiesContext.ClassMode.AFTER_CLASS )
 public class EhcacheCacheTest
     extends AbstractCacheTestCase
 {
 
-    @Inject @Named(value = "cache#ehcache")
-    Cache<String,Integer> cache;
+    @Inject
+    @Named(value = "cache#ehcache")
+    Cache<String, Integer> cache;
 
-    @Inject @Named(value = "cache#alwaysrefresh")
-    Cache<String,Wine> cachealwaysrefresh;
+    @Inject
+    @Named(value = "cache#alwaysrefresh")
+    Cache<String, Wine> cachealwaysrefresh;
 
-    @Inject @Named(value = "cache#onesecondrefresh")
-    Cache<String,Wine> cacheonesecondrefresh;
+    @Inject
+    @Named(value = "cache#onesecondrefresh")
+    Cache<String, Wine> cacheonesecondrefresh;
 
-    @Inject @Named(value = "cache#onesecondrefresh")
-    Cache<String,Wine> cachetwosecondrefresh;
+    @Inject
+    @Named(value = "cache#onesecondrefresh")
+    Cache<String, Wine> cachetwosecondrefresh;
 
-    @Inject @Named(value = "cache#neverrefresh")
-    Cache<String,Wine> cacheneversecondrefresh;
+    @Inject
+    @Named(value = "cache#neverrefresh")
+    Cache<String, Wine> cacheneversecondrefresh;
 
     @Override
-    public Cache<String,Integer> getCache()
+    public Cache<String, Integer> getCache()
     {
         return cache;
     }
 
-    public Cache<String,Wine> getAlwaysRefresCache()
+    public Cache<String, Wine> getAlwaysRefresCache()
         throws Exception
     {
         return cachealwaysrefresh;
     }
 
-    public Cache<String,Wine> getNeverRefresCache()
+    public Cache<String, Wine> getNeverRefresCache()
         throws Exception
     {
         return cacheneversecondrefresh;
     }
 
-    public Cache<String,Wine> getOneSecondRefresCache()
+    public Cache<String, Wine> getOneSecondRefresCache()
         throws Exception
     {
         return cacheonesecondrefresh;
     }
 
-    public Cache<String,Wine> getTwoSecondRefresCache()
+    public Cache<String, Wine> getTwoSecondRefresCache()
         throws Exception
     {
         return cachetwosecondrefresh;