Author: joakime
Date: Mon Feb 26 17:47:08 2007
New Revision: 512105

URL: http://svn.apache.org/viewvc?view=rev&rev=512105
Log:
Using updated plexus-cache for runtime creation of Cache.

Removed:
    
maven/archiva/trunk/archiva-repository-layer/src/test/resources/org/apache/maven/archiva/layer/CachedRepositoryQueryLayerTest.xml
Modified:
    maven/archiva/trunk/archiva-repository-layer/pom.xml
    
maven/archiva/trunk/archiva-repository-layer/src/main/java/org/apache/maven/archiva/layer/CachedRepositoryQueryLayer.java
    
maven/archiva/trunk/archiva-repository-layer/src/main/java/org/apache/maven/archiva/layer/DefaultRepositoryQueryLayer.java
    
maven/archiva/trunk/archiva-repository-layer/src/test/java/org/apache/maven/archiva/layer/CachedRepositoryQueryLayerTest.java

Modified: maven/archiva/trunk/archiva-repository-layer/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-repository-layer/pom.xml?view=diff&rev=512105&r1=512104&r2=512105
==============================================================================
--- maven/archiva/trunk/archiva-repository-layer/pom.xml (original)
+++ maven/archiva/trunk/archiva-repository-layer/pom.xml Mon Feb 26 17:47:08 
2007
@@ -36,8 +36,15 @@
     </dependency>
     <dependency>
       <groupId>org.codehaus.plexus.cache</groupId>
+      <artifactId>plexus-cache-api</artifactId>
+      <version>1.0-alpha-2-SNAPSHOT</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus.cache</groupId>
       <artifactId>plexus-cache-ehcache</artifactId>
-      <version>1.0-alpha-1</version>
+      <version>1.0-alpha-2-SNAPSHOT</version>
+      <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.maven</groupId>
@@ -50,13 +57,6 @@
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-repository-metadata</artifactId>
-    </dependency>
-    <!-- TEST DEPS -->
-    <dependency>
-      <groupId>org.codehaus.plexus.cache</groupId>
-      <artifactId>plexus-cache-hashmap</artifactId>
-      <version>1.0-alpha-1</version>
-      <scope>test</scope>
     </dependency>
   </dependencies>
   <build>

Modified: 
maven/archiva/trunk/archiva-repository-layer/src/main/java/org/apache/maven/archiva/layer/CachedRepositoryQueryLayer.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-repository-layer/src/main/java/org/apache/maven/archiva/layer/CachedRepositoryQueryLayer.java?view=diff&rev=512105&r1=512104&r2=512105
==============================================================================
--- 
maven/archiva/trunk/archiva-repository-layer/src/main/java/org/apache/maven/archiva/layer/CachedRepositoryQueryLayer.java
 (original)
+++ 
maven/archiva/trunk/archiva-repository-layer/src/main/java/org/apache/maven/archiva/layer/CachedRepositoryQueryLayer.java
 Mon Feb 26 17:47:08 2007
@@ -22,6 +22,9 @@
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.codehaus.plexus.cache.Cache;
+import org.codehaus.plexus.cache.CacheException;
+import org.codehaus.plexus.cache.CacheHints;
+import org.codehaus.plexus.cache.factory.CacheFactory;
 
 import java.util.List;
 
@@ -29,24 +32,31 @@
  * CachedRepositoryQueryLayer - simple wrapper around another non-cached 
Repository Query Layer.
  *
  * @version $Id$
- * @plexus.component 
role="org.apache.maven.archiva.layer.RepositoryQueryLayer" role-hint="cached"
  */
 public class CachedRepositoryQueryLayer
     implements RepositoryQueryLayer
 {
-    /**
-     * @plexus.requirement role-hint="repository-query"
-     */
     private Cache cache;
 
-    /**
-     * @plexus.requirement
-     */
     private RepositoryQueryLayer layer;
-    
-    public CachedRepositoryQueryLayer()
+
+    public CachedRepositoryQueryLayer( RepositoryQueryLayer layer )
+        throws RepositoryQueryLayerException
     {
+        this.layer = layer;
+        String repoId = layer.getRepository().getId();
         
+        CacheHints hints = new CacheHints();
+        hints.setName( repoId );
+        hints.setOverflowToDisk( false );
+        try
+        {
+            this.cache = CacheFactory.getInstance().getCache( repoId, hints );
+        }
+        catch ( CacheException e )
+        {
+            throw new RepositoryQueryLayerException( "Unable to initialize 
cache: " + e.getMessage(), e );
+        }
     }
 
     public boolean containsArtifact( Artifact artifact )

Modified: 
maven/archiva/trunk/archiva-repository-layer/src/main/java/org/apache/maven/archiva/layer/DefaultRepositoryQueryLayer.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-repository-layer/src/main/java/org/apache/maven/archiva/layer/DefaultRepositoryQueryLayer.java?view=diff&rev=512105&r1=512104&r2=512105
==============================================================================
--- 
maven/archiva/trunk/archiva-repository-layer/src/main/java/org/apache/maven/archiva/layer/DefaultRepositoryQueryLayer.java
 (original)
+++ 
maven/archiva/trunk/archiva-repository-layer/src/main/java/org/apache/maven/archiva/layer/DefaultRepositoryQueryLayer.java
 Mon Feb 26 17:47:08 2007
@@ -36,12 +36,13 @@
  * DefaultRepositoryQueryLayer 
  *
  * @version $Id$
+ * @plexus.component 
role="org.apache.maven.archiva.layer.RepositoryQueryLayer" role-hint="default"
  */
 public class DefaultRepositoryQueryLayer
     implements RepositoryQueryLayer
 {
     protected ArtifactRepository repository;
-
+    
     public DefaultRepositoryQueryLayer( ArtifactRepository repository )
     {
         this.repository = repository;

Modified: 
maven/archiva/trunk/archiva-repository-layer/src/test/java/org/apache/maven/archiva/layer/CachedRepositoryQueryLayerTest.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-repository-layer/src/test/java/org/apache/maven/archiva/layer/CachedRepositoryQueryLayerTest.java?view=diff&rev=512105&r1=512104&r2=512105
==============================================================================
--- 
maven/archiva/trunk/archiva-repository-layer/src/test/java/org/apache/maven/archiva/layer/CachedRepositoryQueryLayerTest.java
 (original)
+++ 
maven/archiva/trunk/archiva-repository-layer/src/test/java/org/apache/maven/archiva/layer/CachedRepositoryQueryLayerTest.java
 Mon Feb 26 17:47:08 2007
@@ -19,7 +19,6 @@
  * under the License.
  */
 
-
 /**
  * CachedRepositoryQueryLayerTest 
  *
@@ -34,7 +33,9 @@
     {
         super.setUp();
 
-        queryLayer = (RepositoryQueryLayer) lookup( RepositoryQueryLayer.ROLE, 
"test-cached" );
+        RepositoryQueryLayer defaultLayer = new DefaultRepositoryQueryLayer( 
repository );
+
+        queryLayer = new CachedRepositoryQueryLayer( defaultLayer );
     }
 
     public void testUseFileCache()


Reply via email to