]> source.dussan.org Git - archiva.git/commitdiff
fix some problems in invoking search service
authorMaria Odea B. Ching <oching@apache.org>
Thu, 8 Jan 2009 10:14:02 +0000 (10:14 +0000)
committerMaria Odea B. Ching <oching@apache.org>
Thu, 8 Jan 2009 10:14:02 +0000 (10:14 +0000)
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@732674 13f79535-47bb-0310-9956-ffa450edef68

archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-api/src/main/java/org/apache/archiva/web/xmlrpc/api/SearchService.java
archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-api/src/main/java/org/apache/archiva/web/xmlrpc/api/beans/Artifact.java
archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-client/src/main/java/org/apache/archiva/web/xmlrpc/client/SampleClient.java
archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/SearchServiceImpl.java

index 1fa9fd155229b2a686c1f94067127de1770770a7..c04ae9766b8600f97544f18c5751cc24b661bcbf 100644 (file)
@@ -27,7 +27,7 @@ import org.apache.archiva.web.xmlrpc.api.beans.Dependency;
 
 import com.atlassian.xmlrpc.ServiceObject;
 
-@ServiceObject("Search")
+@ServiceObject("SearchService")
 public interface SearchService
 {
    /*
index bc553e3cd4e725457f89219840e27ac52ebee49a..d55c978f536cc25bd95aaa609ff5593b213e308e 100644 (file)
@@ -20,7 +20,6 @@ package org.apache.archiva.web.xmlrpc.api.beans;
  */
 
 import java.io.Serializable;
-import java.util.Date;
 
 import com.atlassian.xmlrpc.ServiceBean;
 import com.atlassian.xmlrpc.ServiceBeanField;
@@ -39,22 +38,22 @@ public class Artifact
 
     private String type;
 
-    private Date whenGathered;
+    //private Date whenGathered;
     
     public Artifact()
     {
 
     }
 
-    public Artifact( String repositoryId, String groupId, String artifactId, String version,
-                     String type, Date whenGathered )
+    public Artifact( String repositoryId, String groupId, String artifactId, String version, String type )
+//                     String type, Date whenGathered )
     {   
         this.repositoryId = repositoryId;
         this.groupId = groupId;
         this.artifactId = artifactId;
         this.version = version;
         this.type = type;
-        this.whenGathered = whenGathered;
+        //this.whenGathered = whenGathered;
     }
 
     public String getGroupId()
@@ -77,10 +76,10 @@ public class Artifact
         return type;
     }
 
-    public Date getWhenGathered()
+    /*public Date getWhenGathered()
     {
         return whenGathered;
-    }
+    }*/
 
     @ServiceBeanField( "groupId" )
     public void setGroupId( String groupId )
@@ -106,11 +105,11 @@ public class Artifact
         this.type = type;
     }
 
