You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ep...@apache.org on 2005/12/12 09:10:05 UTC
svn commit: r356209 - in
/maven/repository-manager/trunk/maven-repository-reports-standard/src:
main/java/org/apache/maven/repository/reporting/
test/java/org/apache/maven/repository/reporting/
test/repository/groupId/artifactId/
Author: epunzalan
Date: Mon Dec 12 00:09:34 2005
New Revision: 356209
URL: http://svn.apache.org/viewcvs?rev=356209&view=rev
Log:
PR: MRM-39
Class updates and refactored to share methods with DefaultRepositoryQueryLayer.
Added:
maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/AbstractRepositoryQueryLayer.java (with props)
maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/RepositoryQueryLayerException.java (with props)
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/CachedRepositoryQueryLayerTest.java (with props)
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/groupId/artifactId/maven-metadata.xml (with props)
Modified:
maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/CachedRepositoryQueryLayer.java
maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/DefaultRepositoryQueryLayer.java
maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/RepositoryQueryLayer.java
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/AbstractRepositoryQueryLayerTest.java
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/MockRepositoryQueryLayer.java
Added: maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/AbstractRepositoryQueryLayer.java
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/AbstractRepositoryQueryLayer.java?rev=356209&view=auto
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/AbstractRepositoryQueryLayer.java (added)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/AbstractRepositoryQueryLayer.java Mon Dec 12 00:09:34 2005
@@ -0,0 +1,96 @@
+package org.apache.maven.repository.reporting;
+
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.io.File;
+import java.io.FileReader;
+import java.util.List;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.metadata.ArtifactRepositoryMetadata;
+import org.apache.maven.artifact.repository.metadata.Metadata;
+import org.apache.maven.artifact.repository.metadata.Snapshot;
+import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Reader;
+
+/**
+ *
+ */
+public abstract class AbstractRepositoryQueryLayer
+ implements RepositoryQueryLayer
+{
+ protected ArtifactRepository repository;
+
+ public boolean containsArtifact( Artifact artifact )
+ {
+ File f = new File( repository.getBasedir(), repository.pathOf( artifact ) );
+ return f.exists();
+ }
+
+ public boolean containsArtifact( Artifact artifact, Snapshot snapshot )
+ {
+ String artifactPath = getSnapshotArtifactRepositoryPath( artifact, snapshot );
+ File artifactFile = new File( artifactPath );
+ return artifactFile.exists();
+ }
+
+ public List getVersions( Artifact artifact )
+ throws RepositoryQueryLayerException
+ {
+ Metadata metadata = getMetadata( artifact );
+
+ return metadata.getVersioning().getVersions();
+ }
+
+ protected String getSnapshotArtifactRepositoryPath( Artifact artifact, Snapshot snapshot )
+ {
+ File f = new File( repository.getBasedir(), repository.pathOf( artifact ) );
+ String snapshotInfo = artifact.getVersion().replaceAll( "SNAPSHOT", snapshot.getTimestamp() + "-" +
+ snapshot.getBuildNumber() + ".pom" );
+ File snapshotFile = new File( f.getParentFile(), artifact.getArtifactId() + "-" + snapshotInfo );
+ return snapshotFile.getAbsolutePath();
+ }
+
+ protected Metadata getMetadata( Artifact artifact )
+ throws RepositoryQueryLayerException
+ {
+ Metadata metadata = null;
+
+ ArtifactRepositoryMetadata repositoryMetadata = new ArtifactRepositoryMetadata( artifact );
+ String path = repository.pathOfRemoteRepositoryMetadata( repositoryMetadata );
+ File metadataFile = new File( repository.getBasedir(), path );
+ if ( metadataFile.exists() )
+ {
+ MetadataXpp3Reader reader = new MetadataXpp3Reader();
+ try
+ {
+ metadata = reader.read( new FileReader( metadataFile ) );
+ }
+ catch ( Exception e )
+ {
+ throw new RepositoryQueryLayerException( "Error occurred while attempting to read metadata file", e );
+ }
+ }
+ else
+ {
+ throw new RepositoryQueryLayerException( "Metadata not found: " + metadataFile.getAbsolutePath() );
+ }
+
+ return metadata;
+ }
+}
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/AbstractRepositoryQueryLayer.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/AbstractRepositoryQueryLayer.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/CachedRepositoryQueryLayer.java
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/CachedRepositoryQueryLayer.java?rev=356209&r1=356208&r2=356209&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/CachedRepositoryQueryLayer.java (original)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/CachedRepositoryQueryLayer.java Mon Dec 12 00:09:34 2005
@@ -35,19 +35,19 @@
*
*/
public class CachedRepositoryQueryLayer
- implements RepositoryQueryLayer
+ extends AbstractRepositoryQueryLayer
{
- // plexus components
- private ArtifactRepository repository;
-
-
+ //@todo caches should expire
//cache for metadata
private Map cacheMetadata;
//cache for repository files, all types
- //@todo should also cache missing files???
+ //@todo ???should also cache missing files
private Map cacheFile;
+ //@todo ???should a listener be required???
+ private long cacheHits = 0;
+
public CachedRepositoryQueryLayer( ArtifactRepository repository )
{
this.repository = repository;
@@ -56,83 +56,92 @@
cacheFile = new HashMap();
}
+
+ public long getCacheHits()
+ {
+ return cacheHits;
+ }
public boolean containsArtifact( Artifact artifact )
{
+ boolean artifactFound = true;
+
// @todo should check for snapshot artifacts
File artifactFile = new File( repository.pathOf( artifact ) );
-
- return fileExists( artifactFile );
+
+ if ( !checkFileCache( artifactFile ) )
+ {
+ artifactFound = super.containsArtifact( artifact );
+ if ( artifactFound )
+ {
+ addToFileCache( artifactFile );
+ }
+ }
+
+ return artifactFound;
}
public boolean containsArtifact( Artifact artifact, Snapshot snapshot )
{
- return false;
- }
+ boolean artifactFound = true;
- private List getArtifactVersions( Artifact artifact )
- {
- Metadata metadata = getMetadata( artifact );
-
- return metadata.getVersioning().getVersions();
+ String path = getSnapshotArtifactRepositoryPath( artifact, snapshot );
+
+ if ( !checkFileCache( path ) )
+ {
+ artifactFound = super.containsArtifact( artifact, snapshot );
+ if ( artifactFound )
+ {
+ addToFileCache( new File( repository.getBasedir(), path ) );
+ }
+ }
+
+ return artifactFound;
}
/**
* Method to utilize the cache
*/
- private boolean fileExists( File file )
+ private boolean checkFileCache( File file )
{
- boolean existing = true;
-
- String path = file.getAbsolutePath();
- if ( !cacheFile.containsKey( path ) )
+ boolean existing = false;
+
+ if ( cacheFile.containsKey( file ) )
{
- if ( file.exists() )
- {
- cacheFile.put( path, file );
- }
- else
- {
- existing = false;
- }
+ cacheHits++;
+ existing = true;
}
-
+
return existing;
}
- private boolean fileExists( String repositoryPath )
+ private boolean checkFileCache( String repositoryPath )
{
- return fileExists( new File( repository.getBasedir(), repositoryPath ) );
+ return checkFileCache( new File( repository.getBasedir(), repositoryPath ) );
+ }
+
+ private void addToFileCache( File file )
+ {
+ cacheFile.put( file, file );
}
/**
- * Method to utilize the cache
+ * Override method to utilize the cache
*/
- private Metadata getMetadata( Artifact artifact )
+ protected Metadata getMetadata( Artifact artifact )
+ throws RepositoryQueryLayerException
{
Metadata metadata = null;
if ( cacheMetadata.containsKey( artifact.getId() ) )
{
+ cacheHits++;
metadata = (Metadata) cacheMetadata.get( artifact.getId() );
}
else
{
- ArtifactRepositoryMetadata repositoryMetadata = new ArtifactRepositoryMetadata( artifact );
- String path = repository.pathOfRemoteRepositoryMetadata( repositoryMetadata );
- if ( fileExists( new File( path ) ) )
- {
- MetadataXpp3Reader reader = new MetadataXpp3Reader();
- try
- {
- metadata = reader.read( new FileReader( path ) );
- cacheMetadata.put( path, metadata );
- }
- catch ( Exception e )
- {
- //@todo should throw something
- }
- }
+ metadata = super.getMetadata( artifact );
+ cacheMetadata.put( artifact.getId(), metadata );
}
return metadata;
Modified: maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/DefaultRepositoryQueryLayer.java
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/DefaultRepositoryQueryLayer.java?rev=356209&r1=356208&r2=356209&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/DefaultRepositoryQueryLayer.java (original)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/DefaultRepositoryQueryLayer.java Mon Dec 12 00:09:34 2005
@@ -21,32 +21,21 @@
import org.apache.maven.artifact.repository.metadata.Snapshot;
import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.List;
+import org.apache.maven.artifact.repository.metadata.ArtifactRepositoryMetadata;
+import org.apache.maven.artifact.repository.metadata.Metadata;
+import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Reader;
/**
*
*/
public class DefaultRepositoryQueryLayer
- implements RepositoryQueryLayer
+ extends AbstractRepositoryQueryLayer
{
- private final ArtifactRepository repository;
-
public DefaultRepositoryQueryLayer( ArtifactRepository repository )
{
this.repository = repository;
- }
-
- public boolean containsArtifact( Artifact artifact )
- {
- File f = new File( repository.getBasedir(), repository.pathOf( artifact ) );
- return f.exists();
- }
-
- public boolean containsArtifact( Artifact artifact, Snapshot snapshot )
- {
- File f = new File( repository.getBasedir(), repository.pathOf( artifact ) );
- String snapshotInfo = artifact.getVersion().replaceAll( "SNAPSHOT", snapshot.getTimestamp() + "-" +
- snapshot.getBuildNumber() + ".pom" );
- File snapshotFile = new File( f.getParentFile(), artifact.getArtifactId() + "-" + snapshotInfo );
- return snapshotFile.exists();
}
}
Modified: maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/RepositoryQueryLayer.java
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/RepositoryQueryLayer.java?rev=356209&r1=356208&r2=356209&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/RepositoryQueryLayer.java (original)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/RepositoryQueryLayer.java Mon Dec 12 00:09:34 2005
@@ -17,6 +17,7 @@
* limitations under the License.
*/
+import java.util.List;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.repository.metadata.Snapshot;
@@ -33,4 +34,6 @@
boolean containsArtifact( Artifact artifact );
boolean containsArtifact( Artifact artifact, Snapshot snapshot );
+
+ List getVersions( Artifact artifact ) throws RepositoryQueryLayerException;
}
Added: maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/RepositoryQueryLayerException.java
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/RepositoryQueryLayerException.java?rev=356209&view=auto
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/RepositoryQueryLayerException.java (added)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/RepositoryQueryLayerException.java Mon Dec 12 00:09:34 2005
@@ -0,0 +1,35 @@
+package org.apache.maven.repository.reporting;
+
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ *
+ */
+public class RepositoryQueryLayerException
+ extends Exception
+{
+ public RepositoryQueryLayerException( String message, Throwable cause )
+ {
+ super( message, cause );
+ }
+
+ public RepositoryQueryLayerException( String message )
+ {
+ super( message );
+ }
+}
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/RepositoryQueryLayerException.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/RepositoryQueryLayerException.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/AbstractRepositoryQueryLayerTest.java
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/AbstractRepositoryQueryLayerTest.java?rev=356209&r1=356208&r2=356209&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/AbstractRepositoryQueryLayerTest.java (original)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/AbstractRepositoryQueryLayerTest.java Mon Dec 12 00:09:34 2005
@@ -18,12 +18,14 @@
*/
import java.io.File;
+import java.util.List;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.artifact.repository.metadata.Snapshot;
import org.codehaus.plexus.PlexusTestCase;
@@ -44,37 +46,98 @@
super.setUp();
File repositoryDirectory = getTestFile( "src/test/repository" );
- ArtifactFactory artifactFactory = (ArtifactFactory) lookup( ArtifactFactory.ROLE );
+ artifactFactory = (ArtifactFactory) lookup( ArtifactFactory.ROLE );
ArtifactRepositoryFactory factory = (ArtifactRepositoryFactory) lookup( ArtifactRepositoryFactory.ROLE );
ArtifactRepositoryLayout layout = (ArtifactRepositoryLayout) lookup( ArtifactRepositoryLayout.ROLE, "default" );
repository =
factory.createArtifactRepository( "test", repositoryDirectory.toURL().toString(), layout, null, null );
-
- queryLayer = new CachedRepositoryQueryLayer( repository );
}
public void testContainsArtifactTrue()
{
Artifact artifact = getArtifact( "groupId", "artifactId", "1.0-alpha-1" );
- assertTrue( "check artifact exists", queryLayer.containsArtifact( artifact ) );
+ assertTrue( "check artifact", queryLayer.containsArtifact( artifact ) );
}
public void testContainsArtifactFalse()
{
Artifact artifact = getArtifact( "groupId", "artifactId", "1.0-beta-1" );
- assertFalse( "check artifact exists", queryLayer.containsArtifact( artifact ) );
+ assertFalse( "check non-existent artifact", queryLayer.containsArtifact( artifact ) );
+ }
+
+ public void testContainsSnapshotArtifactTrue()
+ {
+ Snapshot snapshot = new Snapshot();
+ snapshot.setTimestamp( "20050611.202024" );
+ snapshot.setBuildNumber( 1 );
+
+ Artifact artifact = getArtifact( "groupId", "snapshot-artifact", "1.0-alpha-1-SNAPSHOT" );
+ assertTrue( "check for snapshot artifact", queryLayer.containsArtifact( artifact, snapshot ) );
+ }
+
+ public void testContainsSnapshotArtifactFalse()
+ {
+ Snapshot snapshot = new Snapshot();
+ snapshot.setTimestamp( "20050611.202024" );
+ snapshot.setBuildNumber( 2 );
+
+ Artifact artifact = getArtifact( "groupId", "snapshot-artifact", "1.0-alpha-1-SNAPSHOT" );
+ assertFalse( "check for non-existent snapshot artifact", queryLayer.containsArtifact( artifact, snapshot ) );
+ }
+
+ public void testArtifactVersionsTrue()
+ throws Exception
+ {
+ Artifact artifact = getArtifact( "groupId", "artifactId", "ignored" );
+
+ List versions = queryLayer.getVersions( artifact );
+
+ assertTrue( "check version 1.0-alpha-1", versions.contains( "1.0-alpha-1" ) );
+ assertTrue( "check version 1.0-alpha-2", versions.contains( "1.0-alpha-2" ) );
+ assertFalse( "check version 1.0-alpha-3", versions.contains( "1.0-alpha-3" ) );
}
- public void testContainsSnapshotArtifact()
+ public void testArtifactVersionsFalse()
+ throws Exception
{
+ Artifact artifact = getArtifact( "groupId", "artifactId", "ignored" );
+ List versions = queryLayer.getVersions( artifact );
+
+ assertTrue( "check version 1.0-alpha-1", versions.contains( "1.0-alpha-1" ) );
+ assertTrue( "check version 1.0-alpha-2", versions.contains( "1.0-alpha-2" ) );
+ assertFalse( "check version 1.0-alpha-3", versions.contains( "1.0-alpha-3" ) );
}
+ public void testArtifactVersionsError()
+ {
+ Artifact artifact = getArtifact( "groupId", "none", "ignored" );
+
+ try
+ {
+ queryLayer.getVersions( artifact );
+ fail( "expected error not thrown" );
+ }
+ catch ( RepositoryQueryLayerException e )
+ {
+ //expected
+ }
+ }
+
protected Artifact getArtifact( String groupId, String artifactId, String version )
{
+ if ( artifactFactory == null ) System.out.println("NULL");
return artifactFactory.createBuildArtifact( groupId, artifactId, version, "pom" );
+ }
+
+ protected void tearDown() throws Exception
+ {
+ release( artifactFactory );
+ super.tearDown();
+ artifactFactory = null;
+ repository = null;
}
}
Added: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/CachedRepositoryQueryLayerTest.java
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/CachedRepositoryQueryLayerTest.java?rev=356209&view=auto
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/CachedRepositoryQueryLayerTest.java (added)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/CachedRepositoryQueryLayerTest.java Mon Dec 12 00:09:34 2005
@@ -0,0 +1,57 @@
+package org.apache.maven.repository.reporting;
+
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ *
+ */
+public class CachedRepositoryQueryLayerTest
+ extends AbstractRepositoryQueryLayerTest
+{
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+
+ queryLayer = new CachedRepositoryQueryLayer( repository );
+ }
+
+ public void testUseFileCache()
+ {
+ testContainsArtifactTrue();
+ assertEquals( "check cache usage", 0, queryLayer.getCacheHits() );
+ testContainsArtifactTrue();
+ assertEquals( "check cache usage", 1, queryLayer.getCacheHits() );
+ }
+
+ public void testUseMetadataCache()
+ throws Exception
+ {
+ testArtifactVersionsTrue();
+ assertEquals( "check cache usage", 0, queryLayer.getCacheHits() );
+ testArtifactVersionsTrue();
+ assertEquals( "check cache usage", 1, queryLayer.getCacheHits() );
+ }
+
+ public void testUseFileCacheOnSnapshot()
+ {
+ testContainsSnapshotArtifactTrue();
+ assertEquals( "check cache usage", 0, queryLayer.getCacheHits() );
+ testContainsSnapshotArtifactTrue();
+ assertEquals( "check cache usage", 1, queryLayer.getCacheHits() );
+ }
+}
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/CachedRepositoryQueryLayerTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/CachedRepositoryQueryLayerTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/MockRepositoryQueryLayer.java
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/MockRepositoryQueryLayer.java?rev=356209&r1=356208&r2=356209&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/MockRepositoryQueryLayer.java (original)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/MockRepositoryQueryLayer.java Mon Dec 12 00:09:34 2005
@@ -70,4 +70,14 @@
// TODO
return containsArtifact( artifact );
}
+
+ public boolean containsArtifactVersion(Artifact artifact, String version)
+ {
+ return false;
+ }
+
+ public List getVersions( Artifact artifact )
+ {
+ return null;
+ }
}
Added: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/groupId/artifactId/maven-metadata.xml
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/groupId/artifactId/maven-metadata.xml?rev=356209&view=auto
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/groupId/artifactId/maven-metadata.xml (added)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/groupId/artifactId/maven-metadata.xml Mon Dec 12 00:09:34 2005
@@ -0,0 +1,11 @@
+<metadata>
+ <groupId>groupId</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>1.0-alpha-1</version>
+ <versioning>
+ <versions>
+ <version>1.0-alpha-1</version>
+ <version>1.0-alpha-2</version>
+ </versions>
+ </versioning>
+</metadata>
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/groupId/artifactId/maven-metadata.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/groupId/artifactId/maven-metadata.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"