fix some problems in invoking search service

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@732674 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Maria Odea B. Ching 2009-01-08 10:14:02 +00:00
parent 9158c2f5dc
commit d2190ff6a8
4 changed files with 56 additions and 23 deletions

View File

@ -27,7 +27,7 @@ import org.apache.archiva.web.xmlrpc.api.beans.Dependency;
import com.atlassian.xmlrpc.ServiceObject; import com.atlassian.xmlrpc.ServiceObject;
@ServiceObject("Search") @ServiceObject("SearchService")
public interface SearchService public interface SearchService
{ {
/* /*

View File

@ -20,7 +20,6 @@ package org.apache.archiva.web.xmlrpc.api.beans;
*/ */
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
import com.atlassian.xmlrpc.ServiceBean; import com.atlassian.xmlrpc.ServiceBean;
import com.atlassian.xmlrpc.ServiceBeanField; import com.atlassian.xmlrpc.ServiceBeanField;
@ -39,22 +38,22 @@ public class Artifact
private String type; private String type;
private Date whenGathered; //private Date whenGathered;
public Artifact() public Artifact()
{ {
} }
public Artifact( String repositoryId, String groupId, String artifactId, String version, public Artifact( String repositoryId, String groupId, String artifactId, String version, String type )
String type, Date whenGathered ) // String type, Date whenGathered )
{ {
this.repositoryId = repositoryId; this.repositoryId = repositoryId;
this.groupId = groupId; this.groupId = groupId;
this.artifactId = artifactId; this.artifactId = artifactId;
this.version = version; this.version = version;
this.type = type; this.type = type;
this.whenGathered = whenGathered; //this.whenGathered = whenGathered;
} }
public String getGroupId() public String getGroupId()
@ -77,10 +76,10 @@ public class Artifact
return type; return type;
} }
public Date getWhenGathered() /*public Date getWhenGathered()
{ {
return whenGathered; return whenGathered;
} }*/
@ServiceBeanField( "groupId" ) @ServiceBeanField( "groupId" )
public void setGroupId( String groupId ) public void setGroupId( String groupId )
@ -106,11 +105,11 @@ public class Artifact
this.type = type; this.type = type;
} }
@ServiceBeanField( "whenGathered" ) /*@ServiceBeanField( "whenGathered" )
public void setWhenGathered( Date whenGathered ) public void setWhenGathered( Date whenGathered )
{ {
this.whenGathered = whenGathered; this.whenGathered = whenGathered;
} }*/
public String getRepositoryId() public String getRepositoryId()
{ {

View File

@ -23,6 +23,8 @@ import java.net.URL;
import java.util.List; import java.util.List;
import org.apache.archiva.web.xmlrpc.api.AdministrationService; 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.ManagedRepository;
import org.apache.archiva.web.xmlrpc.api.beans.RemoteRepository; 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' : " + System.out.println( "\nDeleted artifact 'javax.activation:activation:1.1' from repository 'internal' : " +
( (Boolean) success ).booleanValue() ); ( (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 ) catch ( BindingException e )
{ {

View 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.api.beans.Dependency;
import org.apache.archiva.web.xmlrpc.security.XmlRpcUserRepositories; import org.apache.archiva.web.xmlrpc.security.XmlRpcUserRepositories;
import org.apache.maven.archiva.database.ArchivaDAO; 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.ArtifactDAO;
import org.apache.maven.archiva.database.ObjectNotFoundException; import org.apache.maven.archiva.database.ObjectNotFoundException;
import org.apache.maven.archiva.database.browsing.BrowsingResults; import org.apache.maven.archiva.database.browsing.BrowsingResults;
@ -102,16 +103,28 @@ public class SearchServiceImpl
for( SearchResultHit hit : hits ) for( SearchResultHit hit : hits )
{ {
ArtifactDAO artifactDAO = archivaDAO.getArtifactDAO(); ArtifactDAO artifactDAO = archivaDAO.getArtifactDAO();
ArchivaArtifact pomArtifact = artifactDAO.getArtifact( try
hit.getGroupId(), hit.getArtifactId(), hit.getVersion(), "", "pom" );
if( pomArtifact != null )
{ {
Artifact artifact = new Artifact( pomArtifact.getModel().getRepositoryId(), pomArtifact.getGroupId(), pomArtifact.getArtifactId(), pomArtifact.getVersion(), ArchivaArtifact pomArtifact = artifactDAO.getArtifact(
pomArtifact.getType(), pomArtifact.getModel().getWhenGathered() ); hit.getGroupId(), hit.getArtifactId(), hit.getVersion(), "", "pom" );
artifacts.add( artifact );
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;
}
} }
else catch ( ObjectNotFoundException e )
{
continue;
}
catch ( ArchivaDatabaseException e )
{ {
continue; continue;
} }
@ -137,8 +150,8 @@ public class SearchServiceImpl
for( ArchivaArtifact archivaArtifact : artifacts ) for( ArchivaArtifact archivaArtifact : artifacts )
{ {
Artifact artifact = new Artifact( archivaArtifact.getModel().getRepositoryId(), archivaArtifact.getModel().getGroupId(), Artifact artifact = new Artifact( archivaArtifact.getModel().getRepositoryId(), archivaArtifact.getModel().getGroupId(),
archivaArtifact.getModel().getArtifactId(), archivaArtifact.getModel().getVersion(), archivaArtifact.getType(), archivaArtifact.getModel().getArtifactId(), archivaArtifact.getModel().getVersion(), archivaArtifact.getType() );
archivaArtifact.getModel().getWhenGathered() ); //archivaArtifact.getModel().getWhenGathered() );
results.add( artifact ); results.add( artifact );
} }
@ -157,8 +170,8 @@ public class SearchServiceImpl
for( String version : results.getVersions() ) for( String version : results.getVersions() )
{ {
ArchivaArtifact pomArtifact = artifactDAO.getArtifact( groupId, artifactId, version, "", "pom" ); ArchivaArtifact pomArtifact = artifactDAO.getArtifact( groupId, artifactId, version, "", "pom" );
Artifact artifact = new Artifact( "", groupId, artifactId, version, pomArtifact.getType(), Artifact artifact = new Artifact( "", groupId, artifactId, version, pomArtifact.getType() );
pomArtifact.getModel().getWhenGathered() ); //pomArtifact.getModel().getWhenGathered() );
artifacts.add( artifact ); artifacts.add( artifact );
} }
@ -222,7 +235,9 @@ public class SearchServiceImpl
List<ArchivaProjectModel> dependees = repoBrowsing.getUsedBy( "", observableRepos, "org.apache.archiva", "archiva-test", "1.0" ); List<ArchivaProjectModel> dependees = repoBrowsing.getUsedBy( "", observableRepos, "org.apache.archiva", "archiva-test", "1.0" );
for( ArchivaProjectModel model : dependees ) 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 ); artifacts.add( artifact );
} }