Skip to content

Commit 9c94cb5

Browse files
committed
Fix issue #1
- Fix for https://github.com/mihaicostin/hibernate-l2-memcached/issues/ : take into account the region specific cache cacheTimeSeconds setting. - Move all tests to java (from groovy) and add some new tests for Issue #1
1 parent b7573f6 commit 9c94cb5

37 files changed

+933
-789
lines changed

pom.xml

Lines changed: 2 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<groupId>com.github.mihaicostin</groupId>
66
<artifactId>hibernate-l2-memcached</artifactId>
7-
<version>1.0.0</version>
7+
<version>1.1.0-SNAPSHOT</version>
88
<name>hibernate-l2-memcached</name>
99
<description>A library for using Memcached as a second level distributed cache in Hibernate.</description>
1010
<url>https://github.com/mihaicostin/hibernate-l2-memcached</url>
@@ -43,9 +43,7 @@
4343
<spymemcached.version>2.11.6</spymemcached.version>
4444
<slf4j-api.version>1.5.6</slf4j-api.version>
4545

46-
<junit.version>4.4</junit.version>
47-
<gmaven.version>1.5</gmaven.version>
48-
<groovy.version>1.6.3</groovy.version>
46+
<junit.version>4.12</junit.version>
4947
<hsqldb.version>2.3.2</hsqldb.version>
5048
<slf4j-log4j12.version>1.5.6</slf4j-log4j12.version>
5149
</properties>
@@ -72,56 +70,6 @@
7270
</descriptorRefs>
7371
</configuration>
7472
</plugin>
75-
<plugin>
76-
<groupId>org.codehaus.mojo</groupId>
77-
<artifactId>groovy-maven-plugin</artifactId>
78-
<version>1.5</version>
79-
<executions>
80-
<execution>
81-
<goals>
82-
<goal>generateTestStubs</goal>
83-
<goal>testCompile</goal>
84-
</goals>
85-
</execution>
86-
</executions>
87-
</plugin>
88-
89-
<!-- Allow writing tests in Groovy -->
90-
<plugin>
91-
<groupId>org.codehaus.gmaven</groupId>
92-
<artifactId>gmaven-plugin</artifactId>
93-
<version>${gmaven.version}</version>
94-
<executions>
95-
<execution>
96-
<goals>
97-
<goal>generateTestStubs</goal>
98-
<goal>testCompile</goal>
99-
</goals>
100-
</execution>
101-
</executions>
102-
<configuration>
103-
<providerSelection>1.7</providerSelection>
104-
<source>src/main/groovy</source>
105-
</configuration>
106-
<dependencies>
107-
<dependency>
108-
<groupId>org.codehaus.gmaven.runtime</groupId>
109-
<artifactId>gmaven-runtime-2.0</artifactId>
110-
<version>${gmaven.version}</version>
111-
<exclusions>
112-
<exclusion>
113-
<groupId>org.codehaus.groovy</groupId>
114-
<artifactId>groovy-all</artifactId>
115-
</exclusion>
116-
</exclusions>
117-
</dependency>
118-
<dependency>
119-
<groupId>org.codehaus.groovy</groupId>
120-
<artifactId>groovy-all</artifactId>
121-
<version>${groovy.version}</version>
122-
</dependency>
123-
</dependencies>
124-
</plugin>
12573

12674
<!-- Releasing to OSSRH -->
12775
<plugin>
@@ -178,12 +126,6 @@
178126
<version>${hsqldb.version}</version>
179127
<scope>test</scope>
180128
</dependency>
181-
<dependency>
182-
<groupId>org.codehaus.groovy</groupId>
183-
<artifactId>groovy-all</artifactId>
184-
<version>${groovy.version}</version>
185-
<scope>test</scope>
186-
</dependency>
187129

188130
</dependencies>
189131

src/main/java/com/mc/hibernate/memcached/MemcachedCache.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,13 @@
1515

1616
package com.mc.hibernate.memcached;
1717

18-
import java.util.Map;
19-
18+
import com.mc.hibernate.memcached.keystrategy.KeyStrategy;
19+
import com.mc.hibernate.memcached.keystrategy.Sha1KeyStrategy;
2020
import org.hibernate.cache.CacheException;
2121
import org.slf4j.Logger;
2222
import org.slf4j.LoggerFactory;
2323

