Author: olamy
Date: Sat Jan 5 22:24:14 2013
New Revision: 1429405
URL: http://svn.apache.org/viewvc?rev=1429405&view=rev
Log:
generics for cache builder
Modified:
archiva/redback/redback-components/trunk/spring-cache/spring-cache-api/src/main/java/org/apache/archiva/redback/components/cache/builder/CacheBuilder.java
archiva/redback/redback-components/trunk/spring-cache/spring-cache-api/src/main/java/org/apache/archiva/redback/components/cache/builder/DefaultCacheBuilder.java
archiva/redback/redback-components/trunk/spring-cache/spring-cache-test/src/main/java/org/apache/archiva/redback/components/cache/test/examples/wine/DefaultWineService.java
Modified:
archiva/redback/redback-components/trunk/spring-cache/spring-cache-api/src/main/java/org/apache/archiva/redback/components/cache/builder/CacheBuilder.java
URL:
http://svn.apache.org/viewvc/archiva/redback/redback-components/trunk/spring-cache/spring-cache-api/src/main/java/org/apache/archiva/redback/components/cache/builder/CacheBuilder.java?rev=1429405&r1=1429404&r2=1429405&view=diff
==============================================================================
---
archiva/redback/redback-components/trunk/spring-cache/spring-cache-api/src/main/java/org/apache/archiva/redback/components/cache/builder/CacheBuilder.java
(original)
+++
archiva/redback/redback-components/trunk/spring-cache/spring-cache-api/src/main/java/org/apache/archiva/redback/components/cache/builder/CacheBuilder.java
Sat Jan 5 22:24:14 2013
@@ -23,24 +23,24 @@ import org.apache.archiva.redback.compon
/**
- * CacheBuilder Interface, for obtaining caches from plexus using hints or
clazz names.
+ * CacheBuilder Interface, for obtaining caches from spring using beans names
or clazz names.
*
* @author Olivier Lamy
*
* @since 3 February, 2007
*/
-public interface CacheBuilder
+public interface CacheBuilder<V,T>
{
/**
* @param roleHint
* @return
*/
- Cache getCache( String roleHint );
+ Cache<V,T> getCache( String roleHint );
/**
* @param clazz
* @return
*/
- Cache getCache( Class clazz );
+ Cache<V,T> getCache( Class clazz );
}
Modified:
archiva/redback/redback-components/trunk/spring-cache/spring-cache-api/src/main/java/org/apache/archiva/redback/components/cache/builder/DefaultCacheBuilder.java
URL:
http://svn.apache.org/viewvc/archiva/redback/redback-components/trunk/spring-cache/spring-cache-api/src/main/java/org/apache/archiva/redback/components/cache/builder/DefaultCacheBuilder.java?rev=1429405&r1=1429404&r2=1429405&view=diff
==============================================================================
---
archiva/redback/redback-components/trunk/spring-cache/spring-cache-api/src/main/java/org/apache/archiva/redback/components/cache/builder/DefaultCacheBuilder.java
(original)
+++
archiva/redback/redback-components/trunk/spring-cache/spring-cache-api/src/main/java/org/apache/archiva/redback/components/cache/builder/DefaultCacheBuilder.java
Sat Jan 5 22:24:14 2013
@@ -37,15 +37,15 @@ import javax.inject.Inject;
*
*/
@Service
-public class DefaultCacheBuilder
- implements CacheBuilder
+public class DefaultCacheBuilder<V,T>
+ implements CacheBuilder<V,T>
{
private Logger log = LoggerFactory.getLogger( getClass() );
- private Cache defaultCache;
+ private Cache<V,T> defaultCache;
- private Cache noCache = new NoCacheCache();
+ private Cache<V,T> noCache = new NoCacheCache<V,T>();
@Inject
private ApplicationContext applicationContext;
@@ -65,7 +65,7 @@ public class DefaultCacheBuilder
}
}
- public Cache getCache( String roleHint )
+ public Cache<V,T> getCache( String roleHint )
{
if ( this.applicationContext.containsBean( "cache#" + roleHint ) )
{
@@ -75,7 +75,7 @@ public class DefaultCacheBuilder
return this.getDefaultCache();
}
- public Cache getCache( Class clazz )
+ public Cache<V,T> getCache( Class clazz )
{
return this.getCache( clazz.getName() );
}
@@ -86,7 +86,7 @@ public class DefaultCacheBuilder
// TODO dispose default ?
}
- public Cache getDefaultCache()
+ public Cache<V,T> getDefaultCache()
{
return defaultCache == null ? this.noCache : this.defaultCache;
}
Modified:
archiva/redback/redback-components/trunk/spring-cache/spring-cache-test/src/main/java/org/apache/archiva/redback/components/cache/test/examples/wine/DefaultWineService.java
URL:
http://svn.apache.org/viewvc/archiva/redback/redback-components/trunk/spring-cache/spring-cache-test/src/main/java/org/apache/archiva/redback/components/cache/test/examples/wine/DefaultWineService.java?rev=1429405&r1=1429404&r2=1429405&view=diff
==============================================================================
---
archiva/redback/redback-components/trunk/spring-cache/spring-cache-test/src/main/java/org/apache/archiva/redback/components/cache/test/examples/wine/DefaultWineService.java
(original)
+++
archiva/redback/redback-components/trunk/spring-cache/spring-cache-test/src/main/java/org/apache/archiva/redback/components/cache/test/examples/wine/DefaultWineService.java
Sat Jan 5 22:24:14 2013
@@ -25,23 +25,22 @@ import org.springframework.stereotype.Se
import javax.inject.Inject;
/**
- * @since 5 February, 2007
- *
* @author Olivier Lamy
+ * @since 5 February, 2007
*/
@Service
public class DefaultWineService
implements WineService
{
@Inject
- private CacheBuilder cacheBuilder;
+ private CacheBuilder<String, Wine> cacheBuilder;
@Inject
private WineDao wineDao;
public Wine getWine( String name )
{
- Wine wine = (Wine) cacheBuilder.getCache( Wine.class ).get( name );
+ Wine wine = cacheBuilder.getCache( Wine.class ).get( name );
if ( wine == null )
{
wine = wineDao.getWine( name );