Author: brett
Date: Mon Nov 30 03:50:51 2009
New Revision: 885328

URL: http://svn.apache.org/viewvc?rev=885328&view=rev
Log:
[MRM-1288] move getDependencies() method to new repository API

Modified:
    
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-api/src/main/java/org/apache/archiva/web/xmlrpc/api/beans/Dependency.java
    
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImpl.java
    
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImplTest.java

Modified: 
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-api/src/main/java/org/apache/archiva/web/xmlrpc/api/beans/Dependency.java
URL: 
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-api/src/main/java/org/apache/archiva/web/xmlrpc/api/beans/Dependency.java?rev=885328&r1=885327&r2=885328&view=diff
==============================================================================
--- 
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-api/src/main/java/org/apache/archiva/web/xmlrpc/api/beans/Dependency.java
 (original)
+++ 
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-api/src/main/java/org/apache/archiva/web/xmlrpc/api/beans/Dependency.java
 Mon Nov 30 03:50:51 2009
@@ -38,7 +38,69 @@
     private String type;
     
     private String scope;
-    
+
+    @Override
+    public String toString()
+    {
+        return "Dependency{" + "groupId='" + groupId + '\'' + ", artifactId='" 
+ artifactId + '\'' + ", version='" +
+            version + '\'' + ", classifier='" + classifier + '\'' + ", type='" 
+ type + '\'' + ", scope='" + scope +
+            '\'' + '}';
+    }
+
+    @Override
+    public boolean equals( Object o )
+    {
+        if ( this == o )
+        {
+            return true;
+        }
+        if ( o == null || getClass() != o.getClass() )
+        {
+            return false;
+        }
+
+        Dependency that = (Dependency) o;
+
+        if ( !artifactId.equals( that.artifactId ) )
+        {
+            return false;
+        }
+        if ( classifier != null ? !classifier.equals( that.classifier ) : 
that.classifier != null )
+        {
+            return false;
+        }
+        if ( !groupId.equals( that.groupId ) )
+        {
+            return false;
+        }
+        if ( scope != null ? !scope.equals( that.scope ) : that.scope != null )
+        {
+            return false;
+        }
+        if ( type != null ? !type.equals( that.type ) : that.type != null )
+        {
+            return false;
+        }
+        if ( !version.equals( that.version ) )
+        {
+            return false;
+        }
+
+        return true;
+    }
+
+    @Override
+    public int hashCode()
+    {
+        int result = groupId.hashCode();
+        result = 31 * result + artifactId.hashCode();
+        result = 31 * result + version.hashCode();
+        result = 31 * result + ( classifier != null ? classifier.hashCode() : 
0 );
+        result = 31 * result + ( type != null ? type.hashCode() : 0 );
+        result = 31 * result + ( scope != null ? scope.hashCode() : 0 );
+        return result;
+    }
+
     public Dependency( String groupId, String artifactId, String version, 
String classifier, String type, String scope )
     {
         this.groupId = groupId;

Modified: 
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImpl.java
URL: 
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImpl.java?rev=885328&r1=885327&r2=885328&view=diff
==============================================================================
--- 
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImpl.java
 (original)
+++ 
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImpl.java
 Mon Nov 30 03:50:51 2009
@@ -28,6 +28,7 @@
 import org.apache.archiva.indexer.search.SearchResultHit;
 import org.apache.archiva.indexer.search.SearchResultLimits;
 import org.apache.archiva.indexer.search.SearchResults;
+import org.apache.archiva.metadata.model.ProjectVersionMetadata;
 import org.apache.archiva.metadata.model.ProjectVersionReference;
 import org.apache.archiva.metadata.repository.MetadataResolver;
 import org.apache.archiva.web.xmlrpc.api.SearchService;
@@ -232,27 +233,26 @@
     public List<Dependency> getDependencies( String groupId, String 
artifactId, String version )
         throws Exception
     {
-        List<Dependency> dependencies = new ArrayList<Dependency>();
         List<String> observableRepos = 
xmlRpcUserRepositories.getObservableRepositories();
 
-        try
+        for ( String repoId : observableRepos )
         {
-            ArchivaProjectModel model = repoBrowsing.selectVersion( "", 
observableRepos, groupId, artifactId, version );
-            List<org.apache.maven.archiva.model.Dependency> modelDeps = 
model.getDependencies();
-            for ( org.apache.maven.archiva.model.Dependency dep : modelDeps )
+            ProjectVersionMetadata model = metadataResolver.getProjectVersion( 
repoId, groupId, artifactId, version );
+            if ( model != null )
             {
-                Dependency dependency =
-                    new Dependency( dep.getGroupId(), dep.getArtifactId(), 
dep.getVersion(), dep.getClassifier(),
-                                    dep.getType(), dep.getScope() );
-                dependencies.add( dependency );
+                List<Dependency> dependencies = new ArrayList<Dependency>();
+                List<org.apache.archiva.metadata.model.Dependency> modelDeps = 
model.getDependencies();
+                for ( org.apache.archiva.metadata.model.Dependency dep : 
modelDeps )
+                {
+                    Dependency dependency =
+                        new Dependency( dep.getGroupId(), dep.getArtifactId(), 
dep.getVersion(), dep.getClassifier(),
+                                        dep.getType(), dep.getScope() );
+                    dependencies.add( dependency );
+                }
+                return dependencies;
             }
         }
-        catch ( ObjectNotFoundException oe )
-        {
-            throw new Exception( "Artifact does not exist." );
-        }
-
-        return dependencies;
+        throw new Exception( "Artifact does not exist." );
     }
 
     public List<Artifact> getDependencyTree( String groupId, String 
artifactId, String version )

Modified: 
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImplTest.java
URL: 
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImplTest.java?rev=885328&r1=885327&r2=885328&view=diff
==============================================================================
--- 
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImplTest.java
 (original)
+++ 
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImplTest.java
 Mon Nov 30 03:50:51 2009
@@ -30,6 +30,7 @@
 import org.apache.archiva.indexer.search.SearchResultLimits;
 import org.apache.archiva.indexer.search.SearchResults;
 import org.apache.archiva.indexer.util.SearchUtil;
+import org.apache.archiva.metadata.model.ProjectVersionMetadata;
 import org.apache.archiva.metadata.model.ProjectVersionReference;
 import org.apache.archiva.metadata.repository.MetadataResolver;
 import org.apache.archiva.web.xmlrpc.api.SearchService;
@@ -38,7 +39,6 @@
 import org.apache.archiva.web.xmlrpc.security.XmlRpcUserRepositories;
 import org.apache.maven.archiva.database.ArchivaDAO;
 import org.apache.maven.archiva.database.ArtifactDAO;
-import org.apache.maven.archiva.database.ObjectNotFoundException;
 import org.apache.maven.archiva.database.browsing.BrowsingResults;
 import org.apache.maven.archiva.database.browsing.RepositoryBrowsing;
 import 
org.apache.maven.archiva.database.constraints.ArtifactsByChecksumConstraint;
@@ -480,23 +480,19 @@
     public void testGetDependenciesArtifactExists()
         throws Exception
     {
-        List<String> observableRepoIds = new ArrayList<String>();
-        observableRepoIds.add( "repo1.mirror" );
-        observableRepoIds.add( "public.releases" );
+        String repoId = "repo1.mirror";
 
-        ArchivaProjectModel model = new ArchivaProjectModel();
-        model.setGroupId( ARCHIVA_TEST_GROUP_ID );
-        model.setArtifactId( ARCHIVA_TEST_ARTIFACT_ID );
-        model.setVersion( "1.0" );
+        ProjectVersionMetadata model = new ProjectVersionMetadata();
+        model.setId( "1.0" );
 
-        org.apache.maven.archiva.model.Dependency dependency = new 
org.apache.maven.archiva.model.Dependency();
-        dependency.setGroupId( "commons-logging" );
+        org.apache.archiva.metadata.model.Dependency dependency = new 
org.apache.archiva.metadata.model.Dependency();
+        dependency.setGroupId( "org.apache.commons" );
         dependency.setArtifactId( "commons-logging" );
         dependency.setVersion( "2.0" );
 
         model.addDependency( dependency );
 
-        dependency = new org.apache.maven.archiva.model.Dependency();
+        dependency = new org.apache.archiva.metadata.model.Dependency();
         dependency.setGroupId( "junit" );
         dependency.setArtifactId( "junit" );
         dependency.setVersion( "2.4" );
@@ -504,38 +500,39 @@
 
         model.addDependency( dependency );
 
-        userReposControl.expectAndReturn( 
userRepos.getObservableRepositories(), observableRepoIds );
-        repoBrowsingControl.expectAndReturn(
-            repoBrowsing.selectVersion( "", observableRepoIds, 
ARCHIVA_TEST_GROUP_ID, ARCHIVA_TEST_ARTIFACT_ID, "1.0" ),
+        userReposControl.expectAndReturn( 
userRepos.getObservableRepositories(), Collections.singletonList( repoId ) );
+        metadataResolverControl.expectAndReturn(
+            metadataResolver.getProjectVersion( repoId, ARCHIVA_TEST_GROUP_ID, 
ARCHIVA_TEST_ARTIFACT_ID, "1.0" ),
             model );
 
-        repoBrowsingControl.replay();
+        metadataResolverControl.replay();
         userReposControl.replay();
 
         List<Dependency> dependencies =
             searchService.getDependencies( ARCHIVA_TEST_GROUP_ID, 
ARCHIVA_TEST_ARTIFACT_ID, "1.0" );
 
-        repoBrowsingControl.verify();
+        metadataResolverControl.verify();
         userReposControl.verify();
 
         assertNotNull( dependencies );
         assertEquals( 2, dependencies.size() );
+        assertEquals( new Dependency( "org.apache.commons", "commons-logging", 
"2.0", null, null, null ),
+                      dependencies.get( 0 ) );
+        assertEquals( new Dependency( "junit", "junit", "2.4", null, null, 
"test" ), dependencies.get( 1 ) );
     }
 
     public void testGetDependenciesArtifactDoesNotExist()
         throws Exception
     {
-        List<String> observableRepoIds = new ArrayList<String>();
-        observableRepoIds.add( "repo1.mirror" );
-        observableRepoIds.add( "public.releases" );
+        String repoId = "repo1.mirror";
 
-        userReposControl.expectAndReturn( 
userRepos.getObservableRepositories(), observableRepoIds );
-        repoBrowsingControl.expectAndThrow(
-            repoBrowsing.selectVersion( "", observableRepoIds, 
ARCHIVA_TEST_GROUP_ID, ARCHIVA_TEST_ARTIFACT_ID, "1.0" ),
-            new ObjectNotFoundException( "Artifact does not exist." ) );
+        userReposControl.expectAndReturn( 
userRepos.getObservableRepositories(), Collections.singletonList( repoId ) );
+        metadataResolverControl.expectAndReturn(
+            metadataResolver.getProjectVersion( repoId, ARCHIVA_TEST_GROUP_ID, 
ARCHIVA_TEST_ARTIFACT_ID, "1.0" ),
+            null );
 
         userReposControl.replay();
-        repoBrowsingControl.replay();
+        metadataResolverControl.replay();
 
         try
         {
@@ -548,7 +545,7 @@
         }
 
         userReposControl.verify();
-        repoBrowsingControl.verify();
+        metadataResolverControl.verify();
     }
 
     public void testGetDependencyTreeArtifactExists()


Reply via email to