You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by jo...@apache.org on 2007/02/27 02:47:09 UTC

svn commit: r512105 - in /maven/archiva/trunk/archiva-repository-layer: ./ src/main/java/org/apache/maven/archiva/layer/ src/test/java/org/apache/maven/archiva/layer/ src/test/resources/org/apache/maven/archiva/layer/

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()