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"