-    @ServiceBeanField( "whenGathered" )
+    /*@ServiceBeanField( "whenGathered" )
     public void setWhenGathered( Date whenGathered )
     {
         this.whenGathered = whenGathered;
-    }
+    }*/
 
     public String getRepositoryId()
     {
index 5e3a67fe3ef275f7b11aa0dc6eaa1f26b681e17d..ac6839cc212e4ba87f98303ce0bf0bd9df884984 100644 (file)
@@ -23,6 +23,8 @@ import java.net.URL;
 import java.util.List;
 
 import org.apache.archiva.web.xmlrpc.api.AdministrationService;
+import org.apache.archiva.web.xmlrpc.api.SearchService;
+import org.apache.archiva.web.xmlrpc.api.beans.Artifact;
 import org.apache.archiva.web.xmlrpc.api.beans.ManagedRepository;
 import org.apache.archiva.web.xmlrpc.api.beans.RemoteRepository;
 
@@ -117,6 +119,23 @@ public class SampleClient
             System.out.println( "\nDeleted artifact 'javax.activation:activation:1.1' from repository 'internal' : " +
                 ( (Boolean) success ).booleanValue() );
             */
+            
+            /* quick search */            
+            /*
+             * NOTE: before enabling & invoking search service, make sure that the artifacts you're searching
+             *      for has been indexed already in order to get results
+             *        
+            SearchService searchService = binder.bind( SearchService.class, new URL( args[0] ), authnInfo );
+            List<Artifact> artifacts = searchService.quickSearch( "org" );
+            
+            System.out.println( "\n************ Search Results for 'org' *************" );
+            for( Artifact artifact : artifacts )
+            {
+                System.out.println( "Artifact: " + artifact.getGroupId() + ":" + artifact.getArtifactId() +
+                                    ":" + artifact.getVersion() );
+            }            
+             */
+            
         }
         catch ( BindingException e )
         {
index 914d2732c49347facfbfc1855650a9a4457e6a4b..72276d4492aff7af1aa64b505c0667024816d26c 100644 (file)
@@ -29,6 +29,7 @@ import org.apache.archiva.web.xmlrpc.api.beans.Artifact;
 import org.apache.archiva.web.xmlrpc.api.beans.Dependency;
 import org.apache.archiva.web.xmlrpc.security.XmlRpcUserRepositories;
 import org.apache.maven.archiva.database.ArchivaDAO;
+import org.apache.maven.archiva.database.ArchivaDatabaseException;
 import org.apache.maven.archiva.database.ArtifactDAO;
 import org.apache.maven.archiva.database.ObjectNotFoundException;
 import org.apache.maven.archiva.database.browsing.BrowsingResults;
@@ -102,16 +103,28 @@ public class SearchServiceImpl
         for( SearchResultHit hit : hits )
         {   
             ArtifactDAO artifactDAO = archivaDAO.getArtifactDAO(); 
-            ArchivaArtifact pomArtifact = artifactDAO.getArtifact( 
-                       hit.getGroupId(), hit.getArtifactId(), hit.getVersion(), "", "pom" );
-            
-            if( pomArtifact != null )
+            try
+            {
+                ArchivaArtifact pomArtifact = artifactDAO.getArtifact( 
+                           hit.getGroupId(), hit.getArtifactId(), hit.getVersion(), "", "pom" );
+                
+                if( pomArtifact != null )
+                {
+                    Artifact artifact = new Artifact( pomArtifact.getModel().getRepositoryId(), pomArtifact.getGroupId(), pomArtifact.getArtifactId(), pomArtifact.getVersion(),
+                                                      pomArtifact.getType() );
+                                                      //pomArtifact.getType(), pomArtifact.getModel().getWhenGathered() );
+                    artifacts.add( artifact );
+                }
+                else
+                {
+                    continue;
+                }
+            }
+            catch ( ObjectNotFoundException e )
             {
-                Artifact artifact = new Artifact( pomArtifact.getModel().getRepositoryId(), pomArtifact.getGroupId(), pomArtifact.getArtifactId(), pomArtifact.getVersion(),
-                                                  pomArtifact.getType(), pomArtifact.getModel().getWhenGathered() );
-                artifacts.add( artifact );
+                continue;
             }
-            else
+            catch ( ArchivaDatabaseException e )
             {
                 continue;
             }
@@ -137,8 +150,8 @@ public class SearchServiceImpl
         for( ArchivaArtifact archivaArtifact : artifacts )
         {
             Artifact artifact = new Artifact( archivaArtifact.getModel().getRepositoryId(), archivaArtifact.getModel().getGroupId(),
-                          archivaArtifact.getModel().getArtifactId(), archivaArtifact.getModel().getVersion(), archivaArtifact.getType(), 
-                          archivaArtifact.getModel().getWhenGathered() );
+                          archivaArtifact.getModel().getArtifactId(), archivaArtifact.getModel().getVersion(), archivaArtifact.getType() ); 
+                          //archivaArtifact.getModel().getWhenGathered() );
             results.add( artifact );
         }
         
@@ -157,8 +170,8 @@ public class SearchServiceImpl
         for( String version : results.getVersions() )
         {
             ArchivaArtifact pomArtifact = artifactDAO.getArtifact( groupId, artifactId, version, "", "pom" );
-            Artifact artifact = new Artifact( "", groupId, artifactId, version, pomArtifact.getType(), 
-                          pomArtifact.getModel().getWhenGathered() );
+            Artifact artifact = new Artifact( "", groupId, artifactId, version, pomArtifact.getType() ); 
+                          //pomArtifact.getModel().getWhenGathered() );
             
             artifacts.add( artifact );
         }
@@ -222,7 +235,9 @@ public class SearchServiceImpl
         List<ArchivaProjectModel> dependees = repoBrowsing.getUsedBy( "", observableRepos, "org.apache.archiva", "archiva-test", "1.0" );
         for( ArchivaProjectModel model : dependees )
         {
-            Artifact artifact = new Artifact( "", model.getGroupId(), model.getArtifactId(), model.getVersion(), "", model.getWhenIndexed() );
+            Artifact artifact =
+                new Artifact( "", model.getGroupId(), model.getArtifactId(), model.getVersion(), "" );
+                              //model.getWhenIndexed() );
             artifacts.add( artifact );
         }