24-
import com.mc.hibernate.memcached.keystrategy.KeyStrategy;
25-
import com.mc.hibernate.memcached.keystrategy.Sha1KeyStrategy;
24+
import java.util.Map;
2625

2726
/**
2827
* Wrapper around MemcachedClient instance to provide the bridge between Hibernate and Memcached.
@@ -63,9 +62,10 @@ public class MemcachedCache {
6362

6463
public static final Integer DOGPILE_TOKEN = 0;
6564

66-
public MemcachedCache(String regionName, Memcache memcachedClient) {
65+
public MemcachedCache(String regionName, Memcache memcachedClient, Config config) {
6766
this.regionName = (regionName != null) ? regionName : "default";
6867
this.memcache = memcachedClient;
68+
this.cacheTimeSeconds = config.getCacheTimeSeconds(this.regionName);
6969
clearIndexKey = this.regionName.replaceAll("\\s", "") + ":index_key";
7070
}
7171

src/main/java/com/mc/hibernate/memcached/MemcachedRegionFactory.java

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -15,29 +15,18 @@
1515

1616
package com.mc.hibernate.memcached;
1717

18-
import java.lang.reflect.Constructor;
19-
import java.util.Properties;
20-
import java.util.concurrent.ConcurrentHashMap;
21-
import java.util.concurrent.ConcurrentMap;
22-
18+
import com.mc.hibernate.memcached.region.*;
2319
import org.hibernate.cache.CacheException;
24-
import org.hibernate.cache.spi.CacheDataDescription;
25-
import org.hibernate.cache.spi.CollectionRegion;
26-
import org.hibernate.cache.spi.EntityRegion;
27-
import org.hibernate.cache.spi.NaturalIdRegion;
28-
import org.hibernate.cache.spi.QueryResultsRegion;
29-
import org.hibernate.cache.spi.RegionFactory;
30-
import org.hibernate.cache.spi.TimestampsRegion;
20+
import org.hibernate.cache.spi.*;
3121
import org.hibernate.cache.spi.access.AccessType;
3222
import org.hibernate.cfg.Settings;
3323
import org.slf4j.Logger;
3424
import org.slf4j.LoggerFactory;
3525

36-
import com.mc.hibernate.memcached.region.MemcachedCollectionRegion;
37-
import com.mc.hibernate.memcached.region.MemcachedEntityRegion;
38-
import com.mc.hibernate.memcached.region.MemcachedNaturalIdRegion;
39-
import com.mc.hibernate.memcached.region.MemcachedQueryResultsRegion;
40-
import com.mc.hibernate.memcached.region.MemcachedTimestampsRegion;
26+
import java.lang.reflect.Constructor;
27+
import java.util.Properties;
28+
import java.util.concurrent.ConcurrentHashMap;
29+
import java.util.concurrent.ConcurrentMap;
4130

4231

4332
public class MemcachedRegionFactory implements RegionFactory {
@@ -132,6 +121,6 @@ protected MemcacheClientFactory getMemcachedClientFactory(Config config) {
132121
}
133122

134123
private MemcachedCache getCache(String regionName) {
135-
return caches.get(regionName) == null ? new MemcachedCache(regionName, client) : caches.get(regionName);
124+
return caches.get(regionName) == null ? new MemcachedCache(regionName, client, new Config(new PropertiesHelper(properties))) : caches.get(regionName);
136125
}
137126
}

src/test/groovy/com/googlecode/hibernate/memcached/AbstractKeyStrategyTestCase.groovy

Lines changed: 0 additions & 26 deletions
This file was deleted.

src/test/groovy/com/googlecode/hibernate/memcached/BaseTestCase.groovy

Lines changed: 0 additions & 11 deletions
This file was deleted.

src/test/groovy/com/googlecode/hibernate/memcached/ConfigTest.groovy

Lines changed: 0 additions & 78 deletions
This file was deleted.

src/test/groovy/com/googlecode/hibernate/memcached/LoggingConfig.groovy

Lines changed: 0 additions & 20 deletions
This file was deleted.

src/test/groovy/com/googlecode/hibernate/memcached/LoggingMemcacheExceptionHandlerTest.groovy

Lines changed: 0 additions & 47 deletions
This file was deleted.

src/test/groovy/com/googlecode/hibernate/memcached/Md5KeyStrategyTest.groovy

Lines changed: 0 additions & 39 deletions
This file was deleted.

0 commit comments

Comments
 (0)