Author: oching
Date: Wed Feb 18 03:37:34 2009
New Revision: 745371

URL: http://svn.apache.org/viewvc?rev=745371&view=rev
Log:
[MRM-1042]
o fix getting of other versions of the snapshot
o added tests for getting other versions of the snapshot

Modified:
    
archiva/trunk/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/browsing/DefaultRepositoryBrowsing.java
    
archiva/trunk/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/browsing/RepositoryBrowsing.java
    
archiva/trunk/archiva-modules/archiva-database/src/test/java/org/apache/maven/archiva/database/browsing/RepositoryBrowsingTest.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ShowArtifactAction.java

Modified: 
archiva/trunk/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/browsing/DefaultRepositoryBrowsing.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/browsing/DefaultRepositoryBrowsing.java?rev=745371&r1=745370&r2=745371&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/browsing/DefaultRepositoryBrowsing.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/browsing/DefaultRepositoryBrowsing.java
 Wed Feb 18 03:37:34 2009
@@ -180,9 +180,9 @@
     }
 
     /**
-     * @see RepositoryBrowsing#getTimestampedSnapshots(List, String, String, 
String)
+     * @see RepositoryBrowsing#getOtherSnapshotVersions(List, String, String, 
String)
      */
-    public List<String> getTimestampedSnapshots( List<String> 
observableRepositoryIds, String groupId,
+    public List<String> getOtherSnapshotVersions( List<String> 
observableRepositoryIds, String groupId,
                                                  String artifactId, String 
version )
         throws ObjectNotFoundException, ArchivaDatabaseException
     {
@@ -194,14 +194,15 @@
                 dao.query( new UniqueVersionConstraint( 
observableRepositoryIds, groupId, artifactId ) );
 
             for ( String uniqueVersion : versions )
-            {
-                if ( VersionUtil.getBaseVersion( uniqueVersion ).equals( 
version ) )
+            {   
+                if ( VersionUtil.getBaseVersion( uniqueVersion ).equals( 
version ) || 
+                        VersionUtil.getBaseVersion( uniqueVersion ).equals( 
VersionUtil.getBaseVersion( version ) ) )
                 {
                     if ( !timestampedVersions.contains( uniqueVersion ) )
                     {
                         timestampedVersions.add( uniqueVersion );
                     }
-                }
+                }      
             }
         }
 

Modified: 
archiva/trunk/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/browsing/RepositoryBrowsing.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/browsing/RepositoryBrowsing.java?rev=745371&r1=745370&r2=745371&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/browsing/RepositoryBrowsing.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/browsing/RepositoryBrowsing.java
 Wed Feb 18 03:37:34 2009
@@ -91,7 +91,7 @@
         throws ObjectNotFoundException, ArchivaDatabaseException;
     
     /**
-     * Get the timestamped versions or versions with build numbers of the 
given SNAPSHOT artifact.
+     * Get the other versions of the given SNAPSHOT version.
      * 
      * @param observableRepositoryIds
      * @param groupId
@@ -101,7 +101,7 @@
      * @throws ObjectNotFoundException
      * @throws ArchivaDatabaseException
      */
-    public List<String> getTimestampedSnapshots( List<String> 
observableRepositoryIds,
+    public List<String> getOtherSnapshotVersions( List<String> 
observableRepositoryIds,
                                                               String groupId, 
String artifactId, String version )
         throws ObjectNotFoundException, ArchivaDatabaseException; 
                                                                   

Modified: 
archiva/trunk/archiva-modules/archiva-database/src/test/java/org/apache/maven/archiva/database/browsing/RepositoryBrowsingTest.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-database/src/test/java/org/apache/maven/archiva/database/browsing/RepositoryBrowsingTest.java?rev=745371&r1=745370&r2=745371&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-database/src/test/java/org/apache/maven/archiva/database/browsing/RepositoryBrowsingTest.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-database/src/test/java/org/apache/maven/archiva/database/browsing/RepositoryBrowsingTest.java
 Wed Feb 18 03:37:34 2009
@@ -164,7 +164,37 @@
         assertTrue( results.getVersions().contains( "2.1.1" ) );
         assertTrue( results.getVersions().contains( "2.1-alpha-1" ) ); 
     }
-
+    
+    public void testGetOtherSnapshotVersionsRequestedVersionIsGeneric()
+        throws Exception
+    {
+        saveTestData();
+        
+        RepositoryBrowsing browser = lookupBrowser();
+        List<String> results =
+            browser.getOtherSnapshotVersions( GUEST_REPO_IDS, 
"org.apache.maven.shared", "test-two", "2.1-SNAPSHOT" );
+        assertNotNull( "Returned list of versions should not be null.", 
results );
+        assertEquals( 3, results.size() );
+        assertTrue( results.contains( "2.1-SNAPSHOT" ) );
+        assertTrue( results.contains( "2.1-20070522.143249-1" ) );
+        assertTrue( results.contains( "2.1-20070522.153141-2" ) ); 
+    }
+    
+    public void testGetOtherSnapshotVersionsRequestedVersionIsUnique()
+        throws Exception
+    {
+        saveTestData();
+        
+        RepositoryBrowsing browser = lookupBrowser();
+        List<String> results =
+            browser.getOtherSnapshotVersions( GUEST_REPO_IDS, 
"org.apache.maven.shared", "test-two", "2.1-20070522.143249-1" );
+        assertNotNull( "Returned list of versions should not be null.", 
results );
+        assertEquals( 3, results.size() );
+        assertTrue( results.contains( "2.1-SNAPSHOT" ) );
+        assertTrue( results.contains( "2.1-20070522.143249-1" ) );
+        assertTrue( results.contains( "2.1-20070522.153141-2" ) ); 
+    }
+    
     private void assertGroupIds( String msg, List actualGroupIds, String[] 
expectedGroupIds )
     {
         assertEquals( msg + ": groupIds.length", expectedGroupIds.length, 
actualGroupIds.size() );

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ShowArtifactAction.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ShowArtifactAction.java?rev=745371&r1=745370&r2=745371&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ShowArtifactAction.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ShowArtifactAction.java
 Wed Feb 18 03:37:34 2009
@@ -112,7 +112,7 @@
                     repoBrowsing.selectVersion( getPrincipal(), 
getObservableRepos(), groupId, artifactId, version );
                                 
                 this.snapshotVersions =
-                    repoBrowsing.getTimestampedSnapshots( 
getObservableRepos(), groupId, artifactId, version );
+                    repoBrowsing.getOtherSnapshotVersions( 
getObservableRepos(), groupId, artifactId, version );
                 if( this.snapshotVersions.contains( version ) )
                 {
                     this.snapshotVersions.remove( version );


Reply via